<?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>60985</bug_id>
          
          <creation_ts>2011-05-17 13:49:10 -0700</creation_ts>
          <short_desc>[Chromium] WebKit/WebCore changes to support WebSQLDatabase integration with Chrome&apos;s unified quota management system.</short_desc>
          <delta_ts>2011-05-20 16:49:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Nordman">michaeln</reporter>
          <assigned_to name="Michael Nordman">michaeln</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dimich</cc>
    
    <cc>fishd</cc>
    
    <cc>kinuko</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>405271</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-05-17 13:49:10 -0700</bug_when>
    <thetext>Split WebDatabase::updateDatabaseSizeAndSpaceAvailable() into two methods to support unified quota management. Previously, in the silo&apos;d quota system, the only changes to databases could change the space available. In the new system changes in other systems can affect how much space is available for databases. So it&apos;s useful to split this method into two.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405280</commentid>
    <comment_count>1</comment_count>
      <attachid>93814</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-05-17 14:05:17 -0700</bug_when>
    <thetext>Created attachment 93814
split</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405281</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-17 14:06:57 -0700</bug_when>
    <thetext>Attachment 93814 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/storage/chromium/QuotaTracker.h:54:  Missing space after ,  [whitespace/comma] [3]
Source/WebKit/chromium/public/WebDatabase.h:63:  WEBKIT_API should not be used on a function with a body.  [readability/webkit_api] [5]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405366</commentid>
    <comment_count>3</comment_count>
      <attachid>93841</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-05-17 16:06:02 -0700</bug_when>
    <thetext>Created attachment 93841
split

fix style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405526</commentid>
    <comment_count>4</comment_count>
      <attachid>93841</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-05-17 22:51:22 -0700</bug_when>
    <thetext>Comment on attachment 93841
split

Looks good to me.

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

&gt; Source/WebCore/storage/chromium/QuotaTracker.h:52
&gt; +        unsigned long long databaseSize);

style nit: do we format this file chromium-style since it&apos;s under chromium directory?  (I often see files in chromium-style format under WebKit/chromium but not often under WebCore)

&gt; Source/WebKit/chromium/public/WebDatabase.h:59
&gt; +    // Deprecated

This should go away after chrome side change?  Maybe we should put a brief comment about that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405922</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-05-18 12:05:23 -0700</bug_when>
    <thetext>I have some other changes to make in this area before this is ready. Removing review flag for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406661</commentid>
    <comment_count>6</comment_count>
      <attachid>94119</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-05-19 14:40:37 -0700</bug_when>
    <thetext>Created attachment 94119
unified</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406664</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-19 14:43:28 -0700</bug_when>
    <thetext>Attachment 94119 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit/chromium/public/WebKitClient.h:143:  origin_identifier is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406669</commentid>
    <comment_count>8</comment_count>
      <attachid>94122</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-05-19 14:48:20 -0700</bug_when>
    <thetext>Created attachment 94122
unified

Fixed style.

The chrome-side can be seen here...
http://codereview.chromium.org/7037018/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406841</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-05-19 19:40:53 -0700</bug_when>
    <thetext>adding some reviewers to the cc list... we need get this in for M13</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406913</commentid>
    <comment_count>10</comment_count>
      <attachid>94122</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-05-20 00:08:46 -0700</bug_when>
    <thetext>Comment on attachment 94122
unified

This looks good to me except for some nits in ChangeLogs.

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        No new tests. (OOPS!)

I think here we need to say &apos;No functionality change therefore no new tests.&apos; or something like that.

&gt; Source/WebKit/chromium/ChangeLog:5
&gt; +        Changes to allow the WebDatabase system to participate in Chrome&apos;s unified quoata

typo: s/quoata/quota/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407190</commentid>
    <comment_count>11</comment_count>
      <attachid>94122</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-05-20 11:01:04 -0700</bug_when>
    <thetext>Comment on attachment 94122
unified

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

&gt; Source/WebKit/chromium/src/WebDatabase.cpp:98
&gt; +    WebCore::QuotaTracker::instance().updateDatabaseSize(originIdentifier, name, size);

WebCore:: prefixes not needed in this .cpp file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407278</commentid>
    <comment_count>12</comment_count>
      <attachid>94261</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2011-05-20 12:42:23 -0700</bug_when>
    <thetext>Created attachment 94261
unified

made all suggested changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407335</commentid>
    <comment_count>13</comment_count>
      <attachid>94261</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-05-20 14:42:58 -0700</bug_when>
    <thetext>Comment on attachment 94261
unified

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

A few minor comments. Nothing that really needs to be fixed before submitting.  (As I was writing this Darin r+&apos;ed.)

&gt; Source/WebCore/platform/chromium/PlatformBridge.h:171
&gt; +    // Returns the space available for the origin

Comment seems redundant with the method name.

&gt; Source/WebKit/chromium/ChangeLog:10
&gt; +        - WebDatabase::updateDatababaseSize()

typo: updateDatababaseSize

But ok.

&gt; Source/WebKit/chromium/public/WebKitClient.h:142
&gt; +    // Returns the space available for the given origin

This comment seems redundant with the method name.

&gt; Source/WebKit/chromium/src/WebDatabase.cpp:99
&gt; +#endif // ENABLE(DATABASE)

You really don&apos;t need &quot;// ENABLE(DATABASE)&quot; in WebKit especially for such a small if/endif region.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407402</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-20 16:47:20 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 94261:

http/tests/websocket/tests/multiple-connections.html bug 53825 (author: abarth@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407404</commentid>
    <comment_count>15</comment_count>
      <attachid>94261</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-20 16:48:58 -0700</bug_when>
    <thetext>Comment on attachment 94261
unified

Clearing flags on attachment: 94261

Committed r87001: &lt;http://trac.webkit.org/changeset/87001&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407405</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-20 16:49:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93814</attachid>
            <date>2011-05-17 14:05:17 -0700</date>
            <delta_ts>2011-05-17 16:06:02 -0700</delta_ts>
            <desc>split</desc>
            <filename>split.txt</filename>
            <type>text/plain</type>
            <size>6246</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2NzA0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMTcgIE1pY2hhZWwg
Tm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBTcGxpdCBXZWJEYXRhYmFzZTo6dXBk
YXRlRGF0YWJhc2VTaXplQW5kU3BhY2VBdmFpbGFibGUoKSBpbnRvIHR3byBtZXRob2RzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5ODUKKworICAg
ICAgICAqIHN0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlF1b3RhVHJhY2tlcjo6dXBkYXRlRGF0YWJhc2VTaXplKToKKyAgICAgICAgKFdlYkNvcmU6
OlF1b3RhVHJhY2tlcjo6dXBkYXRlU3BhY2VBdmFpbGFibGVUb09yaWdpbik6CisgICAgICAgICog
c3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuaDoKKwogMjAxMS0wNS0xNyAgQW5kcmV3IFdp
bHNvbiAgPGF0d2lsc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByODY2NDcuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1F1
b3RhVHJhY2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJv
bWl1bS9RdW90YVRyYWNrZXIuY3BwCShyZXZpc2lvbiA4NjY1MikKKysrIFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcs
MTYgKzU3LDIyIEBAIHZvaWQgUXVvdGFUcmFja2VyOjpnZXREYXRhYmFzZVNpemVBbmRTcGEKICAg
ICAqc3BhY2VBdmFpbGFibGUgPSBtX3NwYWNlQXZhaWxhYmxlVG9PcmlnaW5zLmdldChvcmlnaW5J
ZGVudGlmaWVyKTsKIH0KIAotdm9pZCBRdW90YVRyYWNrZXI6OnVwZGF0ZURhdGFiYXNlU2l6ZUFu
ZFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oCit2b2lkIFF1b3RhVHJhY2tlcjo6dXBkYXRlRGF0YWJh
c2VTaXplKAogICAgIGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBkYXRhYmFzZU5hbWUsCi0gICAgdW5zaWduZWQgbG9uZyBsb25nIGRhdGFiYXNlU2l6ZSwgdW5z
aWduZWQgbG9uZyBsb25nIHNwYWNlQXZhaWxhYmxlKQorICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBk
YXRhYmFzZVNpemUpCiB7CiAgICAgTXV0ZXhMb2NrZXIgbG9ja0RhdGEobV9kYXRhR3VhcmQpOwot
ICAgIG1fc3BhY2VBdmFpbGFibGVUb09yaWdpbnMuc2V0KG9yaWdpbklkZW50aWZpZXIsIHNwYWNl
QXZhaWxhYmxlKTsKICAgICBIYXNoTWFwPFN0cmluZywgU2l6ZU1hcD46Oml0ZXJhdG9yIGl0ID0g
bV9kYXRhYmFzZVNpemVzLmFkZChvcmlnaW5JZGVudGlmaWVyLCBTaXplTWFwKCkpLmZpcnN0Owog
ICAgIGl0LT5zZWNvbmQuc2V0KGRhdGFiYXNlTmFtZSwgZGF0YWJhc2VTaXplKTsKIH0KIAordm9p
ZCBRdW90YVRyYWNrZXI6OnVwZGF0ZVNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oCisgICAgY29uc3Qg
U3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCB1bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFpbGFi
bGUpCit7CisgICAgTXV0ZXhMb2NrZXIgbG9ja0RhdGEobV9kYXRhR3VhcmQpOworICAgIG1fc3Bh
Y2VBdmFpbGFibGVUb09yaWdpbnMuc2V0KG9yaWdpbklkZW50aWZpZXIsIHNwYWNlQXZhaWxhYmxl
KTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQpJbmRleDogU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5oCShyZXZpc2lvbiA4NjY1
MikKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGdldERhdGFi
YXNlU2l6ZUFuZFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oCiAgICAgICAgIGNvbnN0IFN0cmluZyYg
b3JpZ2luSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZU5hbWUsCiAgICAgICAgIHVu
c2lnbmVkIGxvbmcgbG9uZyogZGF0YWJhc2VTaXplLCB1bnNpZ25lZCBsb25nIGxvbmcqIHNwYWNl
QXZhaWxhYmxlKTsKLSAgICB2b2lkIHVwZGF0ZURhdGFiYXNlU2l6ZUFuZFNwYWNlQXZhaWxhYmxl
VG9PcmlnaW4oCisgICAgdm9pZCB1cGRhdGVEYXRhYmFzZVNpemUoCiAgICAgICAgIGNvbnN0IFN0
cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZU5hbWUsCi0gICAg
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkYXRhYmFzZVNpemUsIHVuc2lnbmVkIGxvbmcgbG9uZyBz
cGFjZUF2YWlsYWJsZSk7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkYXRhYmFzZVNpemUp
OworICAgIHZvaWQgdXBkYXRlU3BhY2VBdmFpbGFibGVUb09yaWdpbigKKyAgICAgICAgY29uc3Qg
U3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLHVuc2lnbmVkIGxvbmcgbG9uZyBzcGFjZUF2YWlsYWJs
ZSk7CiAKIHByaXZhdGU6CiAgICAgUXVvdGFUcmFja2VyKCkgeyB9CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkocmV2aXNpb24gODY3MDQpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDExLTA1LTE3ICBN
aWNoYWVsIE5vcmRtYW4gIDxtaWNoYWVsbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwbGl0IFdlYkRhdGFiYXNlOjp1cGRhdGVE
YXRhYmFzZVNpemVBbmRTcGFjZUF2YWlsYWJsZSgpIGludG8gdHdvIG1ldGhvZHMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDk4NQorCisgICAgICAg
ICogcHVibGljL1dlYkRhdGFiYXNlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlOjp1
cGRhdGVEYXRhYmFzZVNpemUpOgorICAgICAgICAqIHNyYy9XZWJEYXRhYmFzZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlOjp1cGRhdGVEYXRhYmFzZVNpemUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJEYXRhYmFzZTo6dXBkYXRlU3BhY2VBdmFpbGFibGUpOgorCiAyMDExLTA1LTE3
ICBBbmRyZXcgV2lsc29uICA8YXR3aWxzb25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHI4NjY0Ny4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkRhdGFiYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRGF0YWJhc2UuaAkocmV2aXNpb24gODY2NTIpCisrKyBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJEYXRhYmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MiwxMSAr
NTIsMjEgQEAgcHVibGljOgogICAgIFdFQktJVF9BUEkgc3RhdGljIFdlYkRhdGFiYXNlT2JzZXJ2
ZXIqIG9ic2VydmVyKCk7CiAKICAgICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIHVwZGF0ZURhdGFi
YXNlU2l6ZSgKLSAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25z
dCBXZWJTdHJpbmcmIGRhdGFiYXNlTmFtZSwKLSAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRh
dGFiYXNlU2l6ZSwgdW5zaWduZWQgbG9uZyBsb25nIHNwYWNlQXZhaWxhYmxlKTsKKyAgICAgICAg
Y29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUs
IHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKTsKKyAgICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIHVw
ZGF0ZVNwYWNlQXZhaWxhYmxlKAorICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG9yaWdpbklkZW50
aWZpZXIsIHVuc2lnbmVkIGxvbmcgbG9uZyBzcGFjZUF2YWlsYWJsZSk7CisKICAgICBXRUJLSVRf
QVBJIHN0YXRpYyB2b2lkIGNsb3NlRGF0YWJhc2VJbW1lZGlhdGVseSgKICAgICAgICAgY29uc3Qg
V2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIGRhdGFiYXNlTmFt
ZSk7CiAKKyAgICAvLyBEZXByZWN0YXRlZAorICAgIFdFQktJVF9BUEkgc3RhdGljIHZvaWQgdXBk
YXRlRGF0YWJhc2VTaXplKAorICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRp
ZmllciwgY29uc3QgV2ViU3RyaW5nJiBkYXRhYmFzZU5hbWUsCisgICAgICAgICAgdW5zaWduZWQg
bG9uZyBsb25nIGRhdGFiYXNlU2l6ZSwgdW5zaWduZWQgbG9uZyBsb25nIHNwYWNlQXZhaWxhYmxl
KSB7CisgICAgICAgIHVwZGF0ZURhdGFiYXNlU2l6ZShvcmlnaW5JZGVudGlmaWVyLCBkYXRhYmFz
ZU5hbWUsIGRhdGFiYXNlU2l6ZSk7CisgICAgICAgIHVwZGF0ZVNwYWNlQXZhaWxhYmxlKG9yaWdp
bklkZW50aWZpZXIsIHNwYWNlQXZhaWxhYmxlKTsKKyAgICB9CisKICNpZiBXRUJLSVRfSU1QTEVN
RU5UQVRJT04KICAgICBXZWJEYXRhYmFzZShjb25zdCBXZWJDb3JlOjpBYnN0cmFjdERhdGFiYXNl
Kik7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRhdGFiYXNl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEYXRhYmFz
ZS5jcHAJKHJldmlzaW9uIDg2NjUyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MiwxMyArOTIsMTcgQEAgV2ViRGF0YWJh
c2VPYnNlcnZlciogV2ViRGF0YWJhc2U6Om9ic2VydgogICAgIHJldHVybiBkYXRhYmFzZU9ic2Vy
dmVyOwogfQogCi12b2lkIFdlYkRhdGFiYXNlOjp1cGRhdGVEYXRhYmFzZVNpemUoCi0gICAgY29u
c3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIGRhdGFiYXNl
TmFtZSwKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgZGF0YWJhc2VTaXplLCB1bnNpZ25lZCBsb25n
IGxvbmcgc3BhY2VBdmFpbGFibGUpCit2b2lkIFdlYkRhdGFiYXNlOjp1cGRhdGVEYXRhYmFzZVNp
emUoY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIG5h
bWUsIHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKQogewogI2lmIEVOQUJMRShEQVRBQkFTRSkKLSAg
ICBXZWJDb3JlOjpRdW90YVRyYWNrZXI6Omluc3RhbmNlKCkudXBkYXRlRGF0YWJhc2VTaXplQW5k
U3BhY2VBdmFpbGFibGVUb09yaWdpbigKLSAgICAgICAgb3JpZ2luSWRlbnRpZmllciwgZGF0YWJh
c2VOYW1lLCBkYXRhYmFzZVNpemUsIHNwYWNlQXZhaWxhYmxlKTsKKyAgICBXZWJDb3JlOjpRdW90
YVRyYWNrZXI6Omluc3RhbmNlKCkudXBkYXRlRGF0YWJhc2VTaXplKG9yaWdpbklkZW50aWZpZXIs
IG5hbWUsIHNpemUpOworI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKK30KKwordm9pZCBXZWJE
YXRhYmFzZTo6dXBkYXRlU3BhY2VBdmFpbGFibGUoY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVu
dGlmaWVyLCB1bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFpbGFibGUpCit7CisjaWYgRU5BQkxF
KERBVEFCQVNFKQorICAgIFdlYkNvcmU6OlF1b3RhVHJhY2tlcjo6aW5zdGFuY2UoKS51cGRhdGVT
cGFjZUF2YWlsYWJsZVRvT3JpZ2luKG9yaWdpbklkZW50aWZpZXIsIHNwYWNlQXZhaWxhYmxlKTsK
ICNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93841</attachid>
            <date>2011-05-17 16:06:02 -0700</date>
            <delta_ts>2011-05-19 14:40:37 -0700</delta_ts>
            <desc>split</desc>
            <filename>split2.txt</filename>
            <type>text/plain</type>
            <size>6065</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2NzA0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMTcgIE1pY2hhZWwg
Tm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBTcGxpdCBXZWJEYXRhYmFzZTo6dXBk
YXRlRGF0YWJhc2VTaXplQW5kU3BhY2VBdmFpbGFibGUoKSBpbnRvIHR3byBtZXRob2RzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5ODUKKworICAg
ICAgICAqIHN0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlF1b3RhVHJhY2tlcjo6dXBkYXRlRGF0YWJhc2VTaXplKToKKyAgICAgICAgKFdlYkNvcmU6
OlF1b3RhVHJhY2tlcjo6dXBkYXRlU3BhY2VBdmFpbGFibGVUb09yaWdpbik6CisgICAgICAgICog
c3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuaDoKKwogMjAxMS0wNS0xNyAgQW5kcmV3IFdp
bHNvbiAgPGF0d2lsc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByODY2NDcuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1F1
b3RhVHJhY2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJv
bWl1bS9RdW90YVRyYWNrZXIuY3BwCShyZXZpc2lvbiA4NjY1MikKKysrIFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcs
MTYgKzU3LDIyIEBAIHZvaWQgUXVvdGFUcmFja2VyOjpnZXREYXRhYmFzZVNpemVBbmRTcGEKICAg
ICAqc3BhY2VBdmFpbGFibGUgPSBtX3NwYWNlQXZhaWxhYmxlVG9PcmlnaW5zLmdldChvcmlnaW5J
ZGVudGlmaWVyKTsKIH0KIAotdm9pZCBRdW90YVRyYWNrZXI6OnVwZGF0ZURhdGFiYXNlU2l6ZUFu
ZFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oCit2b2lkIFF1b3RhVHJhY2tlcjo6dXBkYXRlRGF0YWJh
c2VTaXplKAogICAgIGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBkYXRhYmFzZU5hbWUsCi0gICAgdW5zaWduZWQgbG9uZyBsb25nIGRhdGFiYXNlU2l6ZSwgdW5z
aWduZWQgbG9uZyBsb25nIHNwYWNlQXZhaWxhYmxlKQorICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBk
YXRhYmFzZVNpemUpCiB7CiAgICAgTXV0ZXhMb2NrZXIgbG9ja0RhdGEobV9kYXRhR3VhcmQpOwot
ICAgIG1fc3BhY2VBdmFpbGFibGVUb09yaWdpbnMuc2V0KG9yaWdpbklkZW50aWZpZXIsIHNwYWNl
QXZhaWxhYmxlKTsKICAgICBIYXNoTWFwPFN0cmluZywgU2l6ZU1hcD46Oml0ZXJhdG9yIGl0ID0g
bV9kYXRhYmFzZVNpemVzLmFkZChvcmlnaW5JZGVudGlmaWVyLCBTaXplTWFwKCkpLmZpcnN0Owog
ICAgIGl0LT5zZWNvbmQuc2V0KGRhdGFiYXNlTmFtZSwgZGF0YWJhc2VTaXplKTsKIH0KIAordm9p
ZCBRdW90YVRyYWNrZXI6OnVwZGF0ZVNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oCisgICAgY29uc3Qg
U3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCB1bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFpbGFi
bGUpCit7CisgICAgTXV0ZXhMb2NrZXIgbG9ja0RhdGEobV9kYXRhR3VhcmQpOworICAgIG1fc3Bh
Y2VBdmFpbGFibGVUb09yaWdpbnMuc2V0KG9yaWdpbklkZW50aWZpZXIsIHNwYWNlQXZhaWxhYmxl
KTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQpJbmRleDogU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5oCShyZXZpc2lvbiA4NjY1
MikKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGdldERhdGFi
YXNlU2l6ZUFuZFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oCiAgICAgICAgIGNvbnN0IFN0cmluZyYg
b3JpZ2luSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZU5hbWUsCiAgICAgICAgIHVu
c2lnbmVkIGxvbmcgbG9uZyogZGF0YWJhc2VTaXplLCB1bnNpZ25lZCBsb25nIGxvbmcqIHNwYWNl
QXZhaWxhYmxlKTsKLSAgICB2b2lkIHVwZGF0ZURhdGFiYXNlU2l6ZUFuZFNwYWNlQXZhaWxhYmxl
VG9PcmlnaW4oCisgICAgdm9pZCB1cGRhdGVEYXRhYmFzZVNpemUoCiAgICAgICAgIGNvbnN0IFN0
cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZU5hbWUsCi0gICAg
ICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkYXRhYmFzZVNpemUsIHVuc2lnbmVkIGxvbmcgbG9uZyBz
cGFjZUF2YWlsYWJsZSk7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkYXRhYmFzZVNpemUp
OworICAgIHZvaWQgdXBkYXRlU3BhY2VBdmFpbGFibGVUb09yaWdpbigKKyAgICAgICAgY29uc3Qg
U3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCB1bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFpbGFi
bGUpOwogCiBwcml2YXRlOgogICAgIFF1b3RhVHJhY2tlcigpIHsgfQpJbmRleDogU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2NzA0KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wNS0xNyAg
TWljaGFlbCBOb3JkbWFuICA8bWljaGFlbG5AZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGxpdCBXZWJEYXRhYmFzZTo6dXBkYXRl
RGF0YWJhc2VTaXplQW5kU3BhY2VBdmFpbGFibGUoKSBpbnRvIHR3byBtZXRob2RzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA5ODUKKworICAgICAg
ICAqIHB1YmxpYy9XZWJEYXRhYmFzZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZTo6
dXBkYXRlRGF0YWJhc2VTaXplKToKKyAgICAgICAgKiBzcmMvV2ViRGF0YWJhc2UuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZTo6dXBkYXRlRGF0YWJhc2VTaXplKToKKyAgICAgICAg
KFdlYktpdDo6V2ViRGF0YWJhc2U6OnVwZGF0ZVNwYWNlQXZhaWxhYmxlKToKKwogMjAxMS0wNS0x
NyAgQW5kcmV3IFdpbHNvbiAgPGF0d2lsc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByODY2NDcuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJEYXRhYmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkRhdGFiYXNlLmgJKHJldmlzaW9uIDg2NjUyKQorKysgU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViRGF0YWJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsOCAr
NTIsMTUgQEAgcHVibGljOgogICAgIFdFQktJVF9BUEkgc3RhdGljIFdlYkRhdGFiYXNlT2JzZXJ2
ZXIqIG9ic2VydmVyKCk7CiAKICAgICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIHVwZGF0ZURhdGFi
YXNlU2l6ZSgKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25z
dCBXZWJTdHJpbmcmIG5hbWUsIHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKTsKKyAgICBXRUJLSVRf
QVBJIHN0YXRpYyB2b2lkIHVwZGF0ZVNwYWNlQXZhaWxhYmxlKAorICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIHVuc2lnbmVkIGxvbmcgbG9uZyBzcGFjZUF2YWlsYWJs
ZSk7CisKKyAgICAvLyBEZXByZWNhdGVkCisgICAgV0VCS0lUX0FQSSBzdGF0aWMgdm9pZCB1cGRh
dGVEYXRhYmFzZVNpemUoCiAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRpZmll
ciwgY29uc3QgV2ViU3RyaW5nJiBkYXRhYmFzZU5hbWUsCiAgICAgICAgIHVuc2lnbmVkIGxvbmcg
bG9uZyBkYXRhYmFzZVNpemUsIHVuc2lnbmVkIGxvbmcgbG9uZyBzcGFjZUF2YWlsYWJsZSk7CisK
ICAgICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIGNsb3NlRGF0YWJhc2VJbW1lZGlhdGVseSgKICAg
ICAgICAgY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJpbmcm
IGRhdGFiYXNlTmFtZSk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRh
dGFiYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJE
YXRhYmFzZS5jcHAJKHJldmlzaW9uIDg2NjUyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MiwxMyArOTIsMjggQEAgV2Vi
RGF0YWJhc2VPYnNlcnZlciogV2ViRGF0YWJhc2U6Om9ic2VydgogICAgIHJldHVybiBkYXRhYmFz
ZU9ic2VydmVyOwogfQogCit2b2lkIFdlYkRhdGFiYXNlOjp1cGRhdGVEYXRhYmFzZVNpemUoY29u
c3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUsIHVu
c2lnbmVkIGxvbmcgbG9uZyBzaXplKQoreworI2lmIEVOQUJMRShEQVRBQkFTRSkKKyAgICBXZWJD
b3JlOjpRdW90YVRyYWNrZXI6Omluc3RhbmNlKCkudXBkYXRlRGF0YWJhc2VTaXplKG9yaWdpbklk
ZW50aWZpZXIsIG5hbWUsIHNpemUpOworI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKK30KKwor
dm9pZCBXZWJEYXRhYmFzZTo6dXBkYXRlU3BhY2VBdmFpbGFibGUoY29uc3QgV2ViU3RyaW5nJiBv
cmlnaW5JZGVudGlmaWVyLCB1bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFpbGFibGUpCit7Cisj
aWYgRU5BQkxFKERBVEFCQVNFKQorICAgIFdlYkNvcmU6OlF1b3RhVHJhY2tlcjo6aW5zdGFuY2Uo
KS51cGRhdGVTcGFjZUF2YWlsYWJsZVRvT3JpZ2luKG9yaWdpbklkZW50aWZpZXIsIHNwYWNlQXZh
aWxhYmxlKTsKKyNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCit9CisKKy8vIEZJWE1FOiBEZXBy
ZWNhdGVkCiB2b2lkIFdlYkRhdGFiYXNlOjp1cGRhdGVEYXRhYmFzZVNpemUoCiAgICAgY29uc3Qg
V2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIGRhdGFiYXNlTmFt
ZSwKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgZGF0YWJhc2VTaXplLCB1bnNpZ25lZCBsb25nIGxv
bmcgc3BhY2VBdmFpbGFibGUpCiB7CiAjaWYgRU5BQkxFKERBVEFCQVNFKQotICAgIFdlYkNvcmU6
OlF1b3RhVHJhY2tlcjo6aW5zdGFuY2UoKS51cGRhdGVEYXRhYmFzZVNpemVBbmRTcGFjZUF2YWls
YWJsZVRvT3JpZ2luKAotICAgICAgICBvcmlnaW5JZGVudGlmaWVyLCBkYXRhYmFzZU5hbWUsIGRh
dGFiYXNlU2l6ZSwgc3BhY2VBdmFpbGFibGUpOworICAgIHVwZGF0ZURhdGFiYXNlU2l6ZShvcmln
aW5JZGVudGlmaWVyLCBkYXRhYmFzZU5hbWUsIGRhdGFiYXNlU2l6ZSk7CisgICAgdXBkYXRlU3Bh
Y2VBdmFpbGFibGUob3JpZ2luSWRlbnRpZmllciwgc3BhY2VBdmFpbGFibGUpOwogI2VuZGlmIC8v
IEVOQUJMRShEQVRBQkFTRSkKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94119</attachid>
            <date>2011-05-19 14:40:37 -0700</date>
            <delta_ts>2011-05-19 14:48:20 -0700</delta_ts>
            <desc>unified</desc>
            <filename>unified.txt</filename>
            <type>text/plain</type>
            <size>11950</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2ODg4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMTkgIE1pY2hhZWwg
Tm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBTdXBwb3J0IHRoZSBuZXcgd2Via2l0
IGFwaXMgc28gdGhlIFdlYkRhdGFiYXNlIHN5c3RlbSBwYXJ0aWNpcGF0ZXMKKyAgICAgICAgaW4g
dGhlIHVuaWZpZWQgcXVvdGEgbWFuYWdlbWVudCBzeXN0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDk4NQorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4gKE9PUFMhKQorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1CcmlkZ2Uu
aDoKKyAgICAgICAgKiBzdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpRdW90YVRyYWNrZXI6OmdldERhdGFiYXNlU2l6ZUFuZFNwYWNlQXZhaWxhYmxl
VG9PcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UXVvdGFUcmFja2VyOjp1cGRhdGVEYXRhYmFz
ZVNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UXVvdGFUcmFja2VyOjp1cGRhdGVTcGFjZUF2YWls
YWJsZVRvT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlF1b3RhVHJhY2tlcjo6cmVzZXRTcGFj
ZUF2YWlsYWJsZVRvT3JpZ2luKToKKyAgICAgICAgKiBzdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJh
Y2tlci5oOgorCiAyMDExLTA1LTE5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODY4NjksIHI4Njg3
Mywgcjg2ODc1LCBhbmQgcjg2ODc3LgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vUGxhdGZvcm1CcmlkZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oCShyZXZpc2lvbiA4Njg3NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE2OCw2ICsxNjgsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGxvbmcgZGF0YWJhc2VH
ZXRGaWxlQXR0cmlidXRlcyhjb25zdCBTdHJpbmcmIHZmc0ZpbGVOYW1lKTsKICAgICAvLyBSZXR1
cm5zIHRoZSBzaXplIG9mIHRoZSBEQiBmaWxlCiAgICAgc3RhdGljIGxvbmcgbG9uZyBkYXRhYmFz
ZUdldEZpbGVTaXplKGNvbnN0IFN0cmluZyYgdmZzRmlsZU5hbWUpOworICAgIC8vIFJldHVybnMg
dGhlIHNwYWNlIGF2YWlsYWJsZSBmb3IgdGhlIG9yaWdpbgorICAgIHN0YXRpYyBsb25nIGxvbmcg
ZGF0YWJhc2VHZXRTcGFjZUF2YWlsYWJsZUZvck9yaWdpbihjb25zdCBTdHJpbmcmIG9yaWdpbklk
ZW50aWZpZXIpOwogCiAgICAgLy8gSW5kZXhlZERCIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJ
REJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4gaWRiRmFjdG9yeSgpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmNwcAkocmV2aXNpb24g
ODY4NzUpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlF1b3RhVHJhY2tlci5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQnJpZGdlLmgi
CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAKQEAgLTQ3LDI2ICs0OCw0NSBAQCB2b2lkIFF1b3Rh
VHJhY2tlcjo6Z2V0RGF0YWJhc2VTaXplQW5kU3BhCiAgICAgY29uc3QgU3RyaW5nJiBvcmlnaW5J
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwKICAgICB1bnNpZ25lZCBsb25n
IGxvbmcqIGRhdGFiYXNlU2l6ZSwgdW5zaWduZWQgbG9uZyBsb25nKiBzcGFjZUF2YWlsYWJsZSkK
IHsKLSAgICBNdXRleExvY2tlciBsb2NrRGF0YShtX2RhdGFHdWFyZCk7Ci0gICAgQVNTRVJUKG1f
ZGF0YWJhc2VTaXplcy5jb250YWlucyhvcmlnaW5JZGVudGlmaWVyKSk7Ci0gICAgSGFzaE1hcDxT
dHJpbmcsIFNpemVNYXA+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fZGF0YWJhc2VTaXplcy5maW5k
KG9yaWdpbklkZW50aWZpZXIpOwotICAgIEFTU0VSVChpdC0+c2Vjb25kLmNvbnRhaW5zKGRhdGFi
YXNlTmFtZSkpOwotICAgICpkYXRhYmFzZVNpemUgPSBpdC0+c2Vjb25kLmdldChkYXRhYmFzZU5h
bWUpOworICAgIC8vIEV4dHJhIHNjb3BlIHRvIHVubG9jayBwcmlvciB0byBwb3RlbnRpYWxseSBj
YWxsaW5nIFBsYXRmb3JtQnJpZGdlLgorICAgIHsKKyAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja0Rh
dGEobV9kYXRhR3VhcmQpOworICAgICAgICBBU1NFUlQobV9kYXRhYmFzZVNpemVzLmNvbnRhaW5z
KG9yaWdpbklkZW50aWZpZXIpKTsKKyAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFNpemVNYXA+Ojpj
b25zdF9pdGVyYXRvciBpdCA9IG1fZGF0YWJhc2VTaXplcy5maW5kKG9yaWdpbklkZW50aWZpZXIp
OworICAgICAgICBBU1NFUlQoaXQtPnNlY29uZC5jb250YWlucyhkYXRhYmFzZU5hbWUpKTsKKyAg
ICAgICAgKmRhdGFiYXNlU2l6ZSA9IGl0LT5zZWNvbmQuZ2V0KGRhdGFiYXNlTmFtZSk7CisKKyAg
ICAgICAgaWYgKG1fc3BhY2VBdmFpbGFibGVUb09yaWdpbnMuY29udGFpbnMob3JpZ2luSWRlbnRp
ZmllcikpIHsKKyAgICAgICAgICAgICpzcGFjZUF2YWlsYWJsZSA9IG1fc3BhY2VBdmFpbGFibGVU
b09yaWdpbnMuZ2V0KG9yaWdpbklkZW50aWZpZXIpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgfQogCi0gICAgQVNTRVJUKG1fc3BhY2VBdmFpbGFibGVUb09yaWdpbnMuY29u
dGFpbnMob3JpZ2luSWRlbnRpZmllcikpOwotICAgICpzcGFjZUF2YWlsYWJsZSA9IG1fc3BhY2VB
dmFpbGFibGVUb09yaWdpbnMuZ2V0KG9yaWdpbklkZW50aWZpZXIpOworICAgIC8vIFRoZSBlbWJl
ZGRlciBoYXNuJ3QgcHVzaGVkIHRoaXMgdmFsdWUgdG8gdXMsIHNvIHdlIHB1bGwgaXQgYXMgbmVl
ZGVkLgorICAgICpzcGFjZUF2YWlsYWJsZSA9IFBsYXRmb3JtQnJpZGdlOjpkYXRhYmFzZUdldFNw
YWNlQXZhaWxhYmxlRm9yT3JpZ2luKG9yaWdpbklkZW50aWZpZXIpOwogfQogCi12b2lkIFF1b3Rh
VHJhY2tlcjo6dXBkYXRlRGF0YWJhc2VTaXplQW5kU3BhY2VBdmFpbGFibGVUb09yaWdpbigKK3Zv
aWQgUXVvdGFUcmFja2VyOjp1cGRhdGVEYXRhYmFzZVNpemUoCiAgICAgY29uc3QgU3RyaW5nJiBv
cmlnaW5JZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwKLSAgICB1bnNpZ25l
ZCBsb25nIGxvbmcgZGF0YWJhc2VTaXplLCB1bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFpbGFi
bGUpCisgICAgdW5zaWduZWQgbG9uZyBsb25nIGRhdGFiYXNlU2l6ZSkKIHsKICAgICBNdXRleExv
Y2tlciBsb2NrRGF0YShtX2RhdGFHdWFyZCk7Ci0gICAgbV9zcGFjZUF2YWlsYWJsZVRvT3JpZ2lu
cy5zZXQob3JpZ2luSWRlbnRpZmllciwgc3BhY2VBdmFpbGFibGUpOwogICAgIEhhc2hNYXA8U3Ry
aW5nLCBTaXplTWFwPjo6aXRlcmF0b3IgaXQgPSBtX2RhdGFiYXNlU2l6ZXMuYWRkKG9yaWdpbklk
ZW50aWZpZXIsIFNpemVNYXAoKSkuZmlyc3Q7CiAgICAgaXQtPnNlY29uZC5zZXQoZGF0YWJhc2VO
YW1lLCBkYXRhYmFzZVNpemUpOwogfQogCit2b2lkIFF1b3RhVHJhY2tlcjo6dXBkYXRlU3BhY2VB
dmFpbGFibGVUb09yaWdpbihjb25zdCBTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIHVuc2lnbmVk
IGxvbmcgbG9uZyBzcGFjZUF2YWlsYWJsZSkKK3sKKyAgICBNdXRleExvY2tlciBsb2NrRGF0YSht
X2RhdGFHdWFyZCk7CisgICAgbV9zcGFjZUF2YWlsYWJsZVRvT3JpZ2lucy5zZXQob3JpZ2luSWRl
bnRpZmllciwgc3BhY2VBdmFpbGFibGUpOworfQorCit2b2lkIFF1b3RhVHJhY2tlcjo6cmVzZXRT
cGFjZUF2YWlsYWJsZVRvT3JpZ2luKGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllcikKK3sK
KyAgICBNdXRleExvY2tlciBsb2NrRGF0YShtX2RhdGFHdWFyZCk7CisgICAgbV9zcGFjZUF2YWls
YWJsZVRvT3JpZ2lucy5yZW1vdmUob3JpZ2luSWRlbnRpZmllcik7CiB9CiAKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKwogI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuaAkocmV2aXNpb24gODY4
NzUpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0NywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXREYXRh
YmFzZVNpemVBbmRTcGFjZUF2YWlsYWJsZVRvT3JpZ2luKAogICAgICAgICBjb25zdCBTdHJpbmcm
IG9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lLAogICAgICAgICB1
bnNpZ25lZCBsb25nIGxvbmcqIGRhdGFiYXNlU2l6ZSwgdW5zaWduZWQgbG9uZyBsb25nKiBzcGFj
ZUF2YWlsYWJsZSk7Ci0gICAgdm9pZCB1cGRhdGVEYXRhYmFzZVNpemVBbmRTcGFjZUF2YWlsYWJs
ZVRvT3JpZ2luKAorICAgIHZvaWQgdXBkYXRlRGF0YWJhc2VTaXplKAogICAgICAgICBjb25zdCBT
dHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lLAotICAg
ICAgICB1bnNpZ25lZCBsb25nIGxvbmcgZGF0YWJhc2VTaXplLCB1bnNpZ25lZCBsb25nIGxvbmcg
c3BhY2VBdmFpbGFibGUpOworICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgZGF0YWJhc2VTaXpl
KTsKKyAgICB2b2lkIHVwZGF0ZVNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oY29uc3QgU3RyaW5nJiBv
cmlnaW5JZGVudGlmaWVyLCB1bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFpbGFibGUpOworICAg
IHZvaWQgcmVzZXRTcGFjZUF2YWlsYWJsZVRvT3JpZ2luKGNvbnN0IFN0cmluZyYgb3JpZ2luSWRl
bnRpZmllcik7CiAKIHByaXZhdGU6CiAgICAgUXVvdGFUcmFja2VyKCkgeyB9CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gODY4ODcpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDExLTA1
LTE5ICBNaWNoYWVsIE5vcmRtYW4gIDxtaWNoYWVsbkBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZXMgdG8gYWxsb3cgdGhl
IFdlYkRhdGFiYXNlIHN5c3RlbSB0byBwYXJ0aWNpcGF0ZSBpbiBDaHJvbWUncyB1bmlmaWVkIHF1
b2F0YQorICAgICAgICBtYW5hZ2VtZW50IHN5c3RlbS4gTm93IHRoYXQgY2hhbmdlcyBvdXRzaWRl
IG9mIHRoZSBkYXRhYmFzZSBzeXN0ZW0gYWZmZWN0IHRoZSBzcGFjZQorICAgICAgICBhdmFpbGFi
bGUgdG8gdGhlIGRhdGFiYXNlIHN5c3RlbSwgd2UgbmVlZCBuZXcgd2F5cyBvZiBnZXR0aW5nIHRo
ZSBsaW1pdCB0byByZW5kZXJlcnMuCisKKyAgICAgICAgU3BsaXQgV2ViRGF0YWJhc2U6OnVwZGF0
ZURhdGFiYXNlU2l6ZUFuZFNwYWNlQXZhaWxhYmxlKCkgaW50byB0aHJlZSBtZXRob2RzLgorICAg
ICAgICAtIFdlYkRhdGFiYXNlOjp1cGRhdGVEYXRhYmFiYXNlU2l6ZSgpCisgICAgICAgIC0gV2Vi
RGF0YWJhc2U6OnVwZGF0ZVNwYWNlQXZhaWxhYmxlKCkKKyAgICAgICAgLSBXZWJEYXRhYmFzZTo6
cmVzZXRTcGFjZUF2YWlsYWJsZSgpCisgICAgICAgIFRoZSBXZWJEYXRhYmFzZSBtZXRob2RzIGFy
ZSB1c2VkIHRvICdwdXNoJyBzaXplIGFuZCBzcGFjZSBhdmFpbGFibGUgaW5mbyBpbnRvIHJlbmRl
cmVycy4KKyAgICAgICAgVGhlIHNwYWNlIGF2YWlsYWJsZSBjYW4gY2hhbmdlIGluZGVwZW5kZW50
bHkgb2YgYSBkYXRhYmFzZSBoYXZpbmcgY2hhbmdlZCBzaXplLgorCisgICAgICAgIEFsc28gcHJv
dmlkZSBhIG1lYW5zIGZvciB0aGUgcmVuZGVyZXIgdG8gJ3B1bGwnIHRoZSBzcGFjZSBhdmFpbGFi
bGUgZnJvbSB0aGUgbWFpbgorICAgICAgICBwcm9jZXNzIGlmIHRoYXQgdmFsdWUgaGFzIG5vdCBi
ZWVuIHB1c2hlZCBpbm90IGl0LgorICAgICAgICAtIFdlYkNvcmU6OlBsYXRmb3JtQnJpZGdlOjpk
YXRhYmFzZUdldFNwYWNlQXZhaWxhYmxlRm9yT3JpZ2luKCkKKyAgICAgICAgLSBXZWJLaXQ6Oldl
YktpdENsaWVudDo6ZGF0YWJhc2VHZXRTcGFjZUF2YWlsYWJsZUZvck9yaWdpbigpCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwOTg1CisKKyAgICAg
ICAgKiBwdWJsaWMvV2ViRGF0YWJhc2UuaDoKKyAgICAgICAgKiBwdWJsaWMvV2ViS2l0Q2xpZW50
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYktpdENsaWVudDo6ZGF0YWJhc2VHZXRTcGFjZUF2YWls
YWJsZUZvck9yaWdpbik6CisgICAgICAgICogc3JjL1BsYXRmb3JtQnJpZGdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtQnJpZGdlOjpkYXRhYmFzZUdldFNwYWNlQXZhaWxhYmxlRm9y
T3JpZ2luKToKKyAgICAgICAgKiBzcmMvV2ViRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJEYXRhYmFzZTo6dXBkYXRlRGF0YWJhc2VTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
RGF0YWJhc2U6OnVwZGF0ZVNwYWNlQXZhaWxhYmxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0
YWJhc2U6OnJlc2V0U3BhY2VBdmFpbGFibGUpOgorCiAyMDExLTA1LTE5ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByODY4NjksIHI4Njg3Mywgcjg2ODc1LCBhbmQgcjg2ODc3LgpJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRGF0YWJhc2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEYXRhYmFzZS5oCShyZXZpc2lvbiA4Njg3NSkK
KysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRhdGFiYXNlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUyLDExICs1MiwyMCBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0FQSSBzdGF0aWMg
V2ViRGF0YWJhc2VPYnNlcnZlciogb2JzZXJ2ZXIoKTsKIAogICAgIFdFQktJVF9BUEkgc3RhdGlj
IHZvaWQgdXBkYXRlRGF0YWJhc2VTaXplKAotICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG9yaWdp
bklkZW50aWZpZXIsIGNvbnN0IFdlYlN0cmluZyYgZGF0YWJhc2VOYW1lLAotICAgICAgICB1bnNp
Z25lZCBsb25nIGxvbmcgZGF0YWJhc2VTaXplLCB1bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFp
bGFibGUpOworICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIGNvbnN0
IFdlYlN0cmluZyYgbmFtZSwgbG9uZyBsb25nIHNpemUpOworICAgIFdFQktJVF9BUEkgc3RhdGlj
IHZvaWQgdXBkYXRlU3BhY2VBdmFpbGFibGUoCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgb3Jp
Z2luSWRlbnRpZmllciwgbG9uZyBsb25nIHNwYWNlQXZhaWxhYmxlKTsKKyAgICBXRUJLSVRfQVBJ
IHN0YXRpYyB2b2lkIHJlc2V0U3BhY2VBdmFpbGFibGUoCisgICAgICAgIGNvbnN0IFdlYlN0cmlu
ZyYgb3JpZ2luSWRlbnRpZmllcik7CisKICAgICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIGNsb3Nl
RGF0YWJhc2VJbW1lZGlhdGVseSgKICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVu
dGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIGRhdGFiYXNlTmFtZSk7CiAKKyAgICAvLyBERVBSRUNB
VEVEIC0gdG8gYmUgcmVtb3ZlZCBzb29uCisgICAgV0VCS0lUX0FQSSBzdGF0aWMgdm9pZCB1cGRh
dGVEYXRhYmFzZVNpemUoCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRpZmll
ciwgY29uc3QgV2ViU3RyaW5nJiBkYXRhYmFzZU5hbWUsCisgICAgICAgIGxvbmcgbG9uZyBkYXRh
YmFzZVNpemUsIGxvbmcgbG9uZyBzcGFjZUF2YWlsYWJsZSk7CisKICNpZiBXRUJLSVRfSU1QTEVN
RU5UQVRJT04KICAgICBXZWJEYXRhYmFzZShjb25zdCBXZWJDb3JlOjpBYnN0cmFjdERhdGFiYXNl
Kik7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdENs
aWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktp
dENsaWVudC5oCShyZXZpc2lvbiA4Njg3NSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYktpdENsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNiArMTM5LDggQEAgcHVi
bGljOgogICAgIC8vIFJldHVybnMgdGhlIHNpemUgb2YgdGhlIGdpdmVuIGRhdGFiYXNlIGZpbGUK
ICAgICB2aXJ0dWFsIGxvbmcgbG9uZyBkYXRhYmFzZUdldEZpbGVTaXplKGNvbnN0IFdlYlN0cmlu
ZyYgdmZzRmlsZU5hbWUpIHsgcmV0dXJuIDA7IH0KIAorICAgIC8vIFJldHVybnMgdGhlIHNwYWNl
IGF2YWlsYWJsZSBmb3IgdGhlIGdpdmVuIG9yaWdpbgorICAgIHZpcnR1YWwgbG9uZyBsb25nIGRh
dGFiYXNlR2V0U3BhY2VBdmFpbGFibGVGb3JPcmlnaW4oY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcm
IG9yaWdpbl9pZGVudGlmaWVyKSB7IHJldHVybiAwOyB9CiAKICAgICAvLyBJbmRleGVkIERhdGFi
YXNlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1CcmlkZ2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtQnJpZGdlLmNw
cAkocmV2aXNpb24gODY4NzUpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9y
bUJyaWRnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1MDAsMTEgQEAgbG9uZyBsb25n
IFBsYXRmb3JtQnJpZGdlOjpkYXRhYmFzZUdldEZpbAogICAgIHJldHVybiB3ZWJLaXRDbGllbnQo
KS0+ZGF0YWJhc2VHZXRGaWxlU2l6ZShXZWJTdHJpbmcodmZzRmlsZU5hbWUpKTsKIH0KIAorbG9u
ZyBsb25nIFBsYXRmb3JtQnJpZGdlOjpkYXRhYmFzZUdldFNwYWNlQXZhaWxhYmxlRm9yT3JpZ2lu
KGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gd2ViS2l0Q2xp
ZW50KCktPmRhdGFiYXNlR2V0U3BhY2VBdmFpbGFibGVGb3JPcmlnaW4ob3JpZ2luSWRlbnRpZmll
cik7Cit9CisKIC8vIEluZGV4ZWQgRGF0YWJhc2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogUGFzc1JlZlB0cjxJREJGYWN0b3J5
QmFja2VuZEludGVyZmFjZT4gUGxhdGZvcm1CcmlkZ2U6OmlkYkZhY3RvcnkoKQpJbmRleDogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGF0YWJhc2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRhdGFiYXNlLmNwcAkocmV2aXNpb24gODY4NzUp
CisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEYXRhYmFzZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTkyLDEzICs5MiwzNSBAQCBXZWJEYXRhYmFzZU9ic2VydmVyKiBXZWJEYXRhYmFz
ZTo6b2JzZXJ2CiAgICAgcmV0dXJuIGRhdGFiYXNlT2JzZXJ2ZXI7CiB9CiAKK3ZvaWQgV2ViRGF0
YWJhc2U6OnVwZGF0ZURhdGFiYXNlU2l6ZShjb25zdCBXZWJTdHJpbmcmIG9yaWdpbklkZW50aWZp
ZXIsIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgbG9uZyBsb25nIHNpemUpCit7CisjaWYgRU5BQkxF
KERBVEFCQVNFKQorICAgIFdlYkNvcmU6OlF1b3RhVHJhY2tlcjo6aW5zdGFuY2UoKS51cGRhdGVE
YXRhYmFzZVNpemUob3JpZ2luSWRlbnRpZmllciwgbmFtZSwgc2l6ZSk7CisjZW5kaWYgLy8gRU5B
QkxFKERBVEFCQVNFKQorfQorCit2b2lkIFdlYkRhdGFiYXNlOjp1cGRhdGVTcGFjZUF2YWlsYWJs
ZShjb25zdCBXZWJTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIGxvbmcgbG9uZyBzcGFjZUF2YWls
YWJsZSkKK3sKKyNpZiBFTkFCTEUoREFUQUJBU0UpCisgICAgV2ViQ29yZTo6UXVvdGFUcmFja2Vy
OjppbnN0YW5jZSgpLnVwZGF0ZVNwYWNlQXZhaWxhYmxlVG9PcmlnaW4ob3JpZ2luSWRlbnRpZmll
ciwgc3BhY2VBdmFpbGFibGUpOworI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKK30KKwordm9p
ZCBXZWJEYXRhYmFzZTo6cmVzZXRTcGFjZUF2YWlsYWJsZShjb25zdCBXZWJTdHJpbmcmIG9yaWdp
bklkZW50aWZpZXIpCit7CisjaWYgRU5BQkxFKERBVEFCQVNFKQorICAgIFdlYkNvcmU6OlF1b3Rh
VHJhY2tlcjo6aW5zdGFuY2UoKS5yZXNldFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4ob3JpZ2luSWRl
bnRpZmllcik7CisjZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorfQorCisvLyBGSVhNRTogVGhp
cyBpcyBkZXByZWNhdGVkLCBkZWxldGUgYWZ0ZXIgcm9sbGluZyBERVBzIGFuZCBjaHJvbWUgaXMg
dXNpbmcgdGhlIG5ldyBtZXRob2RzLgogdm9pZCBXZWJEYXRhYmFzZTo6dXBkYXRlRGF0YWJhc2VT
aXplKAogICAgIGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgV2ViU3Ry
aW5nJiBkYXRhYmFzZU5hbWUsCi0gICAgdW5zaWduZWQgbG9uZyBsb25nIGRhdGFiYXNlU2l6ZSwg
dW5zaWduZWQgbG9uZyBsb25nIHNwYWNlQXZhaWxhYmxlKQorICAgIGxvbmcgbG9uZyBkYXRhYmFz
ZVNpemUsIGxvbmcgbG9uZyBzcGFjZUF2YWlsYWJsZSkKIHsKICNpZiBFTkFCTEUoREFUQUJBU0Up
Ci0gICAgV2ViQ29yZTo6UXVvdGFUcmFja2VyOjppbnN0YW5jZSgpLnVwZGF0ZURhdGFiYXNlU2l6
ZUFuZFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oCi0gICAgICAgIG9yaWdpbklkZW50aWZpZXIsIGRh
dGFiYXNlTmFtZSwgZGF0YWJhc2VTaXplLCBzcGFjZUF2YWlsYWJsZSk7CisgICAgdXBkYXRlRGF0
YWJhc2VTaXplKG9yaWdpbklkZW50aWZpZXIsIGRhdGFiYXNlTmFtZSwgZGF0YWJhc2VTaXplKTsK
KyAgICB1cGRhdGVTcGFjZUF2YWlsYWJsZShvcmlnaW5JZGVudGlmaWVyLCBzcGFjZUF2YWlsYWJs
ZSk7CiAjZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94122</attachid>
            <date>2011-05-19 14:48:20 -0700</date>
            <delta_ts>2011-05-20 12:42:23 -0700</delta_ts>
            <desc>unified</desc>
            <filename>unified2.txt</filename>
            <type>text/plain</type>
            <size>11949</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2ODg4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMTkgIE1pY2hhZWwg
Tm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBTdXBwb3J0IHRoZSBuZXcgd2Via2l0
IGFwaXMgc28gdGhlIFdlYkRhdGFiYXNlIHN5c3RlbSBwYXJ0aWNpcGF0ZXMKKyAgICAgICAgaW4g
dGhlIHVuaWZpZWQgcXVvdGEgbWFuYWdlbWVudCBzeXN0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDk4NQorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4gKE9PUFMhKQorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1CcmlkZ2Uu
aDoKKyAgICAgICAgKiBzdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpRdW90YVRyYWNrZXI6OmdldERhdGFiYXNlU2l6ZUFuZFNwYWNlQXZhaWxhYmxl
VG9PcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UXVvdGFUcmFja2VyOjp1cGRhdGVEYXRhYmFz
ZVNpemUpOgorICAgICAgICAoV2ViQ29yZTo6UXVvdGFUcmFja2VyOjp1cGRhdGVTcGFjZUF2YWls
YWJsZVRvT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OlF1b3RhVHJhY2tlcjo6cmVzZXRTcGFj
ZUF2YWlsYWJsZVRvT3JpZ2luKToKKyAgICAgICAgKiBzdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJh
Y2tlci5oOgorCiAyMDExLTA1LTE5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdt
YWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODY4NjksIHI4Njg3
Mywgcjg2ODc1LCBhbmQgcjg2ODc3LgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vUGxhdGZvcm1CcmlkZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oCShyZXZpc2lvbiA4Njg3NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE2OCw2ICsxNjgsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGxvbmcgZGF0YWJhc2VH
ZXRGaWxlQXR0cmlidXRlcyhjb25zdCBTdHJpbmcmIHZmc0ZpbGVOYW1lKTsKICAgICAvLyBSZXR1
cm5zIHRoZSBzaXplIG9mIHRoZSBEQiBmaWxlCiAgICAgc3RhdGljIGxvbmcgbG9uZyBkYXRhYmFz
ZUdldEZpbGVTaXplKGNvbnN0IFN0cmluZyYgdmZzRmlsZU5hbWUpOworICAgIC8vIFJldHVybnMg
dGhlIHNwYWNlIGF2YWlsYWJsZSBmb3IgdGhlIG9yaWdpbgorICAgIHN0YXRpYyBsb25nIGxvbmcg
ZGF0YWJhc2VHZXRTcGFjZUF2YWlsYWJsZUZvck9yaWdpbihjb25zdCBTdHJpbmcmIG9yaWdpbklk
ZW50aWZpZXIpOwogCiAgICAgLy8gSW5kZXhlZERCIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJ
REJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4gaWRiRmFjdG9yeSgpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmNwcAkocmV2aXNpb24g
ODY4NzUpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlF1b3RhVHJhY2tlci5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQnJpZGdlLmgi
CiAKICNpZiBFTkFCTEUoREFUQUJBU0UpCiAKQEAgLTQ3LDI2ICs0OCw0NSBAQCB2b2lkIFF1b3Rh
VHJhY2tlcjo6Z2V0RGF0YWJhc2VTaXplQW5kU3BhCiAgICAgY29uc3QgU3RyaW5nJiBvcmlnaW5J
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwKICAgICB1bnNpZ25lZCBsb25n
IGxvbmcqIGRhdGFiYXNlU2l6ZSwgdW5zaWduZWQgbG9uZyBsb25nKiBzcGFjZUF2YWlsYWJsZSkK
IHsKLSAgICBNdXRleExvY2tlciBsb2NrRGF0YShtX2RhdGFHdWFyZCk7Ci0gICAgQVNTRVJUKG1f
ZGF0YWJhc2VTaXplcy5jb250YWlucyhvcmlnaW5JZGVudGlmaWVyKSk7Ci0gICAgSGFzaE1hcDxT
dHJpbmcsIFNpemVNYXA+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fZGF0YWJhc2VTaXplcy5maW5k
KG9yaWdpbklkZW50aWZpZXIpOwotICAgIEFTU0VSVChpdC0+c2Vjb25kLmNvbnRhaW5zKGRhdGFi
YXNlTmFtZSkpOwotICAgICpkYXRhYmFzZVNpemUgPSBpdC0+c2Vjb25kLmdldChkYXRhYmFzZU5h
bWUpOworICAgIC8vIEV4dHJhIHNjb3BlIHRvIHVubG9jayBwcmlvciB0byBwb3RlbnRpYWxseSBj
YWxsaW5nIFBsYXRmb3JtQnJpZGdlLgorICAgIHsKKyAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja0Rh
dGEobV9kYXRhR3VhcmQpOworICAgICAgICBBU1NFUlQobV9kYXRhYmFzZVNpemVzLmNvbnRhaW5z
KG9yaWdpbklkZW50aWZpZXIpKTsKKyAgICAgICAgSGFzaE1hcDxTdHJpbmcsIFNpemVNYXA+Ojpj
b25zdF9pdGVyYXRvciBpdCA9IG1fZGF0YWJhc2VTaXplcy5maW5kKG9yaWdpbklkZW50aWZpZXIp
OworICAgICAgICBBU1NFUlQoaXQtPnNlY29uZC5jb250YWlucyhkYXRhYmFzZU5hbWUpKTsKKyAg
ICAgICAgKmRhdGFiYXNlU2l6ZSA9IGl0LT5zZWNvbmQuZ2V0KGRhdGFiYXNlTmFtZSk7CisKKyAg
ICAgICAgaWYgKG1fc3BhY2VBdmFpbGFibGVUb09yaWdpbnMuY29udGFpbnMob3JpZ2luSWRlbnRp
ZmllcikpIHsKKyAgICAgICAgICAgICpzcGFjZUF2YWlsYWJsZSA9IG1fc3BhY2VBdmFpbGFibGVU
b09yaWdpbnMuZ2V0KG9yaWdpbklkZW50aWZpZXIpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgfQogCi0gICAgQVNTRVJUKG1fc3BhY2VBdmFpbGFibGVUb09yaWdpbnMuY29u
dGFpbnMob3JpZ2luSWRlbnRpZmllcikpOwotICAgICpzcGFjZUF2YWlsYWJsZSA9IG1fc3BhY2VB
dmFpbGFibGVUb09yaWdpbnMuZ2V0KG9yaWdpbklkZW50aWZpZXIpOworICAgIC8vIFRoZSBlbWJl
ZGRlciBoYXNuJ3QgcHVzaGVkIHRoaXMgdmFsdWUgdG8gdXMsIHNvIHdlIHB1bGwgaXQgYXMgbmVl
ZGVkLgorICAgICpzcGFjZUF2YWlsYWJsZSA9IFBsYXRmb3JtQnJpZGdlOjpkYXRhYmFzZUdldFNw
YWNlQXZhaWxhYmxlRm9yT3JpZ2luKG9yaWdpbklkZW50aWZpZXIpOwogfQogCi12b2lkIFF1b3Rh
VHJhY2tlcjo6dXBkYXRlRGF0YWJhc2VTaXplQW5kU3BhY2VBdmFpbGFibGVUb09yaWdpbigKK3Zv
aWQgUXVvdGFUcmFja2VyOjp1cGRhdGVEYXRhYmFzZVNpemUoCiAgICAgY29uc3QgU3RyaW5nJiBv
cmlnaW5JZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwKLSAgICB1bnNpZ25l
ZCBsb25nIGxvbmcgZGF0YWJhc2VTaXplLCB1bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFpbGFi
bGUpCisgICAgdW5zaWduZWQgbG9uZyBsb25nIGRhdGFiYXNlU2l6ZSkKIHsKICAgICBNdXRleExv
Y2tlciBsb2NrRGF0YShtX2RhdGFHdWFyZCk7Ci0gICAgbV9zcGFjZUF2YWlsYWJsZVRvT3JpZ2lu
cy5zZXQob3JpZ2luSWRlbnRpZmllciwgc3BhY2VBdmFpbGFibGUpOwogICAgIEhhc2hNYXA8U3Ry
aW5nLCBTaXplTWFwPjo6aXRlcmF0b3IgaXQgPSBtX2RhdGFiYXNlU2l6ZXMuYWRkKG9yaWdpbklk
ZW50aWZpZXIsIFNpemVNYXAoKSkuZmlyc3Q7CiAgICAgaXQtPnNlY29uZC5zZXQoZGF0YWJhc2VO
YW1lLCBkYXRhYmFzZVNpemUpOwogfQogCit2b2lkIFF1b3RhVHJhY2tlcjo6dXBkYXRlU3BhY2VB
dmFpbGFibGVUb09yaWdpbihjb25zdCBTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIHVuc2lnbmVk
IGxvbmcgbG9uZyBzcGFjZUF2YWlsYWJsZSkKK3sKKyAgICBNdXRleExvY2tlciBsb2NrRGF0YSht
X2RhdGFHdWFyZCk7CisgICAgbV9zcGFjZUF2YWlsYWJsZVRvT3JpZ2lucy5zZXQob3JpZ2luSWRl
bnRpZmllciwgc3BhY2VBdmFpbGFibGUpOworfQorCit2b2lkIFF1b3RhVHJhY2tlcjo6cmVzZXRT
cGFjZUF2YWlsYWJsZVRvT3JpZ2luKGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllcikKK3sK
KyAgICBNdXRleExvY2tlciBsb2NrRGF0YShtX2RhdGFHdWFyZCk7CisgICAgbV9zcGFjZUF2YWls
YWJsZVRvT3JpZ2lucy5yZW1vdmUob3JpZ2luSWRlbnRpZmllcik7CiB9CiAKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKwogI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuaAkocmV2aXNpb24gODY4
NzUpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0NywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBnZXREYXRh
YmFzZVNpemVBbmRTcGFjZUF2YWlsYWJsZVRvT3JpZ2luKAogICAgICAgICBjb25zdCBTdHJpbmcm
IG9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lLAogICAgICAgICB1
bnNpZ25lZCBsb25nIGxvbmcqIGRhdGFiYXNlU2l6ZSwgdW5zaWduZWQgbG9uZyBsb25nKiBzcGFj
ZUF2YWlsYWJsZSk7Ci0gICAgdm9pZCB1cGRhdGVEYXRhYmFzZVNpemVBbmRTcGFjZUF2YWlsYWJs
ZVRvT3JpZ2luKAorICAgIHZvaWQgdXBkYXRlRGF0YWJhc2VTaXplKAogICAgICAgICBjb25zdCBT
dHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lLAotICAg
ICAgICB1bnNpZ25lZCBsb25nIGxvbmcgZGF0YWJhc2VTaXplLCB1bnNpZ25lZCBsb25nIGxvbmcg
c3BhY2VBdmFpbGFibGUpOworICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgZGF0YWJhc2VTaXpl
KTsKKyAgICB2b2lkIHVwZGF0ZVNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oY29uc3QgU3RyaW5nJiBv
cmlnaW5JZGVudGlmaWVyLCB1bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFpbGFibGUpOworICAg
IHZvaWQgcmVzZXRTcGFjZUF2YWlsYWJsZVRvT3JpZ2luKGNvbnN0IFN0cmluZyYgb3JpZ2luSWRl
bnRpZmllcik7CiAKIHByaXZhdGU6CiAgICAgUXVvdGFUcmFja2VyKCkgeyB9CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gODY4ODcpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDExLTA1
LTE5ICBNaWNoYWVsIE5vcmRtYW4gIDxtaWNoYWVsbkBnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZXMgdG8gYWxsb3cgdGhl
IFdlYkRhdGFiYXNlIHN5c3RlbSB0byBwYXJ0aWNpcGF0ZSBpbiBDaHJvbWUncyB1bmlmaWVkIHF1
b2F0YQorICAgICAgICBtYW5hZ2VtZW50IHN5c3RlbS4gTm93IHRoYXQgY2hhbmdlcyBvdXRzaWRl
IG9mIHRoZSBkYXRhYmFzZSBzeXN0ZW0gYWZmZWN0IHRoZSBzcGFjZQorICAgICAgICBhdmFpbGFi
bGUgdG8gdGhlIGRhdGFiYXNlIHN5c3RlbSwgd2UgbmVlZCBuZXcgd2F5cyBvZiBnZXR0aW5nIHRo
ZSBsaW1pdCB0byByZW5kZXJlcnMuCisKKyAgICAgICAgU3BsaXQgV2ViRGF0YWJhc2U6OnVwZGF0
ZURhdGFiYXNlU2l6ZUFuZFNwYWNlQXZhaWxhYmxlKCkgaW50byB0aHJlZSBtZXRob2RzLgorICAg
ICAgICAtIFdlYkRhdGFiYXNlOjp1cGRhdGVEYXRhYmFiYXNlU2l6ZSgpCisgICAgICAgIC0gV2Vi
RGF0YWJhc2U6OnVwZGF0ZVNwYWNlQXZhaWxhYmxlKCkKKyAgICAgICAgLSBXZWJEYXRhYmFzZTo6
cmVzZXRTcGFjZUF2YWlsYWJsZSgpCisgICAgICAgIFRoZSBXZWJEYXRhYmFzZSBtZXRob2RzIGFy
ZSB1c2VkIHRvICdwdXNoJyBzaXplIGFuZCBzcGFjZSBhdmFpbGFibGUgaW5mbyBpbnRvIHJlbmRl
cmVycy4KKyAgICAgICAgVGhlIHNwYWNlIGF2YWlsYWJsZSBjYW4gY2hhbmdlIGluZGVwZW5kZW50
bHkgb2YgYSBkYXRhYmFzZSBoYXZpbmcgY2hhbmdlZCBzaXplLgorCisgICAgICAgIEFsc28gcHJv
dmlkZSBhIG1lYW5zIGZvciB0aGUgcmVuZGVyZXIgdG8gJ3B1bGwnIHRoZSBzcGFjZSBhdmFpbGFi
bGUgZnJvbSB0aGUgbWFpbgorICAgICAgICBwcm9jZXNzIGlmIHRoYXQgdmFsdWUgaGFzIG5vdCBi
ZWVuIHB1c2hlZCBpbm90IGl0LgorICAgICAgICAtIFdlYkNvcmU6OlBsYXRmb3JtQnJpZGdlOjpk
YXRhYmFzZUdldFNwYWNlQXZhaWxhYmxlRm9yT3JpZ2luKCkKKyAgICAgICAgLSBXZWJLaXQ6Oldl
YktpdENsaWVudDo6ZGF0YWJhc2VHZXRTcGFjZUF2YWlsYWJsZUZvck9yaWdpbigpCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwOTg1CisKKyAgICAg
ICAgKiBwdWJsaWMvV2ViRGF0YWJhc2UuaDoKKyAgICAgICAgKiBwdWJsaWMvV2ViS2l0Q2xpZW50
Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYktpdENsaWVudDo6ZGF0YWJhc2VHZXRTcGFjZUF2YWls
YWJsZUZvck9yaWdpbik6CisgICAgICAgICogc3JjL1BsYXRmb3JtQnJpZGdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBsYXRmb3JtQnJpZGdlOjpkYXRhYmFzZUdldFNwYWNlQXZhaWxhYmxlRm9y
T3JpZ2luKToKKyAgICAgICAgKiBzcmMvV2ViRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJEYXRhYmFzZTo6dXBkYXRlRGF0YWJhc2VTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
RGF0YWJhc2U6OnVwZGF0ZVNwYWNlQXZhaWxhYmxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0
YWJhc2U6OnJlc2V0U3BhY2VBdmFpbGFibGUpOgorCiAyMDExLTA1LTE5ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByODY4NjksIHI4Njg3Mywgcjg2ODc1LCBhbmQgcjg2ODc3LgpJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRGF0YWJhc2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEYXRhYmFzZS5oCShyZXZpc2lvbiA4Njg3NSkK
KysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRhdGFiYXNlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUyLDExICs1MiwyMCBAQCBwdWJsaWM6CiAgICAgV0VCS0lUX0FQSSBzdGF0aWMg
V2ViRGF0YWJhc2VPYnNlcnZlciogb2JzZXJ2ZXIoKTsKIAogICAgIFdFQktJVF9BUEkgc3RhdGlj
IHZvaWQgdXBkYXRlRGF0YWJhc2VTaXplKAotICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG9yaWdp
bklkZW50aWZpZXIsIGNvbnN0IFdlYlN0cmluZyYgZGF0YWJhc2VOYW1lLAotICAgICAgICB1bnNp
Z25lZCBsb25nIGxvbmcgZGF0YWJhc2VTaXplLCB1bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFp
bGFibGUpOworICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIGNvbnN0
IFdlYlN0cmluZyYgbmFtZSwgbG9uZyBsb25nIHNpemUpOworICAgIFdFQktJVF9BUEkgc3RhdGlj
IHZvaWQgdXBkYXRlU3BhY2VBdmFpbGFibGUoCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgb3Jp
Z2luSWRlbnRpZmllciwgbG9uZyBsb25nIHNwYWNlQXZhaWxhYmxlKTsKKyAgICBXRUJLSVRfQVBJ
IHN0YXRpYyB2b2lkIHJlc2V0U3BhY2VBdmFpbGFibGUoCisgICAgICAgIGNvbnN0IFdlYlN0cmlu
ZyYgb3JpZ2luSWRlbnRpZmllcik7CisKICAgICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIGNsb3Nl
RGF0YWJhc2VJbW1lZGlhdGVseSgKICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVu
dGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIGRhdGFiYXNlTmFtZSk7CiAKKyAgICAvLyBERVBSRUNB
VEVEIC0gdG8gYmUgcmVtb3ZlZCBzb29uCisgICAgV0VCS0lUX0FQSSBzdGF0aWMgdm9pZCB1cGRh
dGVEYXRhYmFzZVNpemUoCisgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRpZmll
ciwgY29uc3QgV2ViU3RyaW5nJiBkYXRhYmFzZU5hbWUsCisgICAgICAgIGxvbmcgbG9uZyBkYXRh
YmFzZVNpemUsIGxvbmcgbG9uZyBzcGFjZUF2YWlsYWJsZSk7CisKICNpZiBXRUJLSVRfSU1QTEVN
RU5UQVRJT04KICAgICBXZWJEYXRhYmFzZShjb25zdCBXZWJDb3JlOjpBYnN0cmFjdERhdGFiYXNl
Kik7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdENs
aWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktp
dENsaWVudC5oCShyZXZpc2lvbiA4Njg3NSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYktpdENsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNiArMTM5LDggQEAgcHVi
bGljOgogICAgIC8vIFJldHVybnMgdGhlIHNpemUgb2YgdGhlIGdpdmVuIGRhdGFiYXNlIGZpbGUK
ICAgICB2aXJ0dWFsIGxvbmcgbG9uZyBkYXRhYmFzZUdldEZpbGVTaXplKGNvbnN0IFdlYlN0cmlu
ZyYgdmZzRmlsZU5hbWUpIHsgcmV0dXJuIDA7IH0KIAorICAgIC8vIFJldHVybnMgdGhlIHNwYWNl
IGF2YWlsYWJsZSBmb3IgdGhlIGdpdmVuIG9yaWdpbgorICAgIHZpcnR1YWwgbG9uZyBsb25nIGRh
dGFiYXNlR2V0U3BhY2VBdmFpbGFibGVGb3JPcmlnaW4oY29uc3QgV2ViS2l0OjpXZWJTdHJpbmcm
IG9yaWdpbklkZW50aWZpZXIpIHsgcmV0dXJuIDA7IH0KIAogICAgIC8vIEluZGV4ZWQgRGF0YWJh
c2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1CcmlkZ2UuY3Bw
CShyZXZpc2lvbiA4Njg3NSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3Jt
QnJpZGdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAwLDYgKzUwMCwxMSBAQCBsb25nIGxvbmcg
UGxhdGZvcm1CcmlkZ2U6OmRhdGFiYXNlR2V0RmlsCiAgICAgcmV0dXJuIHdlYktpdENsaWVudCgp
LT5kYXRhYmFzZUdldEZpbGVTaXplKFdlYlN0cmluZyh2ZnNGaWxlTmFtZSkpOwogfQogCitsb25n
IGxvbmcgUGxhdGZvcm1CcmlkZ2U6OmRhdGFiYXNlR2V0U3BhY2VBdmFpbGFibGVGb3JPcmlnaW4o
Y29uc3QgU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyKQoreworICAgIHJldHVybiB3ZWJLaXRDbGll
bnQoKS0+ZGF0YWJhc2VHZXRTcGFjZUF2YWlsYWJsZUZvck9yaWdpbihvcmlnaW5JZGVudGlmaWVy
KTsKK30KKwogLy8gSW5kZXhlZCBEYXRhYmFzZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBQYXNzUmVmUHRyPElEQkZhY3RvcnlC
YWNrZW5kSW50ZXJmYWNlPiBQbGF0Zm9ybUJyaWRnZTo6aWRiRmFjdG9yeSgpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEYXRhYmFzZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGF0YWJhc2UuY3BwCShyZXZpc2lvbiA4Njg3NSkK
KysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRhdGFiYXNlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTIsMTMgKzkyLDM1IEBAIFdlYkRhdGFiYXNlT2JzZXJ2ZXIqIFdlYkRhdGFiYXNl
OjpvYnNlcnYKICAgICByZXR1cm4gZGF0YWJhc2VPYnNlcnZlcjsKIH0KIAordm9pZCBXZWJEYXRh
YmFzZTo6dXBkYXRlRGF0YWJhc2VTaXplKGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRpZmll
ciwgY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBsb25nIGxvbmcgc2l6ZSkKK3sKKyNpZiBFTkFCTEUo
REFUQUJBU0UpCisgICAgV2ViQ29yZTo6UXVvdGFUcmFja2VyOjppbnN0YW5jZSgpLnVwZGF0ZURh
dGFiYXNlU2l6ZShvcmlnaW5JZGVudGlmaWVyLCBuYW1lLCBzaXplKTsKKyNlbmRpZiAvLyBFTkFC
TEUoREFUQUJBU0UpCit9CisKK3ZvaWQgV2ViRGF0YWJhc2U6OnVwZGF0ZVNwYWNlQXZhaWxhYmxl
KGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgbG9uZyBsb25nIHNwYWNlQXZhaWxh
YmxlKQoreworI2lmIEVOQUJMRShEQVRBQkFTRSkKKyAgICBXZWJDb3JlOjpRdW90YVRyYWNrZXI6
Omluc3RhbmNlKCkudXBkYXRlU3BhY2VBdmFpbGFibGVUb09yaWdpbihvcmlnaW5JZGVudGlmaWVy
LCBzcGFjZUF2YWlsYWJsZSk7CisjZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorfQorCit2b2lk
IFdlYkRhdGFiYXNlOjpyZXNldFNwYWNlQXZhaWxhYmxlKGNvbnN0IFdlYlN0cmluZyYgb3JpZ2lu
SWRlbnRpZmllcikKK3sKKyNpZiBFTkFCTEUoREFUQUJBU0UpCisgICAgV2ViQ29yZTo6UXVvdGFU
cmFja2VyOjppbnN0YW5jZSgpLnJlc2V0U3BhY2VBdmFpbGFibGVUb09yaWdpbihvcmlnaW5JZGVu
dGlmaWVyKTsKKyNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCit9CisKKy8vIEZJWE1FOiBUaGlz
IGlzIGRlcHJlY2F0ZWQsIGRlbGV0ZSBhZnRlciByb2xsaW5nIERFUHMgYW5kIGNocm9tZSBpcyB1
c2luZyB0aGUgbmV3IG1ldGhvZHMuCiB2b2lkIFdlYkRhdGFiYXNlOjp1cGRhdGVEYXRhYmFzZVNp
emUoCiAgICAgY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJp
bmcmIGRhdGFiYXNlTmFtZSwKLSAgICB1bnNpZ25lZCBsb25nIGxvbmcgZGF0YWJhc2VTaXplLCB1
bnNpZ25lZCBsb25nIGxvbmcgc3BhY2VBdmFpbGFibGUpCisgICAgbG9uZyBsb25nIGRhdGFiYXNl
U2l6ZSwgbG9uZyBsb25nIHNwYWNlQXZhaWxhYmxlKQogewogI2lmIEVOQUJMRShEQVRBQkFTRSkK
LSAgICBXZWJDb3JlOjpRdW90YVRyYWNrZXI6Omluc3RhbmNlKCkudXBkYXRlRGF0YWJhc2VTaXpl
QW5kU3BhY2VBdmFpbGFibGVUb09yaWdpbigKLSAgICAgICAgb3JpZ2luSWRlbnRpZmllciwgZGF0
YWJhc2VOYW1lLCBkYXRhYmFzZVNpemUsIHNwYWNlQXZhaWxhYmxlKTsKKyAgICB1cGRhdGVEYXRh
YmFzZVNpemUob3JpZ2luSWRlbnRpZmllciwgZGF0YWJhc2VOYW1lLCBkYXRhYmFzZVNpemUpOwor
ICAgIHVwZGF0ZVNwYWNlQXZhaWxhYmxlKG9yaWdpbklkZW50aWZpZXIsIHNwYWNlQXZhaWxhYmxl
KTsKICNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94261</attachid>
            <date>2011-05-20 12:42:23 -0700</date>
            <delta_ts>2011-05-20 16:48:58 -0700</delta_ts>
            <desc>unified</desc>
            <filename>unified3.txt</filename>
            <type>text/plain</type>
            <size>11941</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2ODg4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMTkgIE1pY2hhZWwg
Tm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBTdXBwb3J0IHRoZSBuZXcgd2Via2l0
IGFwaXMgc28gdGhlIFdlYkRhdGFiYXNlIHN5c3RlbSBwYXJ0aWNpcGF0ZXMKKyAgICAgICAgaW4g
dGhlIHVuaWZpZWQgcXVvdGEgbWFuYWdlbWVudCBzeXN0ZW0uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDk4NQorCisgICAgICAgIE5vIGNoYW5nZSBp
biBmdW5jdGlvbmFsaXR5LCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9QbGF0Zm9ybUJyaWRnZS5oOgorICAgICAgICAqIHN0b3JhZ2UvY2hyb21pdW0vUXVvdGFU
cmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlF1b3RhVHJhY2tlcjo6Z2V0RGF0YWJhc2VT
aXplQW5kU3BhY2VBdmFpbGFibGVUb09yaWdpbik6CisgICAgICAgIChXZWJDb3JlOjpRdW90YVRy
YWNrZXI6OnVwZGF0ZURhdGFiYXNlU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpRdW90YVRyYWNr
ZXI6OnVwZGF0ZVNwYWNlQXZhaWxhYmxlVG9PcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6UXVv
dGFUcmFja2VyOjpyZXNldFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4pOgorICAgICAgICAqIHN0b3Jh
Z2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmg6CisKIDIwMTEtMDUtMTkgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHI4Njg2OSwgcjg2ODczLCByODY4NzUsIGFuZCByODY4NzcuCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmgJKHJldmlz
aW9uIDg2ODc1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1C
cmlkZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMTY4LDYgKzE2OCw4IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgbG9uZyBkYXRhYmFzZUdldEZpbGVBdHRyaWJ1dGVzKGNvbnN0IFN0cmluZyYgdmZzRmls
ZU5hbWUpOwogICAgIC8vIFJldHVybnMgdGhlIHNpemUgb2YgdGhlIERCIGZpbGUKICAgICBzdGF0
aWMgbG9uZyBsb25nIGRhdGFiYXNlR2V0RmlsZVNpemUoY29uc3QgU3RyaW5nJiB2ZnNGaWxlTmFt
ZSk7CisgICAgLy8gUmV0dXJucyB0aGUgc3BhY2UgYXZhaWxhYmxlIGZvciB0aGUgb3JpZ2luCisg
ICAgc3RhdGljIGxvbmcgbG9uZyBkYXRhYmFzZUdldFNwYWNlQXZhaWxhYmxlRm9yT3JpZ2luKGNv
bnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllcik7CiAKICAgICAvLyBJbmRleGVkREIgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBpZGJGYWN0b3J5
KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9RdW90YVRy
YWNrZXIuY3BwCShyZXZpc2lvbiA4Njg3NSkKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hy
b21pdW0vUXVvdGFUcmFja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUXVvdGFUcmFja2VyLmgiCisjaW5jbHVk
ZSAiUGxhdGZvcm1CcmlkZ2UuaCIKIAogI2lmIEVOQUJMRShEQVRBQkFTRSkKIApAQCAtNDcsMjYg
KzQ4LDQ1IEBAIHZvaWQgUXVvdGFUcmFja2VyOjpnZXREYXRhYmFzZVNpemVBbmRTcGEKICAgICBj
b25zdCBTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1l
LAogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyogZGF0YWJhc2VTaXplLCB1bnNpZ25lZCBsb25nIGxv
bmcqIHNwYWNlQXZhaWxhYmxlKQogewotICAgIE11dGV4TG9ja2VyIGxvY2tEYXRhKG1fZGF0YUd1
YXJkKTsKLSAgICBBU1NFUlQobV9kYXRhYmFzZVNpemVzLmNvbnRhaW5zKG9yaWdpbklkZW50aWZp
ZXIpKTsKLSAgICBIYXNoTWFwPFN0cmluZywgU2l6ZU1hcD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0g
bV9kYXRhYmFzZVNpemVzLmZpbmQob3JpZ2luSWRlbnRpZmllcik7Ci0gICAgQVNTRVJUKGl0LT5z
ZWNvbmQuY29udGFpbnMoZGF0YWJhc2VOYW1lKSk7Ci0gICAgKmRhdGFiYXNlU2l6ZSA9IGl0LT5z
ZWNvbmQuZ2V0KGRhdGFiYXNlTmFtZSk7CisgICAgLy8gRXh0cmEgc2NvcGUgdG8gdW5sb2NrIHBy
aW9yIHRvIHBvdGVudGlhbGx5IGNhbGxpbmcgUGxhdGZvcm1CcmlkZ2UuCisgICAgeworICAgICAg
ICBNdXRleExvY2tlciBsb2NrRGF0YShtX2RhdGFHdWFyZCk7CisgICAgICAgIEFTU0VSVChtX2Rh
dGFiYXNlU2l6ZXMuY29udGFpbnMob3JpZ2luSWRlbnRpZmllcikpOworICAgICAgICBIYXNoTWFw
PFN0cmluZywgU2l6ZU1hcD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9kYXRhYmFzZVNpemVzLmZp
bmQob3JpZ2luSWRlbnRpZmllcik7CisgICAgICAgIEFTU0VSVChpdC0+c2Vjb25kLmNvbnRhaW5z
KGRhdGFiYXNlTmFtZSkpOworICAgICAgICAqZGF0YWJhc2VTaXplID0gaXQtPnNlY29uZC5nZXQo
ZGF0YWJhc2VOYW1lKTsKKworICAgICAgICBpZiAobV9zcGFjZUF2YWlsYWJsZVRvT3JpZ2lucy5j
b250YWlucyhvcmlnaW5JZGVudGlmaWVyKSkgeworICAgICAgICAgICAgKnNwYWNlQXZhaWxhYmxl
ID0gbV9zcGFjZUF2YWlsYWJsZVRvT3JpZ2lucy5nZXQob3JpZ2luSWRlbnRpZmllcik7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CiAKLSAgICBBU1NFUlQobV9zcGFjZUF2
YWlsYWJsZVRvT3JpZ2lucy5jb250YWlucyhvcmlnaW5JZGVudGlmaWVyKSk7Ci0gICAgKnNwYWNl
QXZhaWxhYmxlID0gbV9zcGFjZUF2YWlsYWJsZVRvT3JpZ2lucy5nZXQob3JpZ2luSWRlbnRpZmll
cik7CisgICAgLy8gVGhlIGVtYmVkZGVyIGhhc24ndCBwdXNoZWQgdGhpcyB2YWx1ZSB0byB1cywg
c28gd2UgcHVsbCBpdCBhcyBuZWVkZWQuCisgICAgKnNwYWNlQXZhaWxhYmxlID0gUGxhdGZvcm1C
cmlkZ2U6OmRhdGFiYXNlR2V0U3BhY2VBdmFpbGFibGVGb3JPcmlnaW4ob3JpZ2luSWRlbnRpZmll
cik7CiB9CiAKLXZvaWQgUXVvdGFUcmFja2VyOjp1cGRhdGVEYXRhYmFzZVNpemVBbmRTcGFjZUF2
YWlsYWJsZVRvT3JpZ2luKAordm9pZCBRdW90YVRyYWNrZXI6OnVwZGF0ZURhdGFiYXNlU2l6ZSgK
ICAgICBjb25zdCBTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZGF0YWJh
c2VOYW1lLAotICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkYXRhYmFzZVNpemUsIHVuc2lnbmVkIGxv
bmcgbG9uZyBzcGFjZUF2YWlsYWJsZSkKKyAgICB1bnNpZ25lZCBsb25nIGxvbmcgZGF0YWJhc2VT
aXplKQogewogICAgIE11dGV4TG9ja2VyIGxvY2tEYXRhKG1fZGF0YUd1YXJkKTsKLSAgICBtX3Nw
YWNlQXZhaWxhYmxlVG9PcmlnaW5zLnNldChvcmlnaW5JZGVudGlmaWVyLCBzcGFjZUF2YWlsYWJs
ZSk7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFNpemVNYXA+OjppdGVyYXRvciBpdCA9IG1fZGF0YWJh
c2VTaXplcy5hZGQob3JpZ2luSWRlbnRpZmllciwgU2l6ZU1hcCgpKS5maXJzdDsKICAgICBpdC0+
c2Vjb25kLnNldChkYXRhYmFzZU5hbWUsIGRhdGFiYXNlU2l6ZSk7CiB9CiAKK3ZvaWQgUXVvdGFU
cmFja2VyOjp1cGRhdGVTcGFjZUF2YWlsYWJsZVRvT3JpZ2luKGNvbnN0IFN0cmluZyYgb3JpZ2lu
SWRlbnRpZmllciwgdW5zaWduZWQgbG9uZyBsb25nIHNwYWNlQXZhaWxhYmxlKQoreworICAgIE11
dGV4TG9ja2VyIGxvY2tEYXRhKG1fZGF0YUd1YXJkKTsKKyAgICBtX3NwYWNlQXZhaWxhYmxlVG9P
cmlnaW5zLnNldChvcmlnaW5JZGVudGlmaWVyLCBzcGFjZUF2YWlsYWJsZSk7Cit9CisKK3ZvaWQg
UXVvdGFUcmFja2VyOjpyZXNldFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oY29uc3QgU3RyaW5nJiBv
cmlnaW5JZGVudGlmaWVyKQoreworICAgIE11dGV4TG9ja2VyIGxvY2tEYXRhKG1fZGF0YUd1YXJk
KTsKKyAgICBtX3NwYWNlQXZhaWxhYmxlVG9PcmlnaW5zLnJlbW92ZShvcmlnaW5JZGVudGlmaWVy
KTsKIH0KIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCiAjZW5kaWYgLy8gRU5BQkxFKERBVEFC
QVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJh
Y2tlci5oCShyZXZpc2lvbiA4Njg3NSkKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21p
dW0vUXVvdGFUcmFja2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDkgKzQ3LDExIEBAIHB1Ymxp
YzoKICAgICB2b2lkIGdldERhdGFiYXNlU2l6ZUFuZFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oCiAg
ICAgICAgIGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkYXRh
YmFzZU5hbWUsCiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyogZGF0YWJhc2VTaXplLCB1bnNp
Z25lZCBsb25nIGxvbmcqIHNwYWNlQXZhaWxhYmxlKTsKLSAgICB2b2lkIHVwZGF0ZURhdGFiYXNl
U2l6ZUFuZFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oCisgICAgdm9pZCB1cGRhdGVEYXRhYmFzZVNp
emUoCiAgICAgICAgIGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBkYXRhYmFzZU5hbWUsCi0gICAgICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBkYXRhYmFzZVNpemUs
IHVuc2lnbmVkIGxvbmcgbG9uZyBzcGFjZUF2YWlsYWJsZSk7CisgICAgICAgIHVuc2lnbmVkIGxv
bmcgbG9uZyBkYXRhYmFzZVNpemUpOworICAgIHZvaWQgdXBkYXRlU3BhY2VBdmFpbGFibGVUb09y
aWdpbihjb25zdCBTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIHVuc2lnbmVkIGxvbmcgbG9uZyBz
cGFjZUF2YWlsYWJsZSk7CisgICAgdm9pZCByZXNldFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4oY29u
c3QgU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyKTsKIAogcHJpdmF0ZToKICAgICBRdW90YVRyYWNr
ZXIoKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4Njg4NykK
KysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMzUgQEAKKzIwMTEtMDUtMTkgIE1pY2hhZWwgTm9yZG1hbiAgPG1pY2hhZWxuQGdvb2ds
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2hhbmdlcyB0byBhbGxvdyB0aGUgV2ViRGF0YWJhc2Ugc3lzdGVtIHRvIHBhcnRpY2lwYXRlIGlu
IENocm9tZSdzIHVuaWZpZWQgcXVvdGEKKyAgICAgICAgbWFuYWdlbWVudCBzeXN0ZW0uIE5vdyB0
aGF0IGNoYW5nZXMgb3V0c2lkZSBvZiB0aGUgZGF0YWJhc2Ugc3lzdGVtIGFmZmVjdCB0aGUgc3Bh
Y2UKKyAgICAgICAgYXZhaWxhYmxlIHRvIHRoZSBkYXRhYmFzZSBzeXN0ZW0sIHdlIG5lZWQgbmV3
IHdheXMgb2YgZ2V0dGluZyB0aGUgbGltaXQgdG8gcmVuZGVyZXJzLgorCisgICAgICAgIFNwbGl0
IFdlYkRhdGFiYXNlOjp1cGRhdGVEYXRhYmFzZVNpemVBbmRTcGFjZUF2YWlsYWJsZSgpIGludG8g
dGhyZWUgbWV0aG9kcy4KKyAgICAgICAgLSBXZWJEYXRhYmFzZTo6dXBkYXRlRGF0YWJhYmFzZVNp
emUoKQorICAgICAgICAtIFdlYkRhdGFiYXNlOjp1cGRhdGVTcGFjZUF2YWlsYWJsZSgpCisgICAg
ICAgIC0gV2ViRGF0YWJhc2U6OnJlc2V0U3BhY2VBdmFpbGFibGUoKQorICAgICAgICBUaGUgV2Vi
RGF0YWJhc2UgbWV0aG9kcyBhcmUgdXNlZCB0byAncHVzaCcgc2l6ZSBhbmQgc3BhY2UgYXZhaWxh
YmxlIGluZm8gaW50byByZW5kZXJlcnMuCisgICAgICAgIFRoZSBzcGFjZSBhdmFpbGFibGUgY2Fu
IGNoYW5nZSBpbmRlcGVuZGVudGx5IG9mIGEgZGF0YWJhc2UgaGF2aW5nIGNoYW5nZWQgc2l6ZS4K
KworICAgICAgICBBbHNvIHByb3ZpZGUgYSBtZWFucyBmb3IgdGhlIHJlbmRlcmVyIHRvICdwdWxs
JyB0aGUgc3BhY2UgYXZhaWxhYmxlIGZyb20gdGhlIG1haW4KKyAgICAgICAgcHJvY2VzcyBpZiB0
aGF0IHZhbHVlIGhhcyBub3QgYmVlbiBwdXNoZWQgaW50byBpdC4KKyAgICAgICAgLSBXZWJDb3Jl
OjpQbGF0Zm9ybUJyaWRnZTo6ZGF0YWJhc2VHZXRTcGFjZUF2YWlsYWJsZUZvck9yaWdpbigpCisg
ICAgICAgIC0gV2ViS2l0OjpXZWJLaXRDbGllbnQ6OmRhdGFiYXNlR2V0U3BhY2VBdmFpbGFibGVG
b3JPcmlnaW4oKQorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MDk4NQorCisgICAgICAgICogcHVibGljL1dlYkRhdGFiYXNlLmg6CisgICAgICAgICog
cHVibGljL1dlYktpdENsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJLaXRDbGllbnQ6OmRh
dGFiYXNlR2V0U3BhY2VBdmFpbGFibGVGb3JPcmlnaW4pOgorICAgICAgICAqIHNyYy9QbGF0Zm9y
bUJyaWRnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUJyaWRnZTo6ZGF0YWJhc2VH
ZXRTcGFjZUF2YWlsYWJsZUZvck9yaWdpbik6CisgICAgICAgICogc3JjL1dlYkRhdGFiYXNlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6OnVwZGF0ZURhdGFiYXNlU2l6ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlOjp1cGRhdGVTcGFjZUF2YWlsYWJsZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlOjpyZXNldFNwYWNlQXZhaWxhYmxlKToKKwogMjAxMS0w
NS0xOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg2ODY5LCByODY4NzMsIHI4Njg3NSwgYW5kIHI4
Njg3Ny4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRhdGFiYXNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRGF0YWJhc2Uu
aAkocmV2aXNpb24gODY4NzUpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJE
YXRhYmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MiwxMSArNTIsMjAgQEAgcHVibGljOgogICAg
IFdFQktJVF9BUEkgc3RhdGljIFdlYkRhdGFiYXNlT2JzZXJ2ZXIqIG9ic2VydmVyKCk7CiAKICAg
ICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIHVwZGF0ZURhdGFiYXNlU2l6ZSgKLSAgICAgICAgY29u
c3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIGRhdGFiYXNl
TmFtZSwKLSAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nIGRhdGFiYXNlU2l6ZSwgdW5zaWduZWQg
bG9uZyBsb25nIHNwYWNlQXZhaWxhYmxlKTsKKyAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBvcmln
aW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUsIGxvbmcgbG9uZyBzaXplKTsKKyAg
ICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIHVwZGF0ZVNwYWNlQXZhaWxhYmxlKAorICAgICAgICBj
b25zdCBXZWJTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIGxvbmcgbG9uZyBzcGFjZUF2YWlsYWJs
ZSk7CisgICAgV0VCS0lUX0FQSSBzdGF0aWMgdm9pZCByZXNldFNwYWNlQXZhaWxhYmxlKAorICAg
ICAgICBjb25zdCBXZWJTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIpOworCiAgICAgV0VCS0lUX0FQ
SSBzdGF0aWMgdm9pZCBjbG9zZURhdGFiYXNlSW1tZWRpYXRlbHkoCiAgICAgICAgIGNvbnN0IFdl
YlN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgV2ViU3RyaW5nJiBkYXRhYmFzZU5hbWUp
OwogCisgICAgLy8gREVQUkVDQVRFRCAtIHRvIGJlIHJlbW92ZWQgc29vbgorICAgIFdFQktJVF9B
UEkgc3RhdGljIHZvaWQgdXBkYXRlRGF0YWJhc2VTaXplKAorICAgICAgICBjb25zdCBXZWJTdHJp
bmcmIG9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFdlYlN0cmluZyYgZGF0YWJhc2VOYW1lLAorICAg
ICAgICBsb25nIGxvbmcgZGF0YWJhc2VTaXplLCBsb25nIGxvbmcgc3BhY2VBdmFpbGFibGUpOwor
CiAjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCiAgICAgV2ViRGF0YWJhc2UoY29uc3QgV2ViQ29y
ZTo6QWJzdHJhY3REYXRhYmFzZSopOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAkocmV2aXNpb24gODY4NzUpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MTM5LDYgKzEzOSw4IEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRoZSBzaXplIG9mIHRoZSBn
aXZlbiBkYXRhYmFzZSBmaWxlCiAgICAgdmlydHVhbCBsb25nIGxvbmcgZGF0YWJhc2VHZXRGaWxl
U2l6ZShjb25zdCBXZWJTdHJpbmcmIHZmc0ZpbGVOYW1lKSB7IHJldHVybiAwOyB9CiAKKyAgICAv
LyBSZXR1cm5zIHRoZSBzcGFjZSBhdmFpbGFibGUgZm9yIHRoZSBnaXZlbiBvcmlnaW4KKyAgICB2
aXJ0dWFsIGxvbmcgbG9uZyBkYXRhYmFzZUdldFNwYWNlQXZhaWxhYmxlRm9yT3JpZ2luKGNvbnN0
IFdlYktpdDo6V2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyKSB7IHJldHVybiAwOyB9CiAKICAg
ICAvLyBJbmRleGVkIERhdGFiYXNlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxh
dGZvcm1CcmlkZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1BsYXRmb3JtQnJpZGdlLmNwcAkocmV2aXNpb24gODY4NzUpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwMCw2ICs1
MDAsMTEgQEAgbG9uZyBsb25nIFBsYXRmb3JtQnJpZGdlOjpkYXRhYmFzZUdldEZpbAogICAgIHJl
dHVybiB3ZWJLaXRDbGllbnQoKS0+ZGF0YWJhc2VHZXRGaWxlU2l6ZShXZWJTdHJpbmcodmZzRmls
ZU5hbWUpKTsKIH0KIAorbG9uZyBsb25nIFBsYXRmb3JtQnJpZGdlOjpkYXRhYmFzZUdldFNwYWNl
QXZhaWxhYmxlRm9yT3JpZ2luKGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllcikKK3sKKyAg
ICByZXR1cm4gd2ViS2l0Q2xpZW50KCktPmRhdGFiYXNlR2V0U3BhY2VBdmFpbGFibGVGb3JPcmln
aW4ob3JpZ2luSWRlbnRpZmllcik7Cit9CisKIC8vIEluZGV4ZWQgRGF0YWJhc2UgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogUGFz
c1JlZlB0cjxJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4gUGxhdGZvcm1CcmlkZ2U6OmlkYkZh
Y3RvcnkoKQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGF0YWJhc2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRhdGFiYXNlLmNw
cAkocmV2aXNpb24gODY4NzUpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEYXRh
YmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyLDEzICs5MiwzNSBAQCBXZWJEYXRhYmFzZU9i
c2VydmVyKiBXZWJEYXRhYmFzZTo6b2JzZXJ2CiAgICAgcmV0dXJuIGRhdGFiYXNlT2JzZXJ2ZXI7
CiB9CiAKK3ZvaWQgV2ViRGF0YWJhc2U6OnVwZGF0ZURhdGFiYXNlU2l6ZShjb25zdCBXZWJTdHJp
bmcmIG9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwgbG9uZyBsb25nIHNp
emUpCit7CisjaWYgRU5BQkxFKERBVEFCQVNFKQorICAgIFF1b3RhVHJhY2tlcjo6aW5zdGFuY2Uo
KS51cGRhdGVEYXRhYmFzZVNpemUob3JpZ2luSWRlbnRpZmllciwgbmFtZSwgc2l6ZSk7CisjZW5k
aWYgLy8gRU5BQkxFKERBVEFCQVNFKQorfQorCit2b2lkIFdlYkRhdGFiYXNlOjp1cGRhdGVTcGFj
ZUF2YWlsYWJsZShjb25zdCBXZWJTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIGxvbmcgbG9uZyBz
cGFjZUF2YWlsYWJsZSkKK3sKKyNpZiBFTkFCTEUoREFUQUJBU0UpCisgICAgUXVvdGFUcmFja2Vy
OjppbnN0YW5jZSgpLnVwZGF0ZVNwYWNlQXZhaWxhYmxlVG9PcmlnaW4ob3JpZ2luSWRlbnRpZmll
ciwgc3BhY2VBdmFpbGFibGUpOworI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKK30KKwordm9p
ZCBXZWJEYXRhYmFzZTo6cmVzZXRTcGFjZUF2YWlsYWJsZShjb25zdCBXZWJTdHJpbmcmIG9yaWdp
bklkZW50aWZpZXIpCit7CisjaWYgRU5BQkxFKERBVEFCQVNFKQorICAgIFF1b3RhVHJhY2tlcjo6
aW5zdGFuY2UoKS5yZXNldFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4ob3JpZ2luSWRlbnRpZmllcik7
CisjZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorfQorCisvLyBGSVhNRTogVGhpcyBpcyBkZXBy
ZWNhdGVkLCBkZWxldGUgYWZ0ZXIgcm9sbGluZyBERVBzIGFuZCBjaHJvbWUgaXMgdXNpbmcgdGhl
IG5ldyBtZXRob2RzLgogdm9pZCBXZWJEYXRhYmFzZTo6dXBkYXRlRGF0YWJhc2VTaXplKAogICAg
IGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgV2ViU3RyaW5nJiBkYXRh
YmFzZU5hbWUsCi0gICAgdW5zaWduZWQgbG9uZyBsb25nIGRhdGFiYXNlU2l6ZSwgdW5zaWduZWQg
bG9uZyBsb25nIHNwYWNlQXZhaWxhYmxlKQorICAgIGxvbmcgbG9uZyBkYXRhYmFzZVNpemUsIGxv
bmcgbG9uZyBzcGFjZUF2YWlsYWJsZSkKIHsKICNpZiBFTkFCTEUoREFUQUJBU0UpCi0gICAgV2Vi
Q29yZTo6UXVvdGFUcmFja2VyOjppbnN0YW5jZSgpLnVwZGF0ZURhdGFiYXNlU2l6ZUFuZFNwYWNl
QXZhaWxhYmxlVG9PcmlnaW4oCi0gICAgICAgIG9yaWdpbklkZW50aWZpZXIsIGRhdGFiYXNlTmFt
ZSwgZGF0YWJhc2VTaXplLCBzcGFjZUF2YWlsYWJsZSk7CisgICAgdXBkYXRlRGF0YWJhc2VTaXpl
KG9yaWdpbklkZW50aWZpZXIsIGRhdGFiYXNlTmFtZSwgZGF0YWJhc2VTaXplKTsKKyAgICB1cGRh
dGVTcGFjZUF2YWlsYWJsZShvcmlnaW5JZGVudGlmaWVyLCBzcGFjZUF2YWlsYWJsZSk7CiAjZW5k
aWYgLy8gRU5BQkxFKERBVEFCQVNFKQogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>