<?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>83109</bug_id>
          
          <creation_ts>2012-04-03 19:54:36 -0700</creation_ts>
          <short_desc>Followup to &quot;Call incrementStatsCounter directly&quot;</short_desc>
          <delta_ts>2012-04-18 09:29:45 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>82948</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Mark Pilgrim (Google)">pilgrim</assigned_to>
          <cc>abarth</cc>
    
    <cc>fishd</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>595164</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-04-03 19:54:36 -0700</bug_when>
    <thetext>Followup to &quot;Call incrementStatsCounter directly&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595165</commentid>
    <comment_count>1</comment_count>
      <attachid>135491</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-04-03 19:55:28 -0700</bug_when>
    <thetext>Created attachment 135491
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595216</commentid>
    <comment_count>2</comment_count>
      <attachid>135491</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-03 21:00:22 -0700</bug_when>
    <thetext>Comment on attachment 135491
Patch

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

&gt; Source/WebCore/bindings/v8/V8Proxy.h:49
&gt; +#define INC_STATS(name) PlatformSupport::incrementStatsCounter(name)

Sorry, I am a bit confused. You removed PlatformSupport::incrementStatsCounter in r113034, and thus PlatformSupport::incrementStatsCounter no longer exists... doesn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595231</commentid>
    <comment_count>3</comment_count>
      <attachid>135491</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-04-03 21:25:22 -0700</bug_when>
    <thetext>Comment on attachment 135491
Patch

Mark, you want to introduce an abstraction like &lt;http://trac.webkit.org/browser/trunk/Source/WebCore/platform/HistogramSupport.h&gt;, perhaps called StatsCounter.h.  We&apos;ll implement StatsCounterChromium.cpp via WebKit::Platform and other ports can implement StatsCounterWhatever.cpp however they like (if they want stats counting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595935</commentid>
    <comment_count>4</comment_count>
      <attachid>135681</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-04-04 14:23:30 -0700</bug_when>
    <thetext>Created attachment 135681
Work-in-Progress Patch, please ignore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595937</commentid>
    <comment_count>5</comment_count>
      <attachid>135681</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-04-04 14:24:04 -0700</bug_when>
    <thetext>Comment on attachment 135681
Work-in-Progress Patch, please ignore

Not ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604712</commentid>
    <comment_count>6</comment_count>
      <attachid>137680</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-04-18 07:05:49 -0700</bug_when>
    <thetext>Created attachment 137680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604720</commentid>
    <comment_count>7</comment_count>
      <attachid>137680</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-18 07:31:03 -0700</bug_when>
    <thetext>Comment on attachment 137680
Patch

Attachment 137680 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12430074</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604748</commentid>
    <comment_count>8</comment_count>
      <attachid>137693</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-04-18 08:14:57 -0700</bug_when>
    <thetext>Created attachment 137693
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604776</commentid>
    <comment_count>9</comment_count>
      <attachid>137693</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-18 08:43:40 -0700</bug_when>
    <thetext>Comment on attachment 137693
Patch

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

OK

&gt; Source/WebCore/platform/StatsCounter.h:38
&gt; +    static void incrementStatsCounter(const char* counterName);

Nit: &apos;counterName&apos; is not necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604781</commentid>
    <comment_count>10</comment_count>
      <attachid>137693</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-04-18 08:48:17 -0700</bug_when>
    <thetext>Comment on attachment 137693
Patch

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

&gt;&gt; Source/WebCore/platform/StatsCounter.h:38
&gt;&gt; +    static void incrementStatsCounter(const char* counterName);
&gt; 
&gt; Nit: &apos;counterName&apos; is not necessary.

Would you please remove this before commit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604784</commentid>
    <comment_count>11</comment_count>
      <attachid>137703</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-04-18 08:51:10 -0700</bug_when>
    <thetext>Created attachment 137703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604812</commentid>
    <comment_count>12</comment_count>
      <attachid>137703</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-18 09:29:39 -0700</bug_when>
    <thetext>Comment on attachment 137703
Patch

Clearing flags on attachment: 137703

Committed r114515: &lt;http://trac.webkit.org/changeset/114515&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604813</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-18 09:29:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135491</attachid>
            <date>2012-04-03 19:55:28 -0700</date>
            <delta_ts>2012-04-04 14:23:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83109-20120403225518.patch</filename>
            <type>text/plain</type>
            <size>1199</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzEzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA0LTAzICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBGb2xsb3d1cCB0byAiQ2Fs
bCBpbmNyZW1lbnRTdGF0c0NvdW50ZXIgZGlyZWN0bHkiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzEwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEluZGlyZWN0aW9uIGNhbGwgdGhyb3VnaCBQbGF0Zm9y
bVN1cHBvcnQgaXMgc3RpbGwgbmVjZXNzYXJ5IGhlcmUuCisKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9WOFByb3h5Lmg6CisKIDIwMTItMDQtMDMgIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUHJldmVudCBzcGVsbGNoZWNraW5nIHRleHQgcGFzdGVkIHRvIGFu
IGVsZW1lbnQgaGF2aW5nIHNwZWxsY2hlY2tpbmcgZGlzYWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFByb3h5LmgJKHJldmlzaW9uIDExMzEyOSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQAog
I2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgogCiAjaWYgZGVmaW5lZChFTkFCTEVf
RE9NX1NUQVRTX0NPVU5URVJTKSAmJiBQTEFURk9STShDSFJPTUlVTSkKLSNkZWZpbmUgSU5DX1NU
QVRTKG5hbWUpIHdlYmtpdFBsYXRmb3JtU3VwcG9ydCgpLT5pbmNyZW1lbnRTdGF0c0NvdW50ZXIo
bmFtZSkKKyNkZWZpbmUgSU5DX1NUQVRTKG5hbWUpIFBsYXRmb3JtU3VwcG9ydDo6aW5jcmVtZW50
U3RhdHNDb3VudGVyKG5hbWUpCiAjZWxzZQogI2RlZmluZSBJTkNfU1RBVFMobmFtZSkKICNlbmRp
Zgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135681</attachid>
            <date>2012-04-04 14:23:30 -0700</date>
            <delta_ts>2012-04-18 07:05:46 -0700</delta_ts>
            <desc>Work-in-Progress Patch, please ignore</desc>
            <filename>bug-83109-20120404172319.patch</filename>
            <type>text/plain</type>
            <size>7162</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzI0MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA0LTA0ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBGb2xsb3d1cCB0byAiQ2Fs
bCBpbmNyZW1lbnRTdGF0c0NvdW50ZXIgZGlyZWN0bHkiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzEwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgV29yay1pbi1Qcm9ncmVzcyBwYXRjaCB0aGF0IGlz
IG5vdCByZWFkeSBmb3IgcmV2aWV3IG9mIGFueSBraW5kLgorCisgICAgICAgICogcGxhdGZvcm0v
U3RhdHNDb3VudGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OlN0YXRzQ291bnRlcjo6aW5jcmVtZW50U3RhdHNDb3VudGVyKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9TdGF0c0NvdW50ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFN0YXRzQ291bnRlcik6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vU3RhdHNDb3Vu
dGVyQ2hyb21pdW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6U3RhdHNDb3VudGVyOjppbmNyZW1lbnRTdGF0c0NvdW50ZXIpOgorCiAyMDEyLTAzLTE1
ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1bGwgU2NyZWVu
IG1vZGUgc2hvdWxkIGNhbmNlbCBiZWZvcmUgbmF2aWdhdGlvbi4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1N0YXRzQ291bnRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU3RhdHNDb3VudGVyLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1N0YXRzQ291bnRlci5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU3RhdHNDb3VudGVyLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworICAgIHZvaWQgU3RhdHNDb3VudGVyOjppbmNyZW1lbnRTdGF0c0Nv
dW50ZXIoY29uc3QgY2hhciogbmFtZSkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3RhdHNDb3VudGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3RhdHNDb3VudGVyLmgJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdGF0c0NvdW50ZXIuaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICog
bWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgU3RhdHNDb3VudGVyX2gKKyNkZWZpbmUgU3RhdHNDb3VudGVy
X2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTdGF0c0NvdW50ZXIgeworcHVibGlj
OgorICAgIHN0YXRpYyB2b2lkIGluY3JlbWVudFN0YXRzQ291bnRlcihjb25zdCBjaGFyKiBuYW1l
KTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFN0YXRzQ291bnRl
cl9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TdGF0c0NvdW50ZXJD
aHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vU3RhdHNDb3VudGVyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vU3RhdHNDb3VudGVyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlN0YXRzQ291
bnRlci5oIgorCisjaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKwordm9pZCBTdGF0c0NvdW50ZXI6OmluY3JlbWVudFN0YXRzQ291bnRlcihjb25zdCBj
aGFyKiBuYW1lKQoreworICAgIFBsYXRmb3JtU3VwcG9ydDo6aW5jcmVtZW50U3RhdHNDb3VudGVy
KG5hbWUpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137680</attachid>
            <date>2012-04-18 07:05:49 -0700</date>
            <delta_ts>2012-04-18 08:14:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83109-20120418100536.patch</filename>
            <type>text/plain</type>
            <size>22488</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDUwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA0LTE4ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBGb2xsb3d1cCB0byAiQ2Fs
bCBpbmNyZW1lbnRTdGF0c0NvdW50ZXIgZGlyZWN0bHkiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzEwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IGluY3JlbWVudFN0YXRzQ291bnRlciBo
YXMgYmVlbiBtb3ZlZCBmcm9tCisgICAgICAgIFBsYXRmb3JtU3VwcG9ydC5oIHRvIFBsYXRmb3Jt
LmgsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byBjYWxsIGl0IGRpcmVjdGx5CisgICAgICAgIGZyb20g
V2ViQ29yZS9iaW5kaW5ncy92OC92OFByb3h5LmggKGZvciB0aGUgSU5DX1NUQVRTIG1hY3JvKS4g
VGhhdAorICAgICAgICBtZWFucyB3ZSBuZWVkIGEgbmV3IFN0YXRzQ291bnRlciBjbGFzcyBpbiBX
ZWJDb3JlL3BsYXRmb3JtLyBhbmQgYW4KKyAgICAgICAgaW1wbGVtZW50YXRpb24gaW4KKyAgICAg
ICAgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TdGF0c0NvdW50ZXJDaHJvbWl1bS5jcHAuIE90
aGVyIHBvcnRzCisgICAgICAgIGFyZSB3ZWxjb21lIHRvIGltcGxlbWVudCB0aGVpciBvd24gc3Rh
dHMgY291bnRlcnMgaWYgdGhleQorICAgICAgICB3aXNoLiBUaGlzIHBhdHRlcm4gd2FzIGJhc2Vk
IG9uIHRoZQorICAgICAgICBIaXN0b2dyYW1TdXBwb3J0L0hpc3RvZ3JhbVN1cHBvcnRDaHJvbWl1
bSBjbGFzc2VzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
djgvVjhQcm94eS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdv
cmtlckNvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGVk
aWNhdGVkV29ya2VyQ29udGV4dDo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4Tm90aWZpY2F0aW9uQ2VudGVyOjpjcmVhdGVIVE1MTm90aWZpY2F0
aW9uQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhOb3RpZmljYXRpb25DZW50ZXI6OmNy
ZWF0ZU5vdGlmaWNhdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4Tm90aWZpY2F0
aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlY4V29ya2VyQ29udGV4dDo6aW1wb3J0U2NyaXB0c0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlY4V29ya2VyQ29udGV4dDo6c2V0VGltZW91dENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlY4V29ya2VyQ29udGV4dDo6c2V0SW50ZXJ2YWxDYWxsYmFjayk6CisgICAgICAgICogcGxh
dGZvcm0vU3RhdHNDb3VudGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0YXRzQ291bnRlcjo6aW5jcmVtZW50U3RhdHNDb3VudGVyKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9TdGF0c0NvdW50ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFN0YXRzQ291bnRlcik6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vU3Rh
dHNDb3VudGVyQ2hyb21pdW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6U3RhdHNDb3VudGVyOjppbmNyZW1lbnRTdGF0c0NvdW50ZXIpOgorCiAyMDEy
LTA0LTE4ICBWaW5lZXQgQ2hhdWRoYXJ5ICA8cmdmNzQ4QG1vdG9yb2xhLmNvbT4KIAogICAgICAg
ICBBZGQgUGFzc1RoaXM9KiB0byBzdXBwb3J0IHRoZSBjYWxsYmFja3Mgd2hpY2ggcmVxdWlyZXMg
dG8gcGFzcyAidGhpcyIgdmFsdWUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
MTE0NTAwKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTExMTUsNiArMTExNSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9T
aGFyZWRCdWZmZXIuY3BwCiAgICAgcGxhdGZvcm0vU2hhcmVkQnVmZmVyQ2h1bmtSZWFkZXIuY3Bw
CiAgICAgcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwCisgICAgcGxhdGZvcm0vU3RhdHNDb3Vu
dGVyLmNwcAogICAgIHBsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuY3BwCiAgICAgcGxhdGZvcm0v
VGhyZWFkVGltZXJzLmNwcAogICAgIHBsYXRmb3JtL1RpbWVyLmNwcApJbmRleDogU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMTQ1MDApCisrKyBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zNTYxLDYgKzM1NjEsNyBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1
ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TU0xLZXlHZW5lcmF0b3IuaCBcCisJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU3RhdHNDb3VudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N1ZGRl
blRlcm1pbmF0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N1cHBsZW1lbnRhYmxl
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVRpbWUuaCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkJKHJldmlzaW9uIDExNDUwMCkKKysrIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdv
cmtpbmcgY29weSkKQEAgLTExNzksNiArMTE3OSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRm
b3JtL1Njcm9sbFZpZXcuY3BwIFwKICAgICBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwIFwKICAg
ICBwbGF0Zm9ybS9TaGFyZWRCdWZmZXJDaHVua1JlYWRlci5jcHAgXAorICAgIHBsYXRmb3JtL1N0
YXRzQ291bnRlci5jcHAgXAogICAgIHBsYXRmb3JtL3NxbC9TUUxpdGVBdXRob3JpemVyLmNwcCBc
CiAgICAgcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcCBcCiAgICAgcGxhdGZvcm0vc3Fs
L1NRTGl0ZUZpbGVTeXN0ZW0uY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDEx
NDUwMCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAt
MzE0LDYgKzMxNCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vU2VhcmNoUG9wdXBNZW51Lmgn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9TaGFyZWRCdWZmZXJDaHVua1JlYWRlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9y
bS9TdGF0c0NvdW50ZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vU3VwcGxlbWVudGFibGUu
aCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vU3lzdGVtVGltZS5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9UaGVtZS5oJywKQEAgLTMzMTYsNiArMzMxNyw3IEBACiAgICAgICAgICAgICAncGxh
dGZvcm0vY2hyb21pdW0vU2hhcmVkVGltZXJDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL1NvdW5kQ2hyb21pdW1Qb3NpeC5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL1NvdW5kQ2hyb21pdW1XaW4uY3BwJywKKyAgICAgICAgICAgICdwbGF0
Zm9ybS9jaHJvbWl1bS9TdGF0c0NvdW50ZXJDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL1N1ZGRlblRlcm1pbmF0aW9uQ2hyb21pdW0uY3BwJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwJywKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAx
MTQ1MDApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagko
d29ya2luZyBjb3B5KQpAQCAtMjc3OTgsNiArMjc3OTgsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cU3RhdHNDb3VudGVyLmNw
cCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxh
dGZvcm1cU3RhdHNDb3VudGVyLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFN1ZGRlblRlcm1pbmF0aW9uLmgiCiAJCQkJPgogCQkJ
PC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMTE0NTAwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01ODA1LDExICs1
ODA1LDEzIEBACiAJCUQ2MTlBMzA3MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlv
blNjb3BlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEQ2MTlBMzA1MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmNwcCAq
LzsgfTsKIAkJRDYxOUEzMDgxNDRFMDBCRTAwNEJDMzAyIC8qIENoaWxkTGlzdE11dGF0aW9uU2Nv
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MTlB
MzA2MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmggKi87IH07CiAJ
CUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5MyAvKiBIaXN0b2dyYW1TdXBwb3J0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1
QjJGOTMgLyogSGlzdG9ncmFtU3VwcG9ydC5oICovOyB9OworCQlENjMwRTJBQzE0OUJGMzQ0MDA1
QjJGOTQgLyogU3RhdHNDb3VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmgg
Ki87IH07CiAJCUQ2RTI3NkFGMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEQ2RTI3NkFEMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0
aW9uLmNwcCAqLzsgfTsKIAkJRDZFMjc2QjAxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEQ2RTI3NkFFMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uLmggKi87IH07CiAJCUQ2RTUyOEEzMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlv
bk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBENkU1MjhBMTE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNl
cnZlckludGVyZXN0R3JvdXAuY3BwICovOyB9OwogCQlENkU1MjhBNDE0OUE5MjZEMDBFRkUxRjMg
LyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTUyOEEyMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRh
dGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5oICovOyB9OwogCQlENkZEQUVGMzE0OUMwNjE5MDAz
N0IxRTEgLyogSGlzdG9ncmFtU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFt
U3VwcG9ydC5jcHAgKi87IH07CisJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0Nv
dW50ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RDZGREFFRjIxNDlDMDYxOTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgKi87IH07CiAJCUQ3
MEFENjU3MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDcwQUQ2NTUxM0UxMzQyQjAwNUI1MEI0
IC8qIFJlbmRlclJlZ2lvbi5jcHAgKi87IH07CiAJCUQ3MEFENjU4MTNFMTM0MkIwMDVCNTBCNCAv
KiBSZW5kZXJSZWdpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQ3MEFENjU2MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCAqLzsgfTsK
IAkJRDcyRjZENzkxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ3MkY2RDc3MTUz
MTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgKi87IH07CkBAIC0xMjkz
MSwxMSArMTI5MzMsMTMgQEAKIAkJRDYxOUEzMDUxNDRFMDBCRTAwNEJDMzAyIC8qIENoaWxkTGlz
dE11dGF0aW9uU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q2hpbGRMaXN0TXV0YXRpb25TY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQ2MTlBMzA2MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoaWxkTGlzdE11dGF0aW9uU2NvcGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjkzIC8q
IEhpc3RvZ3JhbVN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGlz
dG9ncmFtU3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlENjMwRTJBQjE0
OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN0YXRzQ291bnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
NkUyNzZBRDE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVy
UmVnaXN0cmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFMjc2QUUx
NDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkU1MjhBMTE0OUE5MjZEMDBFRkUxRjMg
LyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkU1MjhBMjE0OUE5MjZEMDBFRkUxRjMgLyogTXV0
YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlzdG9ncmFtU3VwcG9y
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3
QjFFMiAvKiBTdGF0c0NvdW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3RhdHNDb3VudGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcw
QUQ2NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJSZWdpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlENzBBRDY1NjEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclJlZ2lvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlENzJGNkQ3NzE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1Ro
cmVhZENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Rmxvd1RocmVhZENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjAzMDIsNiArMjAzMDYsOCBAQAogCQkJCTkzMzA5RUEwMDk5RUI3OEMwMDU2RTU4MSAvKiBTaGFy
ZWRUaW1lci5oICovLAogCQkJCTRCMzA0M0M2MEFFMDM3MDMwMEE4MjY0NyAvKiBTb3VuZC5oICov
LAogCQkJCUY1ODc4NjYyMDJERTNCMTEwMUVBNDEyMiAvKiBTU0xLZXlHZW5lcmF0b3IuaCAqLywK
KwkJCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVyLmNwcCAqLywKKwkJ
CQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi8sCiAJCQkJOTNC
MkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi8sCiAJCQkJOTc2
MjdCOTcxNEZCNTQyNDAwMkNEQ0ExIC8qIFN1cHBsZW1lbnRhYmxlLmggKi8sCiAJCQkJOTNFNjJE
OTkwOTg1RjQxNjAwRTFCNUUzIC8qIFN5c3RlbVRpbWUuaCAqLywKQEAgLTI0MjEyLDYgKzI0MjE4
LDcgQEAKIAkJCQk5M0YxOTk2MzA4MjQ1RTU5MDAxRTlBQkMgLyogU1NMS2V5R2VuZXJhdG9yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDRUEzOTQ5RDExRDQ1Q0RBMDAzMDk0Q0YgLyogU3RhdGljSGFz
aFNldE5vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzdGQTYyRDBEMUYwRUZGMDBEQjIy
QTkgLyogU3RhdGljTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUQ2MzBFMkFDMTQ5QkYz
NDQwMDVCMkY5NCAvKiBTdGF0c0NvdW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1QUZCMzUw
MTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQkUz
N0UwMERBRUUwMEUwMDEwODVGQyAvKiBTdG9yYWdlQXJlYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzUxNjBFRUIxMDA0NTQzQTAwQTdDRUUyIC8qIFN0b3JhZ2VBcmVhSW1wbC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNzMzNiw2ICsyNzM0Myw3IEBACiAJCQkJOTNGMTlBRTYwODI0NUU1OTAwMUU5QUJD
IC8qIFNTTEtleUdlbmVyYXRvck1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRUEzOTQ5QzEx
RDQ1Q0RBMDAzMDk0Q0YgLyogU3RhdGljSGFzaFNldE5vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDN0ZBNjJFMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNOb2RlTGlzdC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1QUZCMzRGMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVw
UmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFFM0Y5QzcwREEwNTlEQzAwMjUwOTExIC8q
IFN0b3JhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzUxNjBFRUExMDA0NTQzQTAwQTdDRUUy
IC8qIFN0b3JhZ2VBcmVhSW1wbC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFByb3h5LmgJKHJldmlzaW9uIDExNDUwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAog
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiU2hhcmVkUGVyc2lzdGVu
dC5oIgorI2luY2x1ZGUgIlN0YXRzQ291bnRlci5oIgogI2luY2x1ZGUgIlY4QWJzdHJhY3RFdmVu
dExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiVjhET01XaW5kb3dTaGVsbC5oIgogI2luY2x1ZGUgIlY4
RE9NV3JhcHBlci5oIgpAQCAtNDYsNyArNDcsNyBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQ
b3NpdGlvbi5oPgogCiAjaWYgZGVmaW5lZChFTkFCTEVfRE9NX1NUQVRTX0NPVU5URVJTKSAmJiBQ
TEFURk9STShDSFJPTUlVTSkKLSNkZWZpbmUgSU5DX1NUQVRTKG5hbWUpIHdlYmtpdFBsYXRmb3Jt
U3VwcG9ydCgpLT5pbmNyZW1lbnRTdGF0c0NvdW50ZXIobmFtZSkKKyNkZWZpbmUgSU5DX1NUQVRT
KG5hbWUpIFN0YXRzQ291bnRlcjo6aW5jcmVtZW50U3RhdHNDb3VudGVyKG5hbWUpCiAjZWxzZQog
I2RlZmluZSBJTkNfU1RBVFMobmFtZSkKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29y
a2VyQ29udGV4dEN1c3RvbS5jcHAJKHJldmlzaW9uIDExNDUwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02NywxMyArNjcsMTMgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBoYW5kbGVQb3N0TQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
CiB7Ci0gICAgSU5DX1NUQVRTKEwiRE9NLkRlZGljYXRlZFdvcmtlckNvbnRleHQucG9zdE1lc3Nh
Z2UiKTsKKyAgICBJTkNfU1RBVFMoIkRPTS5EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LnBvc3RNZXNz
YWdlIik7CiAgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncywgZmFsc2Up
OwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojp3
ZWJraXRQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0g
ICAgSU5DX1NUQVRTKEwiRE9NLkRlZGljYXRlZFdvcmtlckNvbnRleHQucG9zdE1lc3NhZ2UiKTsK
KyAgICBJTkNfU1RBVFMoIkRPTS5EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LnBvc3RNZXNzYWdlIik7
CiAgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncywgdHJ1ZSk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNl
bnRlckN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAkocmV2aXNpb24gMTE0NTAwKQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVy
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbkNlbnRlcjo6Y3Jl
YXRlSFRNTE5vdGlmaWNhdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7
Ci0gICAgSU5DX1NUQVRTKEwiRE9NLk5vdGlmaWNhdGlvbkNlbnRlci5DcmVhdGVIVE1MTm90aWZp
Y2F0aW9uKCkiKTsKKyAgICBJTkNfU1RBVFMoIkRPTS5Ob3RpZmljYXRpb25DZW50ZXIuQ3JlYXRl
SFRNTE5vdGlmaWNhdGlvbigpIik7CiAgICAgTm90aWZpY2F0aW9uQ2VudGVyKiBub3RpZmljYXRp
b25DZW50ZXIgPSBWOE5vdGlmaWNhdGlvbkNlbnRlcjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7
CiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKQEAgLTY1LDcgKzY1LDcgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4Tm90aWZpY2F0aW9uQ2VudAogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhOb3RpZmljYXRpb25DZW50ZXI6OmNyZWF0ZU5vdGlmaWNhdGlvbkNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgSU5DX1NUQVRTKEwiRE9NLk5vdGlmaWNhdGlvbkNl
bnRlci5DcmVhdGVOb3RpZmljYXRpb24oKSIpOworICAgIElOQ19TVEFUUygiRE9NLk5vdGlmaWNh
dGlvbkNlbnRlci5DcmVhdGVOb3RpZmljYXRpb24oKSIpOwogICAgIE5vdGlmaWNhdGlvbkNlbnRl
ciogbm90aWZpY2F0aW9uQ2VudGVyID0gVjhOb3RpZmljYXRpb25DZW50ZXI6OnRvTmF0aXZlKGFy
Z3MuSG9sZGVyKCkpOwogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CkBAIC04MCw3ICs4MCw3
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbkNlbnQKIAogdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4Tm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbkNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgSU5DX1NUQVRTKEwiRE9NLk5v
dGlmaWNhdGlvbkNlbnRlci5SZXF1ZXN0UGVybWlzc2lvbigpIik7CisgICAgSU5DX1NUQVRTKCJE
T00uTm90aWZpY2F0aW9uQ2VudGVyLlJlcXVlc3RQZXJtaXNzaW9uKCkiKTsKICAgICBOb3RpZmlj
YXRpb25DZW50ZXIqIG5vdGlmaWNhdGlvbkNlbnRlciA9IFY4Tm90aWZpY2F0aW9uQ2VudGVyOjp0
b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0ID0gbm90aWZpY2F0aW9uQ2VudGVyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0
b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFdvcmtlckNvbnRleHRDdXN0b20uY3BwCShyZXZpc2lvbiAxMTQ1MDApCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODgsNyArODgsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gU2V0VGltZW91
dE9ySW50ZXJ2CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdvcmtlckNvbnRleHQ6OmltcG9y
dFNjcmlwdHNDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewotICAgIElOQ19T
VEFUUyhMIkRPTS5Xb3JrZXJDb250ZXh0LmltcG9ydFNjcmlwdHMoKSIpOworICAgIElOQ19TVEFU
UygiRE9NLldvcmtlckNvbnRleHQuaW1wb3J0U2NyaXB0cygpIik7CiAgICAgaWYgKCFhcmdzLkxl
bmd0aCgpKQogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogCkBAIC0xMTQsMTMgKzEx
NCwxMyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXb3JrZXJDb250ZXh0OjppCiAKIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOFdvcmtlckNvbnRleHQ6OnNldFRpbWVvdXRDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewotICAgIElOQ19TVEFUUyhMIkRPTS5Xb3JrZXJDb250
ZXh0LnNldFRpbWVvdXQoKSIpOworICAgIElOQ19TVEFUUygiRE9NLldvcmtlckNvbnRleHQuc2V0
VGltZW91dCgpIik7CiAgICAgcmV0dXJuIFNldFRpbWVvdXRPckludGVydmFsKGFyZ3MsIHRydWUp
OwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXb3JrZXJDb250ZXh0OjpzZXRJbnRlcnZh
bENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgSU5DX1NUQVRTKEwi
RE9NLldvcmtlckNvbnRleHQuc2V0SW50ZXJ2YWwoKSIpOworICAgIElOQ19TVEFUUygiRE9NLldv
cmtlckNvbnRleHQuc2V0SW50ZXJ2YWwoKSIpOwogICAgIHJldHVybiBTZXRUaW1lb3V0T3JJbnRl
cnZhbChhcmdzLCBmYWxzZSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0
YXRzQ291bnRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3Rh
dHNDb3VudGVyLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0
YXRzQ291bnRlci5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiU3RhdHNDb3VudGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kwordm9pZCBTdGF0c0NvdW50ZXI6OmluY3JlbWVudFN0YXRzQ291bnRlcihjb25zdCBjaGFyKiBu
YW1lKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TdGF0c0NvdW50ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TdGF0c0NvdW50ZXIuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1N0YXRzQ291bnRlci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQzIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICog
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRp
c3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRl
ZiBTdGF0c0NvdW50ZXJfaAorI2RlZmluZSBTdGF0c0NvdW50ZXJfaAorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFN0YXRzQ291bnRlciB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQg
aW5jcmVtZW50U3RhdHNDb3VudGVyKGNvbnN0IGNoYXIqIG5hbWUpOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gU3RhdHNDb3VudGVyX2gKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1N0YXRzQ291bnRlckNocm9taXVtLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TdGF0c0NvdW50ZXJDaHJv
bWl1bS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9TdGF0c0NvdW50ZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU3RhdHNDb3VudGVyLmgiCisKKyNpbmNsdWRl
IDxwdWJsaWMvUGxhdGZvcm0uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIFN0YXRz
Q291bnRlcjo6aW5jcmVtZW50U3RhdHNDb3VudGVyKGNvbnN0IGNoYXIqIG5hbWUpCit7CisgICAg
V2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5pbmNyZW1lbnRTdGF0c0NvdW50ZXIobmFtZSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137693</attachid>
            <date>2012-04-18 08:14:57 -0700</date>
            <delta_ts>2012-04-18 08:51:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83109-20120418111444.patch</filename>
            <type>text/plain</type>
            <size>22504</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDUwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA0LTE4ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBGb2xsb3d1cCB0byAiQ2Fs
bCBpbmNyZW1lbnRTdGF0c0NvdW50ZXIgZGlyZWN0bHkiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzEwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IGluY3JlbWVudFN0YXRzQ291bnRlciBo
YXMgYmVlbiBtb3ZlZCBmcm9tCisgICAgICAgIFBsYXRmb3JtU3VwcG9ydC5oIHRvIFBsYXRmb3Jt
LmgsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byBjYWxsIGl0IGRpcmVjdGx5CisgICAgICAgIGZyb20g
V2ViQ29yZS9iaW5kaW5ncy92OC92OFByb3h5LmggKGZvciB0aGUgSU5DX1NUQVRTIG1hY3JvKS4g
VGhhdAorICAgICAgICBtZWFucyB3ZSBuZWVkIGEgbmV3IFN0YXRzQ291bnRlciBjbGFzcyBpbiBX
ZWJDb3JlL3BsYXRmb3JtLyBhbmQgYW4KKyAgICAgICAgaW1wbGVtZW50YXRpb24gaW4KKyAgICAg
ICAgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TdGF0c0NvdW50ZXJDaHJvbWl1bS5jcHAuIE90
aGVyIHBvcnRzCisgICAgICAgIGFyZSB3ZWxjb21lIHRvIGltcGxlbWVudCB0aGVpciBvd24gc3Rh
dHMgY291bnRlcnMgaWYgdGhleQorICAgICAgICB3aXNoLiBUaGlzIHBhdHRlcm4gd2FzIGJhc2Vk
IG9uIHRoZQorICAgICAgICBIaXN0b2dyYW1TdXBwb3J0L0hpc3RvZ3JhbVN1cHBvcnRDaHJvbWl1
bSBjbGFzc2VzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
djgvVjhQcm94eS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdv
cmtlckNvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGVk
aWNhdGVkV29ya2VyQ29udGV4dDo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4Tm90aWZpY2F0aW9uQ2VudGVyOjpjcmVhdGVIVE1MTm90aWZpY2F0
aW9uQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhOb3RpZmljYXRpb25DZW50ZXI6OmNy
ZWF0ZU5vdGlmaWNhdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4Tm90aWZpY2F0
aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlY4V29ya2VyQ29udGV4dDo6aW1wb3J0U2NyaXB0c0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlY4V29ya2VyQ29udGV4dDo6c2V0VGltZW91dENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlY4V29ya2VyQ29udGV4dDo6c2V0SW50ZXJ2YWxDYWxsYmFjayk6CisgICAgICAgICogcGxh
dGZvcm0vU3RhdHNDb3VudGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0YXRzQ291bnRlcjo6aW5jcmVtZW50U3RhdHNDb3VudGVyKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9TdGF0c0NvdW50ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFN0YXRzQ291bnRlcik6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vU3Rh
dHNDb3VudGVyQ2hyb21pdW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6U3RhdHNDb3VudGVyOjppbmNyZW1lbnRTdGF0c0NvdW50ZXIpOgorCiAyMDEy
LTA0LTE4ICBWaW5lZXQgQ2hhdWRoYXJ5ICA8cmdmNzQ4QG1vdG9yb2xhLmNvbT4KIAogICAgICAg
ICBBZGQgUGFzc1RoaXM9KiB0byBzdXBwb3J0IHRoZSBjYWxsYmFja3Mgd2hpY2ggcmVxdWlyZXMg
dG8gcGFzcyAidGhpcyIgdmFsdWUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
MTE0NTAwKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTExMTUsNiArMTExNSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9T
aGFyZWRCdWZmZXIuY3BwCiAgICAgcGxhdGZvcm0vU2hhcmVkQnVmZmVyQ2h1bmtSZWFkZXIuY3Bw
CiAgICAgcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwCisgICAgcGxhdGZvcm0vU3RhdHNDb3Vu
dGVyLmNwcAogICAgIHBsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuY3BwCiAgICAgcGxhdGZvcm0v
VGhyZWFkVGltZXJzLmNwcAogICAgIHBsYXRmb3JtL1RpbWVyLmNwcApJbmRleDogU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMTQ1MDApCisrKyBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zNTYxLDYgKzM1NjEsNyBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1
ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TU0xLZXlHZW5lcmF0b3IuaCBcCisJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU3RhdHNDb3VudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N1ZGRl
blRlcm1pbmF0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N1cHBsZW1lbnRhYmxl
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVRpbWUuaCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkJKHJldmlzaW9uIDExNDUwMCkKKysrIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdv
cmtpbmcgY29weSkKQEAgLTExNzksNiArMTE3OSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRm
b3JtL1Njcm9sbFZpZXcuY3BwIFwKICAgICBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwIFwKICAg
ICBwbGF0Zm9ybS9TaGFyZWRCdWZmZXJDaHVua1JlYWRlci5jcHAgXAorICAgIHBsYXRmb3JtL1N0
YXRzQ291bnRlci5jcHAgXAogICAgIHBsYXRmb3JtL3NxbC9TUUxpdGVBdXRob3JpemVyLmNwcCBc
CiAgICAgcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcCBcCiAgICAgcGxhdGZvcm0vc3Fs
L1NRTGl0ZUZpbGVTeXN0ZW0uY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDEx
NDUwMCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAt
MzE0LDYgKzMxNCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vU2VhcmNoUG9wdXBNZW51Lmgn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9TaGFyZWRCdWZmZXJDaHVua1JlYWRlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9y
bS9TdGF0c0NvdW50ZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vU3VwcGxlbWVudGFibGUu
aCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vU3lzdGVtVGltZS5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9UaGVtZS5oJywKQEAgLTMzMTYsNiArMzMxNyw3IEBACiAgICAgICAgICAgICAncGxh
dGZvcm0vY2hyb21pdW0vU2hhcmVkVGltZXJDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL1NvdW5kQ2hyb21pdW1Qb3NpeC5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL1NvdW5kQ2hyb21pdW1XaW4uY3BwJywKKyAgICAgICAgICAgICdwbGF0
Zm9ybS9jaHJvbWl1bS9TdGF0c0NvdW50ZXJDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL1N1ZGRlblRlcm1pbmF0aW9uQ2hyb21pdW0uY3BwJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwJywKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAx
MTQ1MDApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagko
d29ya2luZyBjb3B5KQpAQCAtMjc3OTgsNiArMjc3OTgsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cU3RhdHNDb3VudGVyLmNw
cCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxh
dGZvcm1cU3RhdHNDb3VudGVyLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFN1ZGRlblRlcm1pbmF0aW9uLmgiCiAJCQkJPgogCQkJ
PC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMTE0NTAwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01ODA1LDExICs1
ODA1LDEzIEBACiAJCUQ2MTlBMzA3MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlv
blNjb3BlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEQ2MTlBMzA1MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmNwcCAq
LzsgfTsKIAkJRDYxOUEzMDgxNDRFMDBCRTAwNEJDMzAyIC8qIENoaWxkTGlzdE11dGF0aW9uU2Nv
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MTlB
MzA2MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmggKi87IH07CiAJ
CUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5MyAvKiBIaXN0b2dyYW1TdXBwb3J0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1
QjJGOTMgLyogSGlzdG9ncmFtU3VwcG9ydC5oICovOyB9OworCQlENjMwRTJBQzE0OUJGMzQ0MDA1
QjJGOTQgLyogU3RhdHNDb3VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmgg
Ki87IH07CiAJCUQ2RTI3NkFGMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEQ2RTI3NkFEMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0
aW9uLmNwcCAqLzsgfTsKIAkJRDZFMjc2QjAxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEQ2RTI3NkFFMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uLmggKi87IH07CiAJCUQ2RTUyOEEzMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlv
bk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBENkU1MjhBMTE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNl
cnZlckludGVyZXN0R3JvdXAuY3BwICovOyB9OwogCQlENkU1MjhBNDE0OUE5MjZEMDBFRkUxRjMg
LyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTUyOEEyMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRh
dGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5oICovOyB9OwogCQlENkZEQUVGMzE0OUMwNjE5MDAz
N0IxRTEgLyogSGlzdG9ncmFtU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFt
U3VwcG9ydC5jcHAgKi87IH07CisJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0Nv
dW50ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RDZGREFFRjIxNDlDMDYxOTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgKi87IH07CiAJCUQ3
MEFENjU3MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDcwQUQ2NTUxM0UxMzQyQjAwNUI1MEI0
IC8qIFJlbmRlclJlZ2lvbi5jcHAgKi87IH07CiAJCUQ3MEFENjU4MTNFMTM0MkIwMDVCNTBCNCAv
KiBSZW5kZXJSZWdpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQ3MEFENjU2MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCAqLzsgfTsK
IAkJRDcyRjZENzkxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ3MkY2RDc3MTUz
MTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgKi87IH07CkBAIC0xMjkz
MSwxMSArMTI5MzMsMTMgQEAKIAkJRDYxOUEzMDUxNDRFMDBCRTAwNEJDMzAyIC8qIENoaWxkTGlz
dE11dGF0aW9uU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q2hpbGRMaXN0TXV0YXRpb25TY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQ2MTlBMzA2MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoaWxkTGlzdE11dGF0aW9uU2NvcGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjkzIC8q
IEhpc3RvZ3JhbVN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGlz
dG9ncmFtU3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlENjMwRTJBQjE0
OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN0YXRzQ291bnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
NkUyNzZBRDE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVy
UmVnaXN0cmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFMjc2QUUx
NDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkU1MjhBMTE0OUE5MjZEMDBFRkUxRjMg
LyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkU1MjhBMjE0OUE5MjZEMDBFRkUxRjMgLyogTXV0
YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlzdG9ncmFtU3VwcG9y
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3
QjFFMiAvKiBTdGF0c0NvdW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3RhdHNDb3VudGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcw
QUQ2NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJSZWdpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlENzBBRDY1NjEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclJlZ2lvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlENzJGNkQ3NzE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1Ro
cmVhZENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Rmxvd1RocmVhZENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjAzMDIsNiArMjAzMDYsOCBAQAogCQkJCTkzMzA5RUEwMDk5RUI3OEMwMDU2RTU4MSAvKiBTaGFy
ZWRUaW1lci5oICovLAogCQkJCTRCMzA0M0M2MEFFMDM3MDMwMEE4MjY0NyAvKiBTb3VuZC5oICov
LAogCQkJCUY1ODc4NjYyMDJERTNCMTEwMUVBNDEyMiAvKiBTU0xLZXlHZW5lcmF0b3IuaCAqLywK
KwkJCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVyLmNwcCAqLywKKwkJ
CQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi8sCiAJCQkJOTNC
MkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi8sCiAJCQkJOTc2
MjdCOTcxNEZCNTQyNDAwMkNEQ0ExIC8qIFN1cHBsZW1lbnRhYmxlLmggKi8sCiAJCQkJOTNFNjJE
OTkwOTg1RjQxNjAwRTFCNUUzIC8qIFN5c3RlbVRpbWUuaCAqLywKQEAgLTI0MjEyLDYgKzI0MjE4
LDcgQEAKIAkJCQk5M0YxOTk2MzA4MjQ1RTU5MDAxRTlBQkMgLyogU1NMS2V5R2VuZXJhdG9yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDRUEzOTQ5RDExRDQ1Q0RBMDAzMDk0Q0YgLyogU3RhdGljSGFz
aFNldE5vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzdGQTYyRDBEMUYwRUZGMDBEQjIy
QTkgLyogU3RhdGljTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUQ2MzBFMkFDMTQ5QkYz
NDQwMDVCMkY5NCAvKiBTdGF0c0NvdW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1QUZCMzUw
MTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQkUz
N0UwMERBRUUwMEUwMDEwODVGQyAvKiBTdG9yYWdlQXJlYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzUxNjBFRUIxMDA0NTQzQTAwQTdDRUUyIC8qIFN0b3JhZ2VBcmVhSW1wbC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNzMzNiw2ICsyNzM0Myw3IEBACiAJCQkJOTNGMTlBRTYwODI0NUU1OTAwMUU5QUJD
IC8qIFNTTEtleUdlbmVyYXRvck1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRUEzOTQ5QzEx
RDQ1Q0RBMDAzMDk0Q0YgLyogU3RhdGljSGFzaFNldE5vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDN0ZBNjJFMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNOb2RlTGlzdC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1QUZCMzRGMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVw
UmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFFM0Y5QzcwREEwNTlEQzAwMjUwOTExIC8q
IFN0b3JhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzUxNjBFRUExMDA0NTQzQTAwQTdDRUUy
IC8qIFN0b3JhZ2VBcmVhSW1wbC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFByb3h5LmgJKHJldmlzaW9uIDExNDUwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAog
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiU2hhcmVkUGVyc2lzdGVu
dC5oIgorI2luY2x1ZGUgIlN0YXRzQ291bnRlci5oIgogI2luY2x1ZGUgIlY4QWJzdHJhY3RFdmVu
dExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiVjhET01XaW5kb3dTaGVsbC5oIgogI2luY2x1ZGUgIlY4
RE9NV3JhcHBlci5oIgpAQCAtNDYsNyArNDcsNyBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQ
b3NpdGlvbi5oPgogCiAjaWYgZGVmaW5lZChFTkFCTEVfRE9NX1NUQVRTX0NPVU5URVJTKSAmJiBQ
TEFURk9STShDSFJPTUlVTSkKLSNkZWZpbmUgSU5DX1NUQVRTKG5hbWUpIHdlYmtpdFBsYXRmb3Jt
U3VwcG9ydCgpLT5pbmNyZW1lbnRTdGF0c0NvdW50ZXIobmFtZSkKKyNkZWZpbmUgSU5DX1NUQVRT
KG5hbWUpIFN0YXRzQ291bnRlcjo6aW5jcmVtZW50U3RhdHNDb3VudGVyKG5hbWUpCiAjZWxzZQog
I2RlZmluZSBJTkNfU1RBVFMobmFtZSkKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29y
a2VyQ29udGV4dEN1c3RvbS5jcHAJKHJldmlzaW9uIDExNDUwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02NywxMyArNjcsMTMgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBoYW5kbGVQb3N0TQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
CiB7Ci0gICAgSU5DX1NUQVRTKEwiRE9NLkRlZGljYXRlZFdvcmtlckNvbnRleHQucG9zdE1lc3Nh
Z2UiKTsKKyAgICBJTkNfU1RBVFMoIkRPTS5EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LnBvc3RNZXNz
YWdlIik7CiAgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncywgZmFsc2Up
OwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojp3
ZWJraXRQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0g
ICAgSU5DX1NUQVRTKEwiRE9NLkRlZGljYXRlZFdvcmtlckNvbnRleHQucG9zdE1lc3NhZ2UiKTsK
KyAgICBJTkNfU1RBVFMoIkRPTS5EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LnBvc3RNZXNzYWdlIik7
CiAgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncywgdHJ1ZSk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNl
bnRlckN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAkocmV2aXNpb24gMTE0NTAwKQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVy
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbkNlbnRlcjo6Y3Jl
YXRlSFRNTE5vdGlmaWNhdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7
Ci0gICAgSU5DX1NUQVRTKEwiRE9NLk5vdGlmaWNhdGlvbkNlbnRlci5DcmVhdGVIVE1MTm90aWZp
Y2F0aW9uKCkiKTsKKyAgICBJTkNfU1RBVFMoIkRPTS5Ob3RpZmljYXRpb25DZW50ZXIuQ3JlYXRl
SFRNTE5vdGlmaWNhdGlvbigpIik7CiAgICAgTm90aWZpY2F0aW9uQ2VudGVyKiBub3RpZmljYXRp
b25DZW50ZXIgPSBWOE5vdGlmaWNhdGlvbkNlbnRlcjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7
CiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKQEAgLTY1LDcgKzY1LDcgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4Tm90aWZpY2F0aW9uQ2VudAogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhOb3RpZmljYXRpb25DZW50ZXI6OmNyZWF0ZU5vdGlmaWNhdGlvbkNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgSU5DX1NUQVRTKEwiRE9NLk5vdGlmaWNhdGlvbkNl
bnRlci5DcmVhdGVOb3RpZmljYXRpb24oKSIpOworICAgIElOQ19TVEFUUygiRE9NLk5vdGlmaWNh
dGlvbkNlbnRlci5DcmVhdGVOb3RpZmljYXRpb24oKSIpOwogICAgIE5vdGlmaWNhdGlvbkNlbnRl
ciogbm90aWZpY2F0aW9uQ2VudGVyID0gVjhOb3RpZmljYXRpb25DZW50ZXI6OnRvTmF0aXZlKGFy
Z3MuSG9sZGVyKCkpOwogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CkBAIC04MCw3ICs4MCw3
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbkNlbnQKIAogdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4Tm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbkNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgSU5DX1NUQVRTKEwiRE9NLk5v
dGlmaWNhdGlvbkNlbnRlci5SZXF1ZXN0UGVybWlzc2lvbigpIik7CisgICAgSU5DX1NUQVRTKCJE
T00uTm90aWZpY2F0aW9uQ2VudGVyLlJlcXVlc3RQZXJtaXNzaW9uKCkiKTsKICAgICBOb3RpZmlj
YXRpb25DZW50ZXIqIG5vdGlmaWNhdGlvbkNlbnRlciA9IFY4Tm90aWZpY2F0aW9uQ2VudGVyOjp0
b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0ID0gbm90aWZpY2F0aW9uQ2VudGVyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0
b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFdvcmtlckNvbnRleHRDdXN0b20uY3BwCShyZXZpc2lvbiAxMTQ1MDApCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODgsNyArODgsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gU2V0VGltZW91
dE9ySW50ZXJ2CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdvcmtlckNvbnRleHQ6OmltcG9y
dFNjcmlwdHNDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewotICAgIElOQ19T
VEFUUyhMIkRPTS5Xb3JrZXJDb250ZXh0LmltcG9ydFNjcmlwdHMoKSIpOworICAgIElOQ19TVEFU
UygiRE9NLldvcmtlckNvbnRleHQuaW1wb3J0U2NyaXB0cygpIik7CiAgICAgaWYgKCFhcmdzLkxl
bmd0aCgpKQogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogCkBAIC0xMTQsMTMgKzEx
NCwxMyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXb3JrZXJDb250ZXh0OjppCiAKIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOFdvcmtlckNvbnRleHQ6OnNldFRpbWVvdXRDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewotICAgIElOQ19TVEFUUyhMIkRPTS5Xb3JrZXJDb250
ZXh0LnNldFRpbWVvdXQoKSIpOworICAgIElOQ19TVEFUUygiRE9NLldvcmtlckNvbnRleHQuc2V0
VGltZW91dCgpIik7CiAgICAgcmV0dXJuIFNldFRpbWVvdXRPckludGVydmFsKGFyZ3MsIHRydWUp
OwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXb3JrZXJDb250ZXh0OjpzZXRJbnRlcnZh
bENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgSU5DX1NUQVRTKEwi
RE9NLldvcmtlckNvbnRleHQuc2V0SW50ZXJ2YWwoKSIpOworICAgIElOQ19TVEFUUygiRE9NLldv
cmtlckNvbnRleHQuc2V0SW50ZXJ2YWwoKSIpOwogICAgIHJldHVybiBTZXRUaW1lb3V0T3JJbnRl
cnZhbChhcmdzLCBmYWxzZSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0
YXRzQ291bnRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3Rh
dHNDb3VudGVyLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0
YXRzQ291bnRlci5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiU3RhdHNDb3VudGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kwordm9pZCBTdGF0c0NvdW50ZXI6OmluY3JlbWVudFN0YXRzQ291bnRlcihjb25zdCBjaGFyKikK
K3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU3RhdHNDb3VudGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU3RhdHNDb3VudGVyLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TdGF0c0NvdW50ZXIuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3Rh
dHNDb3VudGVyX2gKKyNkZWZpbmUgU3RhdHNDb3VudGVyX2gKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBTdGF0c0NvdW50ZXIgeworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIGluY3Jl
bWVudFN0YXRzQ291bnRlcihjb25zdCBjaGFyKiBjb3VudGVyTmFtZSk7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBTdGF0c0NvdW50ZXJfaApJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU3RhdHNDb3VudGVyQ2hyb21pdW0uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1N0YXRzQ291bnRlckNo
cm9taXVtLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL1N0YXRzQ291bnRlckNocm9taXVtLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTdGF0c0NvdW50ZXIuaCIKKworI2luY2x1
ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgU3Rh
dHNDb3VudGVyOjppbmNyZW1lbnRTdGF0c0NvdW50ZXIoY29uc3QgY2hhciogY291bnRlck5hbWUp
Cit7CisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5pbmNyZW1lbnRTdGF0c0NvdW50
ZXIoY291bnRlck5hbWUpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137703</attachid>
            <date>2012-04-18 08:51:10 -0700</date>
            <delta_ts>2012-04-18 09:29:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83109-20120418115056.patch</filename>
            <type>text/plain</type>
            <size>22492</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExNDUwMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA0LTE4ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBGb2xsb3d1cCB0byAiQ2Fs
bCBpbmNyZW1lbnRTdGF0c0NvdW50ZXIgZGlyZWN0bHkiCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzEwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyB0aGF0IGluY3JlbWVudFN0YXRzQ291bnRlciBo
YXMgYmVlbiBtb3ZlZCBmcm9tCisgICAgICAgIFBsYXRmb3JtU3VwcG9ydC5oIHRvIFBsYXRmb3Jt
LmgsIHdlIG5lZWQgdG8gYmUgYWJsZSB0byBjYWxsIGl0IGRpcmVjdGx5CisgICAgICAgIGZyb20g
V2ViQ29yZS9iaW5kaW5ncy92OC92OFByb3h5LmggKGZvciB0aGUgSU5DX1NUQVRTIG1hY3JvKS4g
VGhhdAorICAgICAgICBtZWFucyB3ZSBuZWVkIGEgbmV3IFN0YXRzQ291bnRlciBjbGFzcyBpbiBX
ZWJDb3JlL3BsYXRmb3JtLyBhbmQgYW4KKyAgICAgICAgaW1wbGVtZW50YXRpb24gaW4KKyAgICAg
ICAgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TdGF0c0NvdW50ZXJDaHJvbWl1bS5jcHAuIE90
aGVyIHBvcnRzCisgICAgICAgIGFyZSB3ZWxjb21lIHRvIGltcGxlbWVudCB0aGVpciBvd24gc3Rh
dHMgY291bnRlcnMgaWYgdGhleQorICAgICAgICB3aXNoLiBUaGlzIHBhdHRlcm4gd2FzIGJhc2Vk
IG9uIHRoZQorICAgICAgICBIaXN0b2dyYW1TdXBwb3J0L0hpc3RvZ3JhbVN1cHBvcnRDaHJvbWl1
bSBjbGFzc2VzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFr
ZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
djgvVjhQcm94eS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdv
cmtlckNvbnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4RGVk
aWNhdGVkV29ya2VyQ29udGV4dDo6d2Via2l0UG9zdE1lc3NhZ2VDYWxsYmFjayk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4Tm90aWZpY2F0aW9uQ2VudGVyOjpjcmVhdGVIVE1MTm90aWZpY2F0
aW9uQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6VjhOb3RpZmljYXRpb25DZW50ZXI6OmNy
ZWF0ZU5vdGlmaWNhdGlvbkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlY4Tm90aWZpY2F0
aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbkNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5n
cy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlY4V29ya2VyQ29udGV4dDo6aW1wb3J0U2NyaXB0c0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlY4V29ya2VyQ29udGV4dDo6c2V0VGltZW91dENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OlY4V29ya2VyQ29udGV4dDo6c2V0SW50ZXJ2YWxDYWxsYmFjayk6CisgICAgICAgICogcGxh
dGZvcm0vU3RhdHNDb3VudGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0YXRzQ291bnRlcjo6aW5jcmVtZW50U3RhdHNDb3VudGVyKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9TdGF0c0NvdW50ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFN0YXRzQ291bnRlcik6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vU3Rh
dHNDb3VudGVyQ2hyb21pdW0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6U3RhdHNDb3VudGVyOjppbmNyZW1lbnRTdGF0c0NvdW50ZXIpOgorCiAyMDEy
LTA0LTE4ICBWaW5lZXQgQ2hhdWRoYXJ5ICA8cmdmNzQ4QG1vdG9yb2xhLmNvbT4KIAogICAgICAg
ICBBZGQgUGFzc1RoaXM9KiB0byBzdXBwb3J0IHRoZSBjYWxsYmFja3Mgd2hpY2ggcmVxdWlyZXMg
dG8gcGFzcyAidGhpcyIgdmFsdWUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
MTE0NTAwKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTExMTUsNiArMTExNSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9T
aGFyZWRCdWZmZXIuY3BwCiAgICAgcGxhdGZvcm0vU2hhcmVkQnVmZmVyQ2h1bmtSZWFkZXIuY3Bw
CiAgICAgcGxhdGZvcm0vU2NoZW1lUmVnaXN0cnkuY3BwCisgICAgcGxhdGZvcm0vU3RhdHNDb3Vu
dGVyLmNwcAogICAgIHBsYXRmb3JtL1RocmVhZEdsb2JhbERhdGEuY3BwCiAgICAgcGxhdGZvcm0v
VGhyZWFkVGltZXJzLmNwcAogICAgIHBsYXRmb3JtL1RpbWVyLmNwcApJbmRleDogU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMTQ1MDApCisrKyBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zNTYxLDYgKzM1NjEsNyBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1
ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxWYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TU0xLZXlHZW5lcmF0b3IuaCBcCisJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU3RhdHNDb3VudGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N1ZGRl
blRlcm1pbmF0aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N1cHBsZW1lbnRhYmxl
LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N5c3RlbVRpbWUuaCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkJKHJldmlzaW9uIDExNDUwMCkKKysrIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdv
cmtpbmcgY29weSkKQEAgLTExNzksNiArMTE3OSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRm
b3JtL1Njcm9sbFZpZXcuY3BwIFwKICAgICBwbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwIFwKICAg
ICBwbGF0Zm9ybS9TaGFyZWRCdWZmZXJDaHVua1JlYWRlci5jcHAgXAorICAgIHBsYXRmb3JtL1N0
YXRzQ291bnRlci5jcHAgXAogICAgIHBsYXRmb3JtL3NxbC9TUUxpdGVBdXRob3JpemVyLmNwcCBc
CiAgICAgcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcCBcCiAgICAgcGxhdGZvcm0vc3Fs
L1NRTGl0ZUZpbGVTeXN0ZW0uY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDEx
NDUwMCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAt
MzE0LDYgKzMxNCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vU2VhcmNoUG9wdXBNZW51Lmgn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9TaGFyZWRCdWZmZXJDaHVua1JlYWRlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9y
bS9TdGF0c0NvdW50ZXIuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vU3VwcGxlbWVudGFibGUu
aCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vU3lzdGVtVGltZS5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9UaGVtZS5oJywKQEAgLTMzMTYsNiArMzMxNyw3IEBACiAgICAgICAgICAgICAncGxh
dGZvcm0vY2hyb21pdW0vU2hhcmVkVGltZXJDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL1NvdW5kQ2hyb21pdW1Qb3NpeC5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL1NvdW5kQ2hyb21pdW1XaW4uY3BwJywKKyAgICAgICAgICAgICdwbGF0
Zm9ybS9jaHJvbWl1bS9TdGF0c0NvdW50ZXJDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL1N1ZGRlblRlcm1pbmF0aW9uQ2hyb21pdW0uY3BwJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwJywKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAx
MTQ1MDApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagko
d29ya2luZyBjb3B5KQpAQCAtMjc3OTgsNiArMjc3OTgsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+
CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cU3RhdHNDb3VudGVyLmNw
cCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxh
dGZvcm1cU3RhdHNDb3VudGVyLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXFN1ZGRlblRlcm1pbmF0aW9uLmgiCiAJCQkJPgogCQkJ
PC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMTE0NTAwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01ODA1LDExICs1
ODA1LDEzIEBACiAJCUQ2MTlBMzA3MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlv
blNjb3BlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEQ2MTlBMzA1MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmNwcCAq
LzsgfTsKIAkJRDYxOUEzMDgxNDRFMDBCRTAwNEJDMzAyIC8qIENoaWxkTGlzdE11dGF0aW9uU2Nv
cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2MTlB
MzA2MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmggKi87IH07CiAJ
CUQ2MzBFMkFDMTQ5QkYzNDQwMDVCMkY5MyAvKiBIaXN0b2dyYW1TdXBwb3J0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1
QjJGOTMgLyogSGlzdG9ncmFtU3VwcG9ydC5oICovOyB9OworCQlENjMwRTJBQzE0OUJGMzQ0MDA1
QjJGOTQgLyogU3RhdHNDb3VudGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmgg
Ki87IH07CiAJCUQ2RTI3NkFGMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEQ2RTI3NkFEMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0
aW9uLmNwcCAqLzsgfTsKIAkJRDZFMjc2QjAxNDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2Jz
ZXJ2ZXJSZWdpc3RyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEQ2RTI3NkFFMTQ2Mzc0NTUwMDFEMjgwQSAvKiBNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uLmggKi87IH07CiAJCUQ2RTUyOEEzMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRhdGlv
bk9ic2VydmVySW50ZXJlc3RHcm91cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBENkU1MjhBMTE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNl
cnZlckludGVyZXN0R3JvdXAuY3BwICovOyB9OwogCQlENkU1MjhBNDE0OUE5MjZEMDBFRkUxRjMg
LyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ2RTUyOEEyMTQ5QTkyNkQwMEVGRTFGMyAvKiBNdXRh
dGlvbk9ic2VydmVySW50ZXJlc3RHcm91cC5oICovOyB9OwogCQlENkZEQUVGMzE0OUMwNjE5MDAz
N0IxRTEgLyogSGlzdG9ncmFtU3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFt
U3VwcG9ydC5jcHAgKi87IH07CisJCUQ2RkRBRUYzMTQ5QzA2MTkwMDM3QjFFMiAvKiBTdGF0c0Nv
dW50ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RDZGREFFRjIxNDlDMDYxOTAwMzdCMUUyIC8qIFN0YXRzQ291bnRlci5jcHAgKi87IH07CiAJCUQ3
MEFENjU3MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDcwQUQ2NTUxM0UxMzQyQjAwNUI1MEI0
IC8qIFJlbmRlclJlZ2lvbi5jcHAgKi87IH07CiAJCUQ3MEFENjU4MTNFMTM0MkIwMDVCNTBCNCAv
KiBSZW5kZXJSZWdpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQ3MEFENjU2MTNFMTM0MkIwMDVCNTBCNCAvKiBSZW5kZXJSZWdpb24uaCAqLzsgfTsK
IAkJRDcyRjZENzkxNTMxNTlBMzAwMUVFNDRFIC8qIEZsb3dUaHJlYWRDb250cm9sbGVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQ3MkY2RDc3MTUz
MTU5QTMwMDFFRTQ0RSAvKiBGbG93VGhyZWFkQ29udHJvbGxlci5jcHAgKi87IH07CkBAIC0xMjkz
MSwxMSArMTI5MzMsMTMgQEAKIAkJRDYxOUEzMDUxNDRFMDBCRTAwNEJDMzAyIC8qIENoaWxkTGlz
dE11dGF0aW9uU2NvcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q2hpbGRMaXN0TXV0YXRpb25TY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQ2MTlBMzA2MTQ0RTAwQkUwMDRCQzMwMiAvKiBDaGlsZExpc3RNdXRhdGlvblNjb3BlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoaWxkTGlzdE11dGF0aW9uU2NvcGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDYzMEUyQUIxNDlCRjM0NDAwNUIyRjkzIC8q
IEhpc3RvZ3JhbVN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGlz
dG9ncmFtU3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlENjMwRTJBQjE0
OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN0YXRzQ291bnRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
NkUyNzZBRDE0NjM3NDU1MDAxRDI4MEEgLyogTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNdXRhdGlvbk9ic2VydmVy
UmVnaXN0cmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZFMjc2QUUx
NDYzNzQ1NTAwMUQyODBBIC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkU1MjhBMTE0OUE5MjZEMDBFRkUxRjMg
LyogTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkU1MjhBMjE0OUE5MjZEMDBFRkUxRjMgLyogTXV0
YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRDZGREFFRjIxNDlDMDYxOTAwMzdCMUUxIC8qIEhpc3RvZ3JhbVN1cHBvcnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlzdG9ncmFtU3VwcG9y
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQ2RkRBRUYyMTQ5QzA2MTkwMDM3
QjFFMiAvKiBTdGF0c0NvdW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU3RhdHNDb3VudGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDcw
QUQ2NTUxM0UxMzQyQjAwNUI1MEI0IC8qIFJlbmRlclJlZ2lvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJSZWdpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlENzBBRDY1NjEzRTEzNDJCMDA1QjUwQjQgLyogUmVuZGVyUmVnaW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclJlZ2lvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlENzJGNkQ3NzE1MzE1OUEzMDAxRUU0NEUgLyogRmxvd1Ro
cmVhZENvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Rmxvd1RocmVhZENvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjAzMDIsNiArMjAzMDYsOCBAQAogCQkJCTkzMzA5RUEwMDk5RUI3OEMwMDU2RTU4MSAvKiBTaGFy
ZWRUaW1lci5oICovLAogCQkJCTRCMzA0M0M2MEFFMDM3MDMwMEE4MjY0NyAvKiBTb3VuZC5oICov
LAogCQkJCUY1ODc4NjYyMDJERTNCMTEwMUVBNDEyMiAvKiBTU0xLZXlHZW5lcmF0b3IuaCAqLywK
KwkJCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVyLmNwcCAqLywKKwkJ
CQlENjMwRTJBQjE0OUJGMzQ0MDA1QjJGOTQgLyogU3RhdHNDb3VudGVyLmggKi8sCiAJCQkJOTNC
MkQ4MTUwRjk5MjBEMjAwNkFFNkIyIC8qIFN1ZGRlblRlcm1pbmF0aW9uLmggKi8sCiAJCQkJOTc2
MjdCOTcxNEZCNTQyNDAwMkNEQ0ExIC8qIFN1cHBsZW1lbnRhYmxlLmggKi8sCiAJCQkJOTNFNjJE
OTkwOTg1RjQxNjAwRTFCNUUzIC8qIFN5c3RlbVRpbWUuaCAqLywKQEAgLTI0MjEyLDYgKzI0MjE4
LDcgQEAKIAkJCQk5M0YxOTk2MzA4MjQ1RTU5MDAxRTlBQkMgLyogU1NMS2V5R2VuZXJhdG9yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDRUEzOTQ5RDExRDQ1Q0RBMDAzMDk0Q0YgLyogU3RhdGljSGFz
aFNldE5vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzdGQTYyRDBEMUYwRUZGMDBEQjIy
QTkgLyogU3RhdGljTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCUQ2MzBFMkFDMTQ5QkYz
NDQwMDVCMkY5NCAvKiBTdGF0c0NvdW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1QUZCMzUw
MTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVwUmFuZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQkUz
N0UwMERBRUUwMEUwMDEwODVGQyAvKiBTdG9yYWdlQXJlYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzUxNjBFRUIxMDA0NTQzQTAwQTdDRUUyIC8qIFN0b3JhZ2VBcmVhSW1wbC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNzMzNiw2ICsyNzM0Myw3IEBACiAJCQkJOTNGMTlBRTYwODI0NUU1OTAwMUU5QUJD
IC8qIFNTTEtleUdlbmVyYXRvck1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRUEzOTQ5QzEx
RDQ1Q0RBMDAzMDk0Q0YgLyogU3RhdGljSGFzaFNldE5vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDN0ZBNjJFMEQxRjBFRkYwMERCMjJBOSAvKiBTdGF0aWNOb2RlTGlzdC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlENkZEQUVGMzE0OUMwNjE5MDAzN0IxRTIgLyogU3RhdHNDb3VudGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1QUZCMzRGMTE1MTUxQTcwMEIwNDVDQiAvKiBTdGVw
UmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFFM0Y5QzcwREEwNTlEQzAwMjUwOTExIC8q
IFN0b3JhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzUxNjBFRUExMDA0NTQzQTAwQTdDRUUy
IC8qIFN0b3JhZ2VBcmVhSW1wbC5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFByb3h5LmgJKHJldmlzaW9uIDExNDUwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAog
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiU2hhcmVkUGVyc2lzdGVu
dC5oIgorI2luY2x1ZGUgIlN0YXRzQ291bnRlci5oIgogI2luY2x1ZGUgIlY4QWJzdHJhY3RFdmVu
dExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiVjhET01XaW5kb3dTaGVsbC5oIgogI2luY2x1ZGUgIlY4
RE9NV3JhcHBlci5oIgpAQCAtNDYsNyArNDcsNyBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQ
b3NpdGlvbi5oPgogCiAjaWYgZGVmaW5lZChFTkFCTEVfRE9NX1NUQVRTX0NPVU5URVJTKSAmJiBQ
TEFURk9STShDSFJPTUlVTSkKLSNkZWZpbmUgSU5DX1NUQVRTKG5hbWUpIHdlYmtpdFBsYXRmb3Jt
U3VwcG9ydCgpLT5pbmNyZW1lbnRTdGF0c0NvdW50ZXIobmFtZSkKKyNkZWZpbmUgSU5DX1NUQVRT
KG5hbWUpIFN0YXRzQ291bnRlcjo6aW5jcmVtZW50U3RhdHNDb3VudGVyKG5hbWUpCiAjZWxzZQog
I2RlZmluZSBJTkNfU1RBVFMobmFtZSkKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29ya2VyQ29udGV4dEN1c3RvbS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RGVkaWNhdGVkV29y
a2VyQ29udGV4dEN1c3RvbS5jcHAJKHJldmlzaW9uIDExNDUwMCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERlZGljYXRlZFdvcmtlckNvbnRleHRDdXN0b20uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02NywxMyArNjcsMTMgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBoYW5kbGVQb3N0TQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0Ojpwb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
CiB7Ci0gICAgSU5DX1NUQVRTKEwiRE9NLkRlZGljYXRlZFdvcmtlckNvbnRleHQucG9zdE1lc3Nh
Z2UiKTsKKyAgICBJTkNfU1RBVFMoIkRPTS5EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LnBvc3RNZXNz
YWdlIik7CiAgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncywgZmFsc2Up
OwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhEZWRpY2F0ZWRXb3JrZXJDb250ZXh0Ojp3
ZWJraXRQb3N0TWVzc2FnZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0g
ICAgSU5DX1NUQVRTKEwiRE9NLkRlZGljYXRlZFdvcmtlckNvbnRleHQucG9zdE1lc3NhZ2UiKTsK
KyAgICBJTkNfU1RBVFMoIkRPTS5EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LnBvc3RNZXNzYWdlIik7
CiAgICAgcmV0dXJuIGhhbmRsZVBvc3RNZXNzYWdlQ2FsbGJhY2soYXJncywgdHJ1ZSk7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vdGlmaWNhdGlvbkNl
bnRlckN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVyQ3VzdG9tLmNwcAkocmV2aXNpb24gMTE0NTAwKQor
KysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm90aWZpY2F0aW9uQ2VudGVy
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbkNlbnRlcjo6Y3Jl
YXRlSFRNTE5vdGlmaWNhdGlvbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7
Ci0gICAgSU5DX1NUQVRTKEwiRE9NLk5vdGlmaWNhdGlvbkNlbnRlci5DcmVhdGVIVE1MTm90aWZp
Y2F0aW9uKCkiKTsKKyAgICBJTkNfU1RBVFMoIkRPTS5Ob3RpZmljYXRpb25DZW50ZXIuQ3JlYXRl
SFRNTE5vdGlmaWNhdGlvbigpIik7CiAgICAgTm90aWZpY2F0aW9uQ2VudGVyKiBub3RpZmljYXRp
b25DZW50ZXIgPSBWOE5vdGlmaWNhdGlvbkNlbnRlcjo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7
CiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKQEAgLTY1LDcgKzY1LDcgQEAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4Tm90aWZpY2F0aW9uQ2VudAogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
VjhOb3RpZmljYXRpb25DZW50ZXI6OmNyZWF0ZU5vdGlmaWNhdGlvbkNhbGxiYWNrKGNvbnN0IHY4
OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgSU5DX1NUQVRTKEwiRE9NLk5vdGlmaWNhdGlvbkNl
bnRlci5DcmVhdGVOb3RpZmljYXRpb24oKSIpOworICAgIElOQ19TVEFUUygiRE9NLk5vdGlmaWNh
dGlvbkNlbnRlci5DcmVhdGVOb3RpZmljYXRpb24oKSIpOwogICAgIE5vdGlmaWNhdGlvbkNlbnRl
ciogbm90aWZpY2F0aW9uQ2VudGVyID0gVjhOb3RpZmljYXRpb25DZW50ZXI6OnRvTmF0aXZlKGFy
Z3MuSG9sZGVyKCkpOwogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CkBAIC04MCw3ICs4MCw3
IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOE5vdGlmaWNhdGlvbkNlbnQKIAogdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IFY4Tm90aWZpY2F0aW9uQ2VudGVyOjpyZXF1ZXN0UGVybWlzc2lvbkNhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgSU5DX1NUQVRTKEwiRE9NLk5v
dGlmaWNhdGlvbkNlbnRlci5SZXF1ZXN0UGVybWlzc2lvbigpIik7CisgICAgSU5DX1NUQVRTKCJE
T00uTm90aWZpY2F0aW9uQ2VudGVyLlJlcXVlc3RQZXJtaXNzaW9uKCkiKTsKICAgICBOb3RpZmlj
YXRpb25DZW50ZXIqIG5vdGlmaWNhdGlvbkNlbnRlciA9IFY4Tm90aWZpY2F0aW9uQ2VudGVyOjp0
b05hdGl2ZShhcmdzLkhvbGRlcigpKTsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0ID0gbm90aWZpY2F0aW9uQ2VudGVyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdvcmtlckNvbnRleHRDdXN0
b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFdvcmtlckNvbnRleHRDdXN0b20uY3BwCShyZXZpc2lvbiAxMTQ1MDApCisrKyBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXb3JrZXJDb250ZXh0Q3VzdG9tLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODgsNyArODgsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gU2V0VGltZW91
dE9ySW50ZXJ2CiAKIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOFdvcmtlckNvbnRleHQ6OmltcG9y
dFNjcmlwdHNDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewotICAgIElOQ19T
VEFUUyhMIkRPTS5Xb3JrZXJDb250ZXh0LmltcG9ydFNjcmlwdHMoKSIpOworICAgIElOQ19TVEFU
UygiRE9NLldvcmtlckNvbnRleHQuaW1wb3J0U2NyaXB0cygpIik7CiAgICAgaWYgKCFhcmdzLkxl
bmd0aCgpKQogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogCkBAIC0xMTQsMTMgKzEx
NCwxMyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXb3JrZXJDb250ZXh0OjppCiAKIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOFdvcmtlckNvbnRleHQ6OnNldFRpbWVvdXRDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQogewotICAgIElOQ19TVEFUUyhMIkRPTS5Xb3JrZXJDb250
ZXh0LnNldFRpbWVvdXQoKSIpOworICAgIElOQ19TVEFUUygiRE9NLldvcmtlckNvbnRleHQuc2V0
VGltZW91dCgpIik7CiAgICAgcmV0dXJuIFNldFRpbWVvdXRPckludGVydmFsKGFyZ3MsIHRydWUp
OwogfQogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhXb3JrZXJDb250ZXh0OjpzZXRJbnRlcnZh
bENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7Ci0gICAgSU5DX1NUQVRTKEwi
RE9NLldvcmtlckNvbnRleHQuc2V0SW50ZXJ2YWwoKSIpOworICAgIElOQ19TVEFUUygiRE9NLldv
cmtlckNvbnRleHQuc2V0SW50ZXJ2YWwoKSIpOwogICAgIHJldHVybiBTZXRUaW1lb3V0T3JJbnRl
cnZhbChhcmdzLCBmYWxzZSk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0
YXRzQ291bnRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3Rh
dHNDb3VudGVyLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N0
YXRzQ291bnRlci5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0
aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiU3RhdHNDb3VudGVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kwordm9pZCBTdGF0c0NvdW50ZXI6OmluY3JlbWVudFN0YXRzQ291bnRlcihjb25zdCBjaGFyKikK
K3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU3RhdHNDb3VudGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU3RhdHNDb3VudGVyLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TdGF0c0NvdW50ZXIuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgU3Rh
dHNDb3VudGVyX2gKKyNkZWZpbmUgU3RhdHNDb3VudGVyX2gKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBTdGF0c0NvdW50ZXIgeworcHVibGljOgorICAgIHN0YXRpYyB2b2lkIGluY3Jl
bWVudFN0YXRzQ291bnRlcihjb25zdCBjaGFyKik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBTdGF0c0NvdW50ZXJfaApJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vU3RhdHNDb3VudGVyQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1N0YXRzQ291bnRlckNocm9taXVtLmNwcAko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1N0YXRzQ291
bnRlckNocm9taXVtLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJTdGF0c0NvdW50ZXIuaCIKKworI2luY2x1ZGUgPHB1YmxpYy9Q
bGF0Zm9ybS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgU3RhdHNDb3VudGVyOjpp
bmNyZW1lbnRTdGF0c0NvdW50ZXIoY29uc3QgY2hhciogY291bnRlck5hbWUpCit7CisgICAgV2Vi
S2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5pbmNyZW1lbnRTdGF0c0NvdW50ZXIoY291bnRlck5h
bWUpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>