<?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>81531</bug_id>
          
          <creation_ts>2012-03-19 11:32:00 -0700</creation_ts>
          <short_desc>[BlackBerry] Add new layout test for text match marker</short_desc>
          <delta_ts>2012-03-19 15:03:40 -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 BlackBerry</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>0</everconfirmed>
          <reporter name="Andy Chen">andchen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>581981</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Chen">andchen</who>
    <bug_when>2012-03-19 11:32:00 -0700</bug_when>
    <thetext>- Need to add new test case for text match marker.
- Need to make LayoutTestControllerBlackBerry::findString point to BlackBerry port implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581995</commentid>
    <comment_count>1</comment_count>
      <attachid>132618</attachid>
    <who name="Andy Chen">andchen</who>
    <bug_when>2012-03-19 11:39:48 -0700</bug_when>
    <thetext>Created attachment 132618
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581999</commentid>
    <comment_count>2</comment_count>
      <attachid>132618</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-03-19 11:45:04 -0700</bug_when>
    <thetext>Comment on attachment 132618
patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582040</commentid>
    <comment_count>3</comment_count>
      <attachid>132618</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 12:20:57 -0700</bug_when>
    <thetext>Comment on attachment 132618
patch

Rejecting attachment 132618 from commit-queue.

New failing tests:
platform/blackberry/editing/text-iterator/findString-markers.html
Full output: http://queues.webkit.org/results/11989249</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582046</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Chen">andchen</who>
    <bug_when>2012-03-19 12:25:56 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 132618 [details])
&gt; Rejecting attachment 132618 [details] from commit-queue.
&gt; 
&gt; New failing tests:
&gt; platform/blackberry/editing/text-iterator/findString-markers.html
&gt; Full output: http://queues.webkit.org/results/11989249

The output says nothing about my test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582072</commentid>
    <comment_count>5</comment_count>
      <attachid>132618</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 12:40:38 -0700</bug_when>
    <thetext>Comment on attachment 132618
patch

Attachment 132618 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11981860

New failing tests:
platform/blackberry/editing/text-iterator/findString-markers.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582084</commentid>
    <comment_count>6</comment_count>
    <who name="Andy Chen">andchen</who>
    <bug_when>2012-03-19 12:53:55 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 132618 [details])
&gt; Attachment 132618 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/11981860
&gt; 
&gt; New failing tests:
&gt; platform/blackberry/editing/text-iterator/findString-markers.html

It is a test for blackberry port only, cr-linux should not even test it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582122</commentid>
    <comment_count>7</comment_count>
      <attachid>132640</attachid>
    <who name="Andy Chen">andchen</who>
    <bug_when>2012-03-19 13:17:21 -0700</bug_when>
    <thetext>Created attachment 132640
updated text-expectations for cr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582130</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 13:20:23 -0700</bug_when>
    <thetext>Attachment 132640 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/plat...&quot; exit_code: 1
LayoutTests/platform/chromium/test_expectations.txt:575:  Missing expectations WONTFIX SKIP : platform/blackberry/editing/text-iterator/findString-markers.html  [test/expectations] [5]
Total errors found: 1 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>582138</commentid>
    <comment_count>9</comment_count>
      <attachid>132646</attachid>
    <who name="Andy Chen">andchen</who>
    <bug_when>2012-03-19 13:24:48 -0700</bug_when>
    <thetext>Created attachment 132646
updated text-expectations for cr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582143</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 13:27:14 -0700</bug_when>
    <thetext>Attachment 132646 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/plat...&quot; exit_code: 1
LayoutTests/platform/chromium/test_expectations.txt:575:  Missing expectations WONTFIX SKIP : platform/blackberry/editing/text-iterator/findString-markers.html PASS TIMEOUT FAIL  [test/expectations] [5]
Total errors found: 1 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>582146</commentid>
    <comment_count>11</comment_count>
      <attachid>132647</attachid>
    <who name="Andy Chen">andchen</who>
    <bug_when>2012-03-19 13:30:04 -0700</bug_when>
    <thetext>Created attachment 132647
updated text-expectations for cr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582181</commentid>
    <comment_count>12</comment_count>
      <attachid>132647</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-03-19 13:46:54 -0700</bug_when>
    <thetext>Comment on attachment 132647
updated text-expectations for cr

Seems no errors now, lets retry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582297</commentid>
    <comment_count>13</comment_count>
      <attachid>132647</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 15:03:35 -0700</bug_when>
    <thetext>Comment on attachment 132647
updated text-expectations for cr

Clearing flags on attachment: 132647

Committed r111256: &lt;http://trac.webkit.org/changeset/111256&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582298</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 15:03:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132618</attachid>
            <date>2012-03-19 11:39:48 -0700</date>
            <delta_ts>2012-03-19 13:30:04 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Tools.patch</filename>
            <type>text/plain</type>
            <size>9500</size>
            <attacher name="Andy Chen">andchen</attacher>
            
              <data encoding="base64">RnJvbSA1N2UwMjIzYjY3YjIzMDhhMmIxNTdkNDg0MjdkZTY4YmMwOGYwM2NkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmR5IENoZW4gPGFuZGNoZW5AcmltLmNvbT4KRGF0ZTogTW9u
LCAxOSBNYXIgMjAxMiAxMzozMzo1MyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIFRvb2xzOgoKMjAx
Mi0wMy0xOSAgQW5keSBDaGVuICA8YW5kY2hlbkByaW0uY29tPgoKICAgICAgICBNYWtlIHRoZSBM
YXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnk6OmZpbmRTdHJpbmcgdG8gdGVzdCB0aGUKICAg
ICAgICBCbGFja0JlcnJ5IHBvcnQgaW1wbGVtZW50YXRpb24uCgogICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5
b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcDoKICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmZpbmRTdHJpbmcpOgoKTGF5b3V0VGVzdHM6CgoyMDEyLTAzLTE5ICBBbmR5IENoZW4g
IDxhbmRjaGVuQHJpbS5jb20+CgogICAgICAgIEFkZCBhIG5ldyB0ZXN0IGZvciB0ZXh0IG1hdGNo
IG1hcmtlcnMgZm9yIEJsYWNrQmVycnkgcG9ydC4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgogICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9lZGl0aW5nL3RleHQtaXRl
cmF0b3IvZmluZFN0cmluZy1tYXJrZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBw
bGF0Zm9ybS9ibGFja2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtl
cnMuaHRtbDogQWRkZWQuCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDEyICsrKwogLi4uL3RleHQtaXRlcmF0b3IvZmluZFN0cmluZy1t
YXJrZXJzLWV4cGVjdGVkLnR4dCAgfCAgIDY3ICsrKysrKysrKysrKysrKwogLi4uL2VkaXRpbmcv
dGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMuaHRtbCAgfCAgIDkwICsrKysrKysrKysr
KysrKysrKysrCiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgMTMgKysrCiAuLi4vYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNr
QmVycnkuY3BwICB8ICAgIDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMTgzIGluc2VydGlvbnMoKyks
IDEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
YmxhY2tiZXJyeS9lZGl0aW5nL3RleHQtaXRlcmF0b3IvZmluZFN0cmluZy1tYXJrZXJzLWV4cGVj
dGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVy
cnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy5odG1sCgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDU2OWM3YTguLmNmYzBkMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMy0xOSAgQW5k
eSBDaGVuICA8YW5kY2hlbkByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBBZGQgbmV3
IGxheW91dCB0ZXN0IGZvciB0ZXh0IG1hdGNoIG1hcmtlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1MzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgbGF5b3V0IHRlc3QgZm9yIHRleHQg
bWF0Y2ggbWFya2VyIGZvciBCbGFja0JlcnJ5IHBvcnQKKworICAgICAgICAqIHBsYXRmb3JtL2Js
YWNrYmVycnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvZWRpdGluZy90ZXh0
LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy5odG1sOiBBZGRlZC4KKwogMjAxMi0wMy0xOSAg
TWlrZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENTUzMg
Y2FsYzogbWFrZSBtYXNrIGltYWdlcyB3b3JrIHdpdGggbWl4ZWQgcGVyY2VudC9hYnNvbHV0ZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9lZGl0aW5nL3RleHQt
aXRlcmF0b3IvZmluZFN0cmluZy1tYXJrZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2JsYWNrYmVycnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vy
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTUxMWU3
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvZWRp
dGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw2NyBAQAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4
dG1hdGNoIikgaXMgMQorUEFTUyAiYSIgaXMgImEiCitQQVNTIGludGVybmFscy5tYXJrZXJDb3Vu
dEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFTUyAiYiIgaXMgImIi
CitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1h
dGNoIikgaXMgMQorUEFTUyAiYyIgaXMgImMiCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZv
ck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFTUyAiZCIgaXMgImQiCitQ
QVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNo
IikgaXMgMworUEFTUyAiZSIgaXMgImUiCitQQVNTICJlIiBpcyAiZSIKK1BBU1MgImUiIGlzICJl
IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRt
YXRjaCIpIGlzIDEKK1BBU1MgImYiIGlzICJmIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRG
b3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImciIGlzICJnIgor
UEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRj
aCIpIGlzIDIKK1BBU1MgImgiIGlzICJoIgorUEFTUyAiaCIgaXMgImgiCitQQVNTIGludGVybmFs
cy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFT
UyAiaSIgaXMgImkiCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENo
aWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFTUyAiaiIgaXMgImoiCitQQVNTIGludGVybmFscy5t
YXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFTUyAi
ayIgaXMgImsiCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxk
LCAidGV4dG1hdGNoIikgaXMgMQorUEFTUyAibCIgaXMgImwiCitQQVNTIGludGVybmFscy5tYXJr
ZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFTUyAibSIg
aXMgIm0iCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAi
dGV4dG1hdGNoIikgaXMgMQorUEFTUyAibiIgaXMgIm4iCitQQVNTIGludGVybmFscy5tYXJrZXJD
b3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgNAorUEFTUyAibyIgaXMg
Im8iCitQQVNTICJvIiBpcyAibyIKK1BBU1MgIm8iIGlzICJvIgorUEFTUyAibyIgaXMgIm8iCitQ
QVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNo
IikgaXMgMQorUEFTUyAicCIgaXMgInAiCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5v
ZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFTUyAicSIgaXMgInEiCitQQVNT
IGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikg
aXMgMgorUEFTUyAiciIgaXMgInIiCitQQVNTICJyIiBpcyAiciIKK1BBU1MgaW50ZXJuYWxzLm1h
cmtlckNvdW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0ZXh0bWF0Y2giKSBpcyAxCitQQVNTICJz
IiBpcyAicyIKK1BBU1MgaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQs
ICJ0ZXh0bWF0Y2giKSBpcyAyCitQQVNTICJUIiBpcyAiVCIKK1BBU1MgInQiIGlzICJ0IgorUEFT
UyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIp
IGlzIDIKK1BBU1MgInUiIGlzICJ1IgorUEFTUyAidSIgaXMgInUiCitQQVNTIGludGVybmFscy5t
YXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFTUyAi
diIgaXMgInYiCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxk
LCAidGV4dG1hdGNoIikgaXMgMQorUEFTUyAidyIgaXMgInciCitQQVNTIGludGVybmFscy5tYXJr
ZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFTUyAieCIg
aXMgIngiCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAi
dGV4dG1hdGNoIikgaXMgMQorUEFTUyAieSIgaXMgInkiCitQQVNTIGludGVybmFscy5tYXJrZXJD
b3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFTUyAieiIgaXMg
InoiCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4
dG1hdGNoIikgaXMgMQorUEFTUyAiLiIgaXMgIi4iCitUaGUgcXVpY2sgYnJvd24gZm94IGp1bXBz
IG92ZXIgdGhlIGxhenkgZG9nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9lZGl0aW5nL3RleHQtaXRlcmF0b3IvZmluZFN0cmluZy1tYXJrZXJzLmh0bWwgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5k
U3RyaW5nLW1hcmtlcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5k
ZGU2M2FhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJy
eS9lZGl0aW5nL3RleHQtaXRlcmF0b3IvZmluZFN0cmluZy1tYXJrZXJzLmh0bWwKQEAgLTAsMCAr
MSw5MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorLnBsYWlu
dGV4dCB7CisgICAgYm9yZGVyOiAycHggc29saWQgcmVkOworICAgIHBhZGRpbmc6IDEycHg7Cisg
ICAgZm9udC1zaXplOiAyNHB4OworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwcmUgaWQ9ImRlc2NyaXB0aW9uIj48L3ByZT4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgor
PGRpdiBpZD0iY29udGFpbmVyIj4KKzwvZGl2PgorCis8c2NyaXB0PgorCitpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK30KKworZnVu
Y3Rpb24gY3JlYXRlUGxhaW5UZXh0RWxlbWVudChpZCwgdGV4dCwgcGFyZW50KSB7CisgICAgdmFy
IGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBlLmNsYXNzTmFtZSA9ICdw
bGFpbnRleHQnOworICAgIGUuaWQgPSBpZDsKKyAgICBlLmlubmVyVGV4dCA9IHRleHQ7CisKKyAg
ICBwYXJlbnQuYXBwZW5kQ2hpbGQoZSk7CisgICAgcmV0dXJuIGU7Cit9CisKK2Z1bmN0aW9uIG9j
Y3VycmVuY2VzKHN0cmluZywgc3Vic3RyaW5nKSB7CisgICAgdmFyIG49MDsKKyAgICB2YXIgcG9z
PTA7CisKKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBwb3MgPSBzdHJpbmcudG9Mb3dlckNh
c2UoKS5pbmRleE9mKHN1YnN0cmluZy50b0xvd2VyQ2FzZSgpLHBvcyk7CisgICAgICAgIGlmIChw
b3MhPS0xKSB7CisgICAgICAgICAgICArK247CisgICAgICAgICAgICBwb3MrPXN1YnN0cmluZy5s
ZW5ndGg7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIHJl
dHVybiBuOworfQorCitmdW5jdGlvbiBjaGVja1RleHRNYXRjaE1hcmtlcihpbmRleCkgeworICAg
IGlmIChpbmRleCA+IDI2KSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICB2YXIgc3RyID0gJ2FiY2RlZmdoaWpr
bG1ub3BxcnN0dXZ3eHl6Lic7CisgICAgdmFyIGNoYXIgPSBzdHIuY2hhckF0KGluZGV4KTsKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5maW5kU3RyaW5nKHN0ci5jaGFyQXQoaW5kZXgpLCBbXSk7
CisgICAgLy8gU3RhcnQgdGhlIGZ1bmN0aW9uIGxhdGVyIHRvIGFsbG93IG1hcmtpbmcgcHJvY2Vz
cyB0byBmaW5pc2guCisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgdmFyIGNv
dW50ID0gb2NjdXJyZW5jZXModGV4dCwgY2hhcik7CisgICAgICAgIC8vIFRoZSBudW1iZXIgb2Yg
bWFya2VycyBzaG91bGQgbWF0Y2ggdG8gdGhlIG9jY3VycmVuY2VzIG9mIHRoZSBjaGFyYWN0b3Iu
CisgICAgICAgIHNob3VsZEJlKCdpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RD
aGlsZCwgInRleHRtYXRjaCIpJywgY291bnQudG9TdHJpbmcoKSk7CisgICAgICAgIHZhciBzZWFy
Y2hTdGFydEluZGV4ID0gMDsKKyAgICAgICAgLy8gR2V0IHRoZSBjaGFyIGZyb20gdGV4dCBhbmQg
Y29tcGFyZSB3aXRoIHRoZSBtYXJrZXIgcmFuZ2UgY29udGVudC4KKyAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBjb3VudCA7ICsraSkgeworICAgICAgICAgICAgdmFyIHJhbmdlID0gaW50ZXJu
YWxzLm1hcmtlclJhbmdlRm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0ZXh0bWF0Y2giLCBpKTsKKyAg
ICAgICAgICAgIHZhciBwb3MgPSB0ZXh0LnRvTG93ZXJDYXNlKCkuaW5kZXhPZihjaGFyLnRvTG93
ZXJDYXNlKCksIHNlYXJjaFN0YXJ0SW5kZXgpOworICAgICAgICAgICAgc2VhcmNoU3RhcnRJbmRl
eCA9IHBvcyArIDE7CisgICAgICAgICAgICB2YXIgZXhwZWN0U3RyID0gdGV4dC5jaGFyQXQocG9z
KTsKKyAgICAgICAgICAgIHNob3VsZEJlKCciJyArIHJhbmdlICsgJyInLCAnIicgKyBleHBlY3RT
dHIgKyAnIicpOworICAgICAgICB9CisgICAgICAgIGNoZWNrVGV4dE1hdGNoTWFya2VyKCsraW5k
ZXgpOworICAgIH0sIDg1MCk7Cit9CisKK3ZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnY29udGFpbmVyJyk7CisKK3ZhciBpZCA9ICdpZDEnCit2YXIgdGV4dCA9ICdUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nLic7Cit2YXIgZSA9IGNyZWF0
ZVBsYWluVGV4dEVsZW1lbnQoaWQsIHRleHQsIGNvbnRhaW5lcik7CisKK2lmICh3aW5kb3cuaW50
ZXJuYWxzICYmIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBjaGVja1RleHRNYXRj
aE1hcmtlcigwKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDAzMDNlMDQuLjU4Nzg3ZDYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0w
My0xOSAgQW5keSBDaGVuICA8YW5kY2hlbkByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5
XSBBZGQgbmV3IGxheW91dCB0ZXN0IGZvciB0ZXh0IG1hdGNoIG1hcmtlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1MzEKKworICAgICAgICBNYWtl
IHRoZSBMYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnk6OmZpbmRTdHJpbmcgdG8gdGVzdCB0
aGUKKyAgICAgICAgQmxhY2tCZXJyeSBwb3J0IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvYmxh
Y2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3BwOgorICAgICAgICAoTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmZpbmRTdHJpbmcpOgorCiAyMDEyLTAzLTE5ICBEYXZpZCBNaWNo
YWVsIEJhcnIgIDxkYXZpZGJhcnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBPcHRpbWl6ZSB0aGUg
Y2xlYW51cCBzZXF1ZW5jZSBpbiB0aGUgc3RhcnQtcXVldWUuc2ggc2NyaXB0CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxh
Y2tCZXJyeS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RD
b250cm9sbGVyQmxhY2tCZXJyeS5jcHAKaW5kZXggZDRkMjNkMi4uNjJlOTU0OCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJs
YWNrQmVycnkuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0
VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcApAQCAtODQ4LDcgKzg0OCw3IEBAIGJvb2wgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmZpbmRTdHJpbmcoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTU3Ry
aW5nUmVmIHRhcmdldCwKICAgICAgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0
cmluZyhvcHRpb25OYW1lLmdldCgpLCAiU3RhcnRJblNlbGVjdGlvbiIpKQogICAgICAgICAgICAg
b3B0aW9ucyB8PSBXZWJDb3JlOjpTdGFydEluU2VsZWN0aW9uOwogICAgIH0KLSAgICByZXR1cm4g
QmxhY2tCZXJyeTo6V2ViS2l0OjpEdW1wUmVuZGVyVHJlZTo6Y3VycmVudEluc3RhbmNlKCktPmZp
bmRTdHJpbmcobmFtZVN0ciwgb3B0aW9ucyk7CisgICAgcmV0dXJuIEJsYWNrQmVycnk6OldlYktp
dDo6RHVtcFJlbmRlclRyZWU6OmN1cnJlbnRJbnN0YW5jZSgpLT5wYWdlKCktPmZpbmROZXh0U3Ry
aW5nKG5hbWVTdHIudXRmOCgpLmRhdGEoKSwgIShvcHRpb25zIHwgV2ViQ29yZTo6QmFja3dhcmRz
KSk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmRlbGV0ZUxvY2FsU3RvcmFnZUZv
ck9yaWdpbihKU1N0cmluZ1JlZiBVUkwpCi0tIAoxLjcuNS40Cgo=
</data>
<flag name="review"
          id="136317"
          type_id="1"
          status="+"
          setter="rwlbuis"
    />
    <flag name="commit-queue"
          id="136318"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132640</attachid>
            <date>2012-03-19 13:17:21 -0700</date>
            <delta_ts>2012-03-19 13:24:17 -0700</delta_ts>
            <desc>updated text-expectations for cr</desc>
            <filename>0001-Tools.patch</filename>
            <type>text/plain</type>
            <size>10280</size>
            <attacher name="Andy Chen">andchen</attacher>
            
              <data encoding="base64">RnJvbSBhNzJlM2I5Y2I0OTU5MjRjN2IwYjQ3YTM4YmJkNTk5NjliNDQ0OGRjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmR5IENoZW4gPGFuZGNoZW5AcmltLmNvbT4KRGF0ZTogTW9u
LCAxOSBNYXIgMjAxMiAxMzozMzo1MyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIFRvb2xzOgoKMjAx
Mi0wMy0xOSAgQW5keSBDaGVuICA8YW5kY2hlbkByaW0uY29tPgoKICAgICAgICBNYWtlIHRoZSBM
YXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnk6OmZpbmRTdHJpbmcgdG8gdGVzdCB0aGUKICAg
ICAgICBCbGFja0JlcnJ5IHBvcnQgaW1wbGVtZW50YXRpb24uCgogICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5
b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcDoKICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmZpbmRTdHJpbmcpOgoKTGF5b3V0VGVzdHM6CgoyMDEyLTAzLTE5ICBBbmR5IENoZW4g
IDxhbmRjaGVuQHJpbS5jb20+CgogICAgICAgIEFkZCBhIG5ldyB0ZXN0IGZvciB0ZXh0IG1hdGNo
IG1hcmtlcnMgZm9yIEJsYWNrQmVycnkgcG9ydC4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgogICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9lZGl0aW5nL3RleHQtaXRl
cmF0b3IvZmluZFN0cmluZy1tYXJrZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBw
bGF0Zm9ybS9ibGFja2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtl
cnMuaHRtbDogQWRkZWQuCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDEyICsrKwogLi4uL3RleHQtaXRlcmF0b3IvZmluZFN0cmluZy1t
YXJrZXJzLWV4cGVjdGVkLnR4dCAgfCAgIDY3ICsrKysrKysrKysrKysrKwogLi4uL2VkaXRpbmcv
dGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMuaHRtbCAgfCAgIDkwICsrKysrKysrKysr
KysrKysrKysrCiAuLi4vcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0ICAg
ICAgICB8ICAgIDMgKwogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDEzICsrKwogLi4uL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJC
bGFja0JlcnJ5LmNwcCAgfCAgICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDE4NiBpbnNlcnRpb25z
KCspLCAxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRm
b3JtL2JsYWNrYmVycnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy1l
eHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFj
a2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMuaHRtbAoKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA1NjljN2E4Li5jZmMwZDM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDMtMTkg
IEFuZHkgQ2hlbiAgPGFuZGNoZW5AcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gQWRk
IG5ldyBsYXlvdXQgdGVzdCBmb3IgdGV4dCBtYXRjaCBtYXJrZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNTMxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGxheW91dCB0ZXN0IGZvciB0
ZXh0IG1hdGNoIG1hcmtlciBmb3IgQmxhY2tCZXJyeSBwb3J0CisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ibGFja2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L2VkaXRpbmcv
dGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMuaHRtbDogQWRkZWQuCisKIDIwMTItMDMt
MTkgIE1pa2UgTGF3dGhlciAgPG1pa2VsYXd0aGVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBD
U1MzIGNhbGM6IG1ha2UgbWFzayBpbWFnZXMgd29yayB3aXRoIG1peGVkIHBlcmNlbnQvYWJzb2x1
dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvZWRpdGluZy90
ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1h
cmtlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1
MTFlNzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5
L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNjcgQEAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwg
InRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImEiIGlzICJhIgorUEFTUyBpbnRlcm5hbHMubWFya2Vy
Q291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImIiIGlz
ICJiIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRl
eHRtYXRjaCIpIGlzIDEKK1BBU1MgImMiIGlzICJjIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291
bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImQiIGlzICJk
IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRt
YXRjaCIpIGlzIDMKK1BBU1MgImUiIGlzICJlIgorUEFTUyAiZSIgaXMgImUiCitQQVNTICJlIiBp
cyAiZSIKK1BBU1MgaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0
ZXh0bWF0Y2giKSBpcyAxCitQQVNTICJmIiBpcyAiZiIKK1BBU1MgaW50ZXJuYWxzLm1hcmtlckNv
dW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0ZXh0bWF0Y2giKSBpcyAxCitQQVNTICJnIiBpcyAi
ZyIKK1BBU1MgaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0ZXh0
bWF0Y2giKSBpcyAyCitQQVNTICJoIiBpcyAiaCIKK1BBU1MgImgiIGlzICJoIgorUEFTUyBpbnRl
cm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEK
K1BBU1MgImkiIGlzICJpIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmly
c3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImoiIGlzICJqIgorUEFTUyBpbnRlcm5h
bHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BB
U1MgImsiIGlzICJrIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RD
aGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImwiIGlzICJsIgorUEFTUyBpbnRlcm5hbHMu
bWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1Mg
Im0iIGlzICJtIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGls
ZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgIm4iIGlzICJuIgorUEFTUyBpbnRlcm5hbHMubWFy
a2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDQKK1BBU1MgIm8i
IGlzICJvIgorUEFTUyAibyIgaXMgIm8iCitQQVNTICJvIiBpcyAibyIKK1BBU1MgIm8iIGlzICJv
IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRt
YXRjaCIpIGlzIDEKK1BBU1MgInAiIGlzICJwIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRG
b3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInEiIGlzICJxIgor
UEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRj
aCIpIGlzIDIKK1BBU1MgInIiIGlzICJyIgorUEFTUyAiciIgaXMgInIiCitQQVNTIGludGVybmFs
cy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFT
UyAicyIgaXMgInMiCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENo
aWxkLCAidGV4dG1hdGNoIikgaXMgMgorUEFTUyAiVCIgaXMgIlQiCitQQVNTICJ0IiBpcyAidCIK
K1BBU1MgaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0ZXh0bWF0
Y2giKSBpcyAyCitQQVNTICJ1IiBpcyAidSIKK1BBU1MgInUiIGlzICJ1IgorUEFTUyBpbnRlcm5h
bHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BB
U1MgInYiIGlzICJ2IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RD
aGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInciIGlzICJ3IgorUEFTUyBpbnRlcm5hbHMu
bWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1Mg
IngiIGlzICJ4IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGls
ZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInkiIGlzICJ5IgorUEFTUyBpbnRlcm5hbHMubWFy
a2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInoi
IGlzICJ6IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwg
InRleHRtYXRjaCIpIGlzIDEKK1BBU1MgIi4iIGlzICIuIgorVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2JsYWNrYmVycnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy5odG1s
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9lZGl0aW5nL3RleHQtaXRlcmF0b3Iv
ZmluZFN0cmluZy1tYXJrZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZGRlNjNhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNr
YmVycnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy5odG1sCkBAIC0w
LDAgKzEsOTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5w
bGFpbnRleHQgeworICAgIGJvcmRlcjogMnB4IHNvbGlkIHJlZDsKKyAgICBwYWRkaW5nOiAxMnB4
OworICAgIGZvbnQtc2l6ZTogMjRweDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cHJlIGlkPSJkZXNjcmlwdGlvbiI+PC9wcmU+Cis8cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cis8L2Rpdj4KKworPHNjcmlwdD4KKworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9CisK
K2Z1bmN0aW9uIGNyZWF0ZVBsYWluVGV4dEVsZW1lbnQoaWQsIHRleHQsIHBhcmVudCkgeworICAg
IHZhciBlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZS5jbGFzc05hbWUg
PSAncGxhaW50ZXh0JzsKKyAgICBlLmlkID0gaWQ7CisgICAgZS5pbm5lclRleHQgPSB0ZXh0Owor
CisgICAgcGFyZW50LmFwcGVuZENoaWxkKGUpOworICAgIHJldHVybiBlOworfQorCitmdW5jdGlv
biBvY2N1cnJlbmNlcyhzdHJpbmcsIHN1YnN0cmluZykgeworICAgIHZhciBuPTA7CisgICAgdmFy
IHBvcz0wOworCisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgcG9zID0gc3RyaW5nLnRvTG93
ZXJDYXNlKCkuaW5kZXhPZihzdWJzdHJpbmcudG9Mb3dlckNhc2UoKSxwb3MpOworICAgICAgICBp
ZiAocG9zIT0tMSkgeworICAgICAgICAgICAgKytuOworICAgICAgICAgICAgcG9zKz1zdWJzdHJp
bmcubGVuZ3RoOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAg
ICByZXR1cm4gbjsKK30KKworZnVuY3Rpb24gY2hlY2tUZXh0TWF0Y2hNYXJrZXIoaW5kZXgpIHsK
KyAgICBpZiAoaW5kZXggPiAyNikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgdmFyIHN0ciA9ICdhYmNkZWZn
aGlqa2xtbm9wcXJzdHV2d3h5ei4nOworICAgIHZhciBjaGFyID0gc3RyLmNoYXJBdChpbmRleCk7
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZmluZFN0cmluZyhzdHIuY2hhckF0KGluZGV4KSwg
W10pOworICAgIC8vIFN0YXJ0IHRoZSBmdW5jdGlvbiBsYXRlciB0byBhbGxvdyBtYXJraW5nIHBy
b2Nlc3MgdG8gZmluaXNoLgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHZh
ciBjb3VudCA9IG9jY3VycmVuY2VzKHRleHQsIGNoYXIpOworICAgICAgICAvLyBUaGUgbnVtYmVy
IG9mIG1hcmtlcnMgc2hvdWxkIG1hdGNoIHRvIHRoZSBvY2N1cnJlbmNlcyBvZiB0aGUgY2hhcmFj
dG9yLgorICAgICAgICBzaG91bGRCZSgnaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZp
cnN0Q2hpbGQsICJ0ZXh0bWF0Y2giKScsIGNvdW50LnRvU3RyaW5nKCkpOworICAgICAgICB2YXIg
c2VhcmNoU3RhcnRJbmRleCA9IDA7CisgICAgICAgIC8vIEdldCB0aGUgY2hhciBmcm9tIHRleHQg
YW5kIGNvbXBhcmUgd2l0aCB0aGUgbWFya2VyIHJhbmdlIGNvbnRlbnQuCisgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgY291bnQgOyArK2kpIHsKKyAgICAgICAgICAgIHZhciByYW5nZSA9IGlu
dGVybmFscy5tYXJrZXJSYW5nZUZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIiwgaSk7
CisgICAgICAgICAgICB2YXIgcG9zID0gdGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoY2hhci50
b0xvd2VyQ2FzZSgpLCBzZWFyY2hTdGFydEluZGV4KTsKKyAgICAgICAgICAgIHNlYXJjaFN0YXJ0
SW5kZXggPSBwb3MgKyAxOworICAgICAgICAgICAgdmFyIGV4cGVjdFN0ciA9IHRleHQuY2hhckF0
KHBvcyk7CisgICAgICAgICAgICBzaG91bGRCZSgnIicgKyByYW5nZSArICciJywgJyInICsgZXhw
ZWN0U3RyICsgJyInKTsKKyAgICAgICAgfQorICAgICAgICBjaGVja1RleHRNYXRjaE1hcmtlcigr
K2luZGV4KTsKKyAgICB9LCA4NTApOworfQorCit2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOworCit2YXIgaWQgPSAnaWQxJwordmFyIHRleHQgPSAn
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4nOwordmFyIGUgPSBj
cmVhdGVQbGFpblRleHRFbGVtZW50KGlkLCB0ZXh0LCBjb250YWluZXIpOworCitpZiAod2luZG93
LmludGVybmFscyAmJiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgY2hlY2tUZXh0
TWF0Y2hNYXJrZXIoMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA2N2QyN2Y4Li4wMGE2MDg2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0CkBAIC01NzEsNiArNTcxLDkgQEAgV09OVEZJWCBTS0lQIDogc3RvcmFnZS9pbmRl
eGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbCA9IFRFWFQKIC8vIG5lZWQgdG8gaW1wbGVtZW50IHRo
aXMuCiBXT05URklYIDogcGxhdGZvcm0vd2luL2ludmVydGVkLWNvbG9ycy9ub24tY29tcG9zaXRl
ZC5odG1sID0gSU1BR0UrVEVYVAogCisvLyBUZXN0IGZvciBCbGFja0JlcnJ5IHBvcnQgb25seQor
V09OVEZJWCBTS0lQIDogcGxhdGZvcm0vYmxhY2tiZXJyeS9lZGl0aW5nL3RleHQtaXRlcmF0b3Iv
ZmluZFN0cmluZy1tYXJrZXJzLmh0bWwKKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIExJR0hUVFBECiAvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDAzMDNlMDQuLjU4Nzg3ZDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wMy0xOSAgQW5keSBDaGVuICA8
YW5kY2hlbkByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBBZGQgbmV3IGxheW91dCB0
ZXN0IGZvciB0ZXh0IG1hdGNoIG1hcmtlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODE1MzEKKworICAgICAgICBNYWtlIHRoZSBMYXlvdXRUZXN0Q29u
dHJvbGxlckJsYWNrQmVycnk6OmZpbmRTdHJpbmcgdG8gdGVzdCB0aGUKKyAgICAgICAgQmxhY2tC
ZXJyeSBwb3J0IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0
Q29udHJvbGxlckJsYWNrQmVycnkuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6
OmZpbmRTdHJpbmcpOgorCiAyMDEyLTAzLTE5ICBEYXZpZCBNaWNoYWVsIEJhcnIgIDxkYXZpZGJh
cnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBPcHRpbWl6ZSB0aGUgY2xlYW51cCBzZXF1ZW5jZSBp
biB0aGUgc3RhcnQtcXVldWUuc2ggc2NyaXB0CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHAgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJy
eS5jcHAKaW5kZXggZDRkMjNkMi4uNjJlOTU0OCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJCbGFj
a0JlcnJ5LmNwcApAQCAtODQ4LDcgKzg0OCw3IEBAIGJvb2wgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OmZpbmRTdHJpbmcoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTU3RyaW5nUmVmIHRhcmdldCwKICAg
ICAgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhvcHRpb25OYW1lLmdl
dCgpLCAiU3RhcnRJblNlbGVjdGlvbiIpKQogICAgICAgICAgICAgb3B0aW9ucyB8PSBXZWJDb3Jl
OjpTdGFydEluU2VsZWN0aW9uOwogICAgIH0KLSAgICByZXR1cm4gQmxhY2tCZXJyeTo6V2ViS2l0
OjpEdW1wUmVuZGVyVHJlZTo6Y3VycmVudEluc3RhbmNlKCktPmZpbmRTdHJpbmcobmFtZVN0ciwg
b3B0aW9ucyk7CisgICAgcmV0dXJuIEJsYWNrQmVycnk6OldlYktpdDo6RHVtcFJlbmRlclRyZWU6
OmN1cnJlbnRJbnN0YW5jZSgpLT5wYWdlKCktPmZpbmROZXh0U3RyaW5nKG5hbWVTdHIudXRmOCgp
LmRhdGEoKSwgIShvcHRpb25zIHwgV2ViQ29yZTo6QmFja3dhcmRzKSk7CiB9CiAKIHZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmRlbGV0ZUxvY2FsU3RvcmFnZUZvck9yaWdpbihKU1N0cmluZ1Jl
ZiBVUkwpCi0tIAoxLjcuNS40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132646</attachid>
            <date>2012-03-19 13:24:48 -0700</date>
            <delta_ts>2012-03-19 13:30:04 -0700</delta_ts>
            <desc>updated text-expectations for cr</desc>
            <filename>0001-Tools.patch</filename>
            <type>text/plain</type>
            <size>10298</size>
            <attacher name="Andy Chen">andchen</attacher>
            
              <data encoding="base64">RnJvbSBmNTdjY2Y1ZmNjOTE4NDM1NjA1YjBiMTk4Y2Q0MzM2N2ZkZTcwZTM0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmR5IENoZW4gPGFuZGNoZW5AcmltLmNvbT4KRGF0ZTogTW9u
LCAxOSBNYXIgMjAxMiAxMzozMzo1MyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIFRvb2xzOgoKMjAx
Mi0wMy0xOSAgQW5keSBDaGVuICA8YW5kY2hlbkByaW0uY29tPgoKICAgICAgICBNYWtlIHRoZSBM
YXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnk6OmZpbmRTdHJpbmcgdG8gdGVzdCB0aGUKICAg
ICAgICBCbGFja0JlcnJ5IHBvcnQgaW1wbGVtZW50YXRpb24uCgogICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5
b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcDoKICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmZpbmRTdHJpbmcpOgoKTGF5b3V0VGVzdHM6CgoyMDEyLTAzLTE5ICBBbmR5IENoZW4g
IDxhbmRjaGVuQHJpbS5jb20+CgogICAgICAgIEFkZCBhIG5ldyB0ZXN0IGZvciB0ZXh0IG1hdGNo
IG1hcmtlcnMgZm9yIEJsYWNrQmVycnkgcG9ydC4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgogICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9lZGl0aW5nL3RleHQtaXRl
cmF0b3IvZmluZFN0cmluZy1tYXJrZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBw
bGF0Zm9ybS9ibGFja2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtl
cnMuaHRtbDogQWRkZWQuCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDEyICsrKwogLi4uL3RleHQtaXRlcmF0b3IvZmluZFN0cmluZy1t
YXJrZXJzLWV4cGVjdGVkLnR4dCAgfCAgIDY3ICsrKysrKysrKysrKysrKwogLi4uL2VkaXRpbmcv
dGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMuaHRtbCAgfCAgIDkwICsrKysrKysrKysr
KysrKysrKysrCiAuLi4vcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0ICAg
ICAgICB8ICAgIDMgKwogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDEzICsrKwogLi4uL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJC
bGFja0JlcnJ5LmNwcCAgfCAgICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDE4NiBpbnNlcnRpb25z
KCspLCAxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRm
b3JtL2JsYWNrYmVycnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy1l
eHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFj
a2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMuaHRtbAoKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA1NjljN2E4Li5jZmMwZDM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDMtMTkg
IEFuZHkgQ2hlbiAgPGFuZGNoZW5AcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gQWRk
IG5ldyBsYXlvdXQgdGVzdCBmb3IgdGV4dCBtYXRjaCBtYXJrZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNTMxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGxheW91dCB0ZXN0IGZvciB0
ZXh0IG1hdGNoIG1hcmtlciBmb3IgQmxhY2tCZXJyeSBwb3J0CisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ibGFja2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L2VkaXRpbmcv
dGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMuaHRtbDogQWRkZWQuCisKIDIwMTItMDMt
MTkgIE1pa2UgTGF3dGhlciAgPG1pa2VsYXd0aGVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBD
U1MzIGNhbGM6IG1ha2UgbWFzayBpbWFnZXMgd29yayB3aXRoIG1peGVkIHBlcmNlbnQvYWJzb2x1
dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvZWRpdGluZy90
ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1h
cmtlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1
MTFlNzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5
L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNjcgQEAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwg
InRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImEiIGlzICJhIgorUEFTUyBpbnRlcm5hbHMubWFya2Vy
Q291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImIiIGlz
ICJiIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRl
eHRtYXRjaCIpIGlzIDEKK1BBU1MgImMiIGlzICJjIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291
bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImQiIGlzICJk
IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRt
YXRjaCIpIGlzIDMKK1BBU1MgImUiIGlzICJlIgorUEFTUyAiZSIgaXMgImUiCitQQVNTICJlIiBp
cyAiZSIKK1BBU1MgaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0
ZXh0bWF0Y2giKSBpcyAxCitQQVNTICJmIiBpcyAiZiIKK1BBU1MgaW50ZXJuYWxzLm1hcmtlckNv
dW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0ZXh0bWF0Y2giKSBpcyAxCitQQVNTICJnIiBpcyAi
ZyIKK1BBU1MgaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0ZXh0
bWF0Y2giKSBpcyAyCitQQVNTICJoIiBpcyAiaCIKK1BBU1MgImgiIGlzICJoIgorUEFTUyBpbnRl
cm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEK
K1BBU1MgImkiIGlzICJpIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmly
c3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImoiIGlzICJqIgorUEFTUyBpbnRlcm5h
bHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BB
U1MgImsiIGlzICJrIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RD
aGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImwiIGlzICJsIgorUEFTUyBpbnRlcm5hbHMu
bWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1Mg
Im0iIGlzICJtIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGls
ZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgIm4iIGlzICJuIgorUEFTUyBpbnRlcm5hbHMubWFy
a2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDQKK1BBU1MgIm8i
IGlzICJvIgorUEFTUyAibyIgaXMgIm8iCitQQVNTICJvIiBpcyAibyIKK1BBU1MgIm8iIGlzICJv
IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRt
YXRjaCIpIGlzIDEKK1BBU1MgInAiIGlzICJwIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRG
b3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInEiIGlzICJxIgor
UEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRj
aCIpIGlzIDIKK1BBU1MgInIiIGlzICJyIgorUEFTUyAiciIgaXMgInIiCitQQVNTIGludGVybmFs
cy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFT
UyAicyIgaXMgInMiCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENo
aWxkLCAidGV4dG1hdGNoIikgaXMgMgorUEFTUyAiVCIgaXMgIlQiCitQQVNTICJ0IiBpcyAidCIK
K1BBU1MgaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0ZXh0bWF0
Y2giKSBpcyAyCitQQVNTICJ1IiBpcyAidSIKK1BBU1MgInUiIGlzICJ1IgorUEFTUyBpbnRlcm5h
bHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BB
U1MgInYiIGlzICJ2IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RD
aGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInciIGlzICJ3IgorUEFTUyBpbnRlcm5hbHMu
bWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1Mg
IngiIGlzICJ4IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGls
ZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInkiIGlzICJ5IgorUEFTUyBpbnRlcm5hbHMubWFy
a2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInoi
IGlzICJ6IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwg
InRleHRtYXRjaCIpIGlzIDEKK1BBU1MgIi4iIGlzICIuIgorVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2JsYWNrYmVycnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy5odG1s
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9lZGl0aW5nL3RleHQtaXRlcmF0b3Iv
ZmluZFN0cmluZy1tYXJrZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZGRlNjNhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNr
YmVycnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy5odG1sCkBAIC0w
LDAgKzEsOTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5w
bGFpbnRleHQgeworICAgIGJvcmRlcjogMnB4IHNvbGlkIHJlZDsKKyAgICBwYWRkaW5nOiAxMnB4
OworICAgIGZvbnQtc2l6ZTogMjRweDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cHJlIGlkPSJkZXNjcmlwdGlvbiI+PC9wcmU+Cis8cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cis8L2Rpdj4KKworPHNjcmlwdD4KKworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9CisK
K2Z1bmN0aW9uIGNyZWF0ZVBsYWluVGV4dEVsZW1lbnQoaWQsIHRleHQsIHBhcmVudCkgeworICAg
IHZhciBlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZS5jbGFzc05hbWUg
PSAncGxhaW50ZXh0JzsKKyAgICBlLmlkID0gaWQ7CisgICAgZS5pbm5lclRleHQgPSB0ZXh0Owor
CisgICAgcGFyZW50LmFwcGVuZENoaWxkKGUpOworICAgIHJldHVybiBlOworfQorCitmdW5jdGlv
biBvY2N1cnJlbmNlcyhzdHJpbmcsIHN1YnN0cmluZykgeworICAgIHZhciBuPTA7CisgICAgdmFy
IHBvcz0wOworCisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgcG9zID0gc3RyaW5nLnRvTG93
ZXJDYXNlKCkuaW5kZXhPZihzdWJzdHJpbmcudG9Mb3dlckNhc2UoKSxwb3MpOworICAgICAgICBp
ZiAocG9zIT0tMSkgeworICAgICAgICAgICAgKytuOworICAgICAgICAgICAgcG9zKz1zdWJzdHJp
bmcubGVuZ3RoOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAg
ICByZXR1cm4gbjsKK30KKworZnVuY3Rpb24gY2hlY2tUZXh0TWF0Y2hNYXJrZXIoaW5kZXgpIHsK
KyAgICBpZiAoaW5kZXggPiAyNikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgdmFyIHN0ciA9ICdhYmNkZWZn
aGlqa2xtbm9wcXJzdHV2d3h5ei4nOworICAgIHZhciBjaGFyID0gc3RyLmNoYXJBdChpbmRleCk7
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZmluZFN0cmluZyhzdHIuY2hhckF0KGluZGV4KSwg
W10pOworICAgIC8vIFN0YXJ0IHRoZSBmdW5jdGlvbiBsYXRlciB0byBhbGxvdyBtYXJraW5nIHBy
b2Nlc3MgdG8gZmluaXNoLgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHZh
ciBjb3VudCA9IG9jY3VycmVuY2VzKHRleHQsIGNoYXIpOworICAgICAgICAvLyBUaGUgbnVtYmVy
IG9mIG1hcmtlcnMgc2hvdWxkIG1hdGNoIHRvIHRoZSBvY2N1cnJlbmNlcyBvZiB0aGUgY2hhcmFj
dG9yLgorICAgICAgICBzaG91bGRCZSgnaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZp
cnN0Q2hpbGQsICJ0ZXh0bWF0Y2giKScsIGNvdW50LnRvU3RyaW5nKCkpOworICAgICAgICB2YXIg
c2VhcmNoU3RhcnRJbmRleCA9IDA7CisgICAgICAgIC8vIEdldCB0aGUgY2hhciBmcm9tIHRleHQg
YW5kIGNvbXBhcmUgd2l0aCB0aGUgbWFya2VyIHJhbmdlIGNvbnRlbnQuCisgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgY291bnQgOyArK2kpIHsKKyAgICAgICAgICAgIHZhciByYW5nZSA9IGlu
dGVybmFscy5tYXJrZXJSYW5nZUZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIiwgaSk7
CisgICAgICAgICAgICB2YXIgcG9zID0gdGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoY2hhci50
b0xvd2VyQ2FzZSgpLCBzZWFyY2hTdGFydEluZGV4KTsKKyAgICAgICAgICAgIHNlYXJjaFN0YXJ0
SW5kZXggPSBwb3MgKyAxOworICAgICAgICAgICAgdmFyIGV4cGVjdFN0ciA9IHRleHQuY2hhckF0
KHBvcyk7CisgICAgICAgICAgICBzaG91bGRCZSgnIicgKyByYW5nZSArICciJywgJyInICsgZXhw
ZWN0U3RyICsgJyInKTsKKyAgICAgICAgfQorICAgICAgICBjaGVja1RleHRNYXRjaE1hcmtlcigr
K2luZGV4KTsKKyAgICB9LCA4NTApOworfQorCit2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOworCit2YXIgaWQgPSAnaWQxJwordmFyIHRleHQgPSAn
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4nOwordmFyIGUgPSBj
cmVhdGVQbGFpblRleHRFbGVtZW50KGlkLCB0ZXh0LCBjb250YWluZXIpOworCitpZiAod2luZG93
LmludGVybmFscyAmJiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgY2hlY2tUZXh0
TWF0Y2hNYXJrZXIoMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA2N2QyN2Y4Li5jMWNlYmI4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0CkBAIC01NzEsNiArNTcxLDkgQEAgV09OVEZJWCBTS0lQIDogc3RvcmFnZS9pbmRl
eGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbCA9IFRFWFQKIC8vIG5lZWQgdG8gaW1wbGVtZW50IHRo
aXMuCiBXT05URklYIDogcGxhdGZvcm0vd2luL2ludmVydGVkLWNvbG9ycy9ub24tY29tcG9zaXRl
ZC5odG1sID0gSU1BR0UrVEVYVAogCisvLyBUZXN0IGZvciBCbGFja0JlcnJ5IHBvcnQgb25seQor
V09OVEZJWCBTS0lQIDogcGxhdGZvcm0vYmxhY2tiZXJyeS9lZGl0aW5nL3RleHQtaXRlcmF0b3Iv
ZmluZFN0cmluZy1tYXJrZXJzLmh0bWwgUEFTUyBUSU1FT1VUIEZBSUwKKwogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IC8vIExJR0hUVFBECiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDAzMDNlMDQuLjU4Nzg3ZDYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0w
My0xOSAgQW5keSBDaGVuICA8YW5kY2hlbkByaW0uY29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5
XSBBZGQgbmV3IGxheW91dCB0ZXN0IGZvciB0ZXh0IG1hdGNoIG1hcmtlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1MzEKKworICAgICAgICBNYWtl
IHRoZSBMYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnk6OmZpbmRTdHJpbmcgdG8gdGVzdCB0
aGUKKyAgICAgICAgQmxhY2tCZXJyeSBwb3J0IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvYmxh
Y2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3BwOgorICAgICAgICAoTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmZpbmRTdHJpbmcpOgorCiAyMDEyLTAzLTE5ICBEYXZpZCBNaWNo
YWVsIEJhcnIgIDxkYXZpZGJhcnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBPcHRpbWl6ZSB0aGUg
Y2xlYW51cCBzZXF1ZW5jZSBpbiB0aGUgc3RhcnQtcXVldWUuc2ggc2NyaXB0CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxh
Y2tCZXJyeS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RD
b250cm9sbGVyQmxhY2tCZXJyeS5jcHAKaW5kZXggZDRkMjNkMi4uNjJlOTU0OCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlvdXRUZXN0Q29udHJvbGxlckJs
YWNrQmVycnkuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0
VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcApAQCAtODQ4LDcgKzg0OCw3IEBAIGJvb2wgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmZpbmRTdHJpbmcoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTU3Ry
aW5nUmVmIHRhcmdldCwKICAgICAgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0
cmluZyhvcHRpb25OYW1lLmdldCgpLCAiU3RhcnRJblNlbGVjdGlvbiIpKQogICAgICAgICAgICAg
b3B0aW9ucyB8PSBXZWJDb3JlOjpTdGFydEluU2VsZWN0aW9uOwogICAgIH0KLSAgICByZXR1cm4g
QmxhY2tCZXJyeTo6V2ViS2l0OjpEdW1wUmVuZGVyVHJlZTo6Y3VycmVudEluc3RhbmNlKCktPmZp
bmRTdHJpbmcobmFtZVN0ciwgb3B0aW9ucyk7CisgICAgcmV0dXJuIEJsYWNrQmVycnk6OldlYktp
dDo6RHVtcFJlbmRlclRyZWU6OmN1cnJlbnRJbnN0YW5jZSgpLT5wYWdlKCktPmZpbmROZXh0U3Ry
aW5nKG5hbWVTdHIudXRmOCgpLmRhdGEoKSwgIShvcHRpb25zIHwgV2ViQ29yZTo6QmFja3dhcmRz
KSk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmRlbGV0ZUxvY2FsU3RvcmFnZUZv
ck9yaWdpbihKU1N0cmluZ1JlZiBVUkwpCi0tIAoxLjcuNS40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132647</attachid>
            <date>2012-03-19 13:30:04 -0700</date>
            <delta_ts>2012-03-19 15:03:35 -0700</delta_ts>
            <desc>updated text-expectations for cr</desc>
            <filename>0001-Tools.patch</filename>
            <type>text/plain</type>
            <size>10300</size>
            <attacher name="Andy Chen">andchen</attacher>
            
              <data encoding="base64">RnJvbSA2M2NmYWFlNTk4YzNiYTMzZDhhMTgyNDBkNzJiYTRiNzE0NWQxYmI2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmR5IENoZW4gPGFuZGNoZW5AcmltLmNvbT4KRGF0ZTogTW9u
LCAxOSBNYXIgMjAxMiAxMzozMzo1MyAtMDQwMApTdWJqZWN0OiBbUEFUQ0hdIFRvb2xzOgoKMjAx
Mi0wMy0xOSAgQW5keSBDaGVuICA8YW5kY2hlbkByaW0uY29tPgoKICAgICAgICBNYWtlIHRoZSBM
YXlvdXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnk6OmZpbmRTdHJpbmcgdG8gdGVzdCB0aGUKICAg
ICAgICBCbGFja0JlcnJ5IHBvcnQgaW1wbGVtZW50YXRpb24uCgogICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5
b3V0VGVzdENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcDoKICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmZpbmRTdHJpbmcpOgoKTGF5b3V0VGVzdHM6CgoyMDEyLTAzLTE5ICBBbmR5IENoZW4g
IDxhbmRjaGVuQHJpbS5jb20+CgogICAgICAgIEFkZCBhIG5ldyB0ZXN0IGZvciB0ZXh0IG1hdGNo
IG1hcmtlcnMgZm9yIEJsYWNrQmVycnkgcG9ydC4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCgogICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9lZGl0aW5nL3RleHQtaXRl
cmF0b3IvZmluZFN0cmluZy1tYXJrZXJzLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBw
bGF0Zm9ybS9ibGFja2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtl
cnMuaHRtbDogQWRkZWQuCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDEyICsrKwogLi4uL3RleHQtaXRlcmF0b3IvZmluZFN0cmluZy1t
YXJrZXJzLWV4cGVjdGVkLnR4dCAgfCAgIDY3ICsrKysrKysrKysrKysrKwogLi4uL2VkaXRpbmcv
dGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMuaHRtbCAgfCAgIDkwICsrKysrKysrKysr
KysrKysrKysrCiAuLi4vcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0ICAg
ICAgICB8ICAgIDMgKwogVG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDEzICsrKwogLi4uL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJC
bGFja0JlcnJ5LmNwcCAgfCAgICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDE4NiBpbnNlcnRpb25z
KCspLCAxIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRm
b3JtL2JsYWNrYmVycnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy1l
eHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFj
a2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMuaHRtbAoKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA1NjljN2E4Li5jZmMwZDM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDMtMTkg
IEFuZHkgQ2hlbiAgPGFuZGNoZW5AcmltLmNvbT4KKworICAgICAgICBbQmxhY2tCZXJyeV0gQWRk
IG5ldyBsYXlvdXQgdGVzdCBmb3IgdGV4dCBtYXRjaCBtYXJrZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNTMxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGxheW91dCB0ZXN0IGZvciB0
ZXh0IG1hdGNoIG1hcmtlciBmb3IgQmxhY2tCZXJyeSBwb3J0CisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ibGFja2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L2VkaXRpbmcv
dGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMuaHRtbDogQWRkZWQuCisKIDIwMTItMDMt
MTkgIE1pa2UgTGF3dGhlciAgPG1pa2VsYXd0aGVyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBD
U1MzIGNhbGM6IG1ha2UgbWFzayBpbWFnZXMgd29yayB3aXRoIG1peGVkIHBlcmNlbnQvYWJzb2x1
dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNrYmVycnkvZWRpdGluZy90
ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ibGFja2JlcnJ5L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1h
cmtlcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1
MTFlNzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ibGFja2JlcnJ5
L2VkaXRpbmcvdGV4dC1pdGVyYXRvci9maW5kU3RyaW5nLW1hcmtlcnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNjcgQEAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwg
InRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImEiIGlzICJhIgorUEFTUyBpbnRlcm5hbHMubWFya2Vy
Q291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImIiIGlz
ICJiIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRl
eHRtYXRjaCIpIGlzIDEKK1BBU1MgImMiIGlzICJjIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291
bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImQiIGlzICJk
IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRt
YXRjaCIpIGlzIDMKK1BBU1MgImUiIGlzICJlIgorUEFTUyAiZSIgaXMgImUiCitQQVNTICJlIiBp
cyAiZSIKK1BBU1MgaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0
ZXh0bWF0Y2giKSBpcyAxCitQQVNTICJmIiBpcyAiZiIKK1BBU1MgaW50ZXJuYWxzLm1hcmtlckNv
dW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0ZXh0bWF0Y2giKSBpcyAxCitQQVNTICJnIiBpcyAi
ZyIKK1BBU1MgaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0ZXh0
bWF0Y2giKSBpcyAyCitQQVNTICJoIiBpcyAiaCIKK1BBU1MgImgiIGlzICJoIgorUEFTUyBpbnRl
cm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEK
K1BBU1MgImkiIGlzICJpIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmly
c3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImoiIGlzICJqIgorUEFTUyBpbnRlcm5h
bHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BB
U1MgImsiIGlzICJrIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RD
aGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgImwiIGlzICJsIgorUEFTUyBpbnRlcm5hbHMu
bWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1Mg
Im0iIGlzICJtIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGls
ZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgIm4iIGlzICJuIgorUEFTUyBpbnRlcm5hbHMubWFy
a2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDQKK1BBU1MgIm8i
IGlzICJvIgorUEFTUyAibyIgaXMgIm8iCitQQVNTICJvIiBpcyAibyIKK1BBU1MgIm8iIGlzICJv
IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRt
YXRjaCIpIGlzIDEKK1BBU1MgInAiIGlzICJwIgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRG
b3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInEiIGlzICJxIgor
UEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRj
aCIpIGlzIDIKK1BBU1MgInIiIGlzICJyIgorUEFTUyAiciIgaXMgInIiCitQQVNTIGludGVybmFs
cy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIikgaXMgMQorUEFT
UyAicyIgaXMgInMiCitQQVNTIGludGVybmFscy5tYXJrZXJDb3VudEZvck5vZGUoZS5maXJzdENo
aWxkLCAidGV4dG1hdGNoIikgaXMgMgorUEFTUyAiVCIgaXMgIlQiCitQQVNTICJ0IiBpcyAidCIK
K1BBU1MgaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZpcnN0Q2hpbGQsICJ0ZXh0bWF0
Y2giKSBpcyAyCitQQVNTICJ1IiBpcyAidSIKK1BBU1MgInUiIGlzICJ1IgorUEFTUyBpbnRlcm5h
bHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BB
U1MgInYiIGlzICJ2IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RD
aGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInciIGlzICJ3IgorUEFTUyBpbnRlcm5hbHMu
bWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1Mg
IngiIGlzICJ4IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGls
ZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInkiIGlzICJ5IgorUEFTUyBpbnRlcm5hbHMubWFy
a2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwgInRleHRtYXRjaCIpIGlzIDEKK1BBU1MgInoi
IGlzICJ6IgorUEFTUyBpbnRlcm5hbHMubWFya2VyQ291bnRGb3JOb2RlKGUuZmlyc3RDaGlsZCwg
InRleHRtYXRjaCIpIGlzIDEKK1BBU1MgIi4iIGlzICIuIgorVGhlIHF1aWNrIGJyb3duIGZveCBq
dW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2JsYWNrYmVycnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy5odG1s
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vYmxhY2tiZXJyeS9lZGl0aW5nL3RleHQtaXRlcmF0b3Iv
ZmluZFN0cmluZy1tYXJrZXJzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZGRlNjNhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2JsYWNr
YmVycnkvZWRpdGluZy90ZXh0LWl0ZXJhdG9yL2ZpbmRTdHJpbmctbWFya2Vycy5odG1sCkBAIC0w
LDAgKzEsOTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKy5w
bGFpbnRleHQgeworICAgIGJvcmRlcjogMnB4IHNvbGlkIHJlZDsKKyAgICBwYWRkaW5nOiAxMnB4
OworICAgIGZvbnQtc2l6ZTogMjRweDsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cHJlIGlkPSJkZXNjcmlwdGlvbiI+PC9wcmU+Cis8cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+Cis8L2Rpdj4KKworPHNjcmlwdD4KKworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9CisK
K2Z1bmN0aW9uIGNyZWF0ZVBsYWluVGV4dEVsZW1lbnQoaWQsIHRleHQsIHBhcmVudCkgeworICAg
IHZhciBlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZS5jbGFzc05hbWUg
PSAncGxhaW50ZXh0JzsKKyAgICBlLmlkID0gaWQ7CisgICAgZS5pbm5lclRleHQgPSB0ZXh0Owor
CisgICAgcGFyZW50LmFwcGVuZENoaWxkKGUpOworICAgIHJldHVybiBlOworfQorCitmdW5jdGlv
biBvY2N1cnJlbmNlcyhzdHJpbmcsIHN1YnN0cmluZykgeworICAgIHZhciBuPTA7CisgICAgdmFy
IHBvcz0wOworCisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgcG9zID0gc3RyaW5nLnRvTG93
ZXJDYXNlKCkuaW5kZXhPZihzdWJzdHJpbmcudG9Mb3dlckNhc2UoKSxwb3MpOworICAgICAgICBp
ZiAocG9zIT0tMSkgeworICAgICAgICAgICAgKytuOworICAgICAgICAgICAgcG9zKz1zdWJzdHJp
bmcubGVuZ3RoOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAg
ICByZXR1cm4gbjsKK30KKworZnVuY3Rpb24gY2hlY2tUZXh0TWF0Y2hNYXJrZXIoaW5kZXgpIHsK
KyAgICBpZiAoaW5kZXggPiAyNikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgdmFyIHN0ciA9ICdhYmNkZWZn
aGlqa2xtbm9wcXJzdHV2d3h5ei4nOworICAgIHZhciBjaGFyID0gc3RyLmNoYXJBdChpbmRleCk7
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZmluZFN0cmluZyhzdHIuY2hhckF0KGluZGV4KSwg
W10pOworICAgIC8vIFN0YXJ0IHRoZSBmdW5jdGlvbiBsYXRlciB0byBhbGxvdyBtYXJraW5nIHBy
b2Nlc3MgdG8gZmluaXNoLgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIHZh
ciBjb3VudCA9IG9jY3VycmVuY2VzKHRleHQsIGNoYXIpOworICAgICAgICAvLyBUaGUgbnVtYmVy
IG9mIG1hcmtlcnMgc2hvdWxkIG1hdGNoIHRvIHRoZSBvY2N1cnJlbmNlcyBvZiB0aGUgY2hhcmFj
dG9yLgorICAgICAgICBzaG91bGRCZSgnaW50ZXJuYWxzLm1hcmtlckNvdW50Rm9yTm9kZShlLmZp
cnN0Q2hpbGQsICJ0ZXh0bWF0Y2giKScsIGNvdW50LnRvU3RyaW5nKCkpOworICAgICAgICB2YXIg
c2VhcmNoU3RhcnRJbmRleCA9IDA7CisgICAgICAgIC8vIEdldCB0aGUgY2hhciBmcm9tIHRleHQg
YW5kIGNvbXBhcmUgd2l0aCB0aGUgbWFya2VyIHJhbmdlIGNvbnRlbnQuCisgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgY291bnQgOyArK2kpIHsKKyAgICAgICAgICAgIHZhciByYW5nZSA9IGlu
dGVybmFscy5tYXJrZXJSYW5nZUZvck5vZGUoZS5maXJzdENoaWxkLCAidGV4dG1hdGNoIiwgaSk7
CisgICAgICAgICAgICB2YXIgcG9zID0gdGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoY2hhci50
b0xvd2VyQ2FzZSgpLCBzZWFyY2hTdGFydEluZGV4KTsKKyAgICAgICAgICAgIHNlYXJjaFN0YXJ0
SW5kZXggPSBwb3MgKyAxOworICAgICAgICAgICAgdmFyIGV4cGVjdFN0ciA9IHRleHQuY2hhckF0
KHBvcyk7CisgICAgICAgICAgICBzaG91bGRCZSgnIicgKyByYW5nZSArICciJywgJyInICsgZXhw
ZWN0U3RyICsgJyInKTsKKyAgICAgICAgfQorICAgICAgICBjaGVja1RleHRNYXRjaE1hcmtlcigr
K2luZGV4KTsKKyAgICB9LCA4NTApOworfQorCit2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOworCit2YXIgaWQgPSAnaWQxJwordmFyIHRleHQgPSAn
VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4nOwordmFyIGUgPSBj
cmVhdGVQbGFpblRleHRFbGVtZW50KGlkLCB0ZXh0LCBjb250YWluZXIpOworCitpZiAod2luZG93
LmludGVybmFscyAmJiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgY2hlY2tUZXh0
TWF0Y2hNYXJrZXIoMCk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA2N2QyN2Y4Li4yYzI4ZDYz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0CkBAIC01NzEsNiArNTcxLDkgQEAgV09OVEZJWCBTS0lQIDogc3RvcmFnZS9pbmRl
eGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbCA9IFRFWFQKIC8vIG5lZWQgdG8gaW1wbGVtZW50IHRo
aXMuCiBXT05URklYIDogcGxhdGZvcm0vd2luL2ludmVydGVkLWNvbG9ycy9ub24tY29tcG9zaXRl
ZC5odG1sID0gSU1BR0UrVEVYVAogCisvLyBUZXN0IGZvciBCbGFja0JlcnJ5IHBvcnQgb25seQor
V09OVEZJWCBTS0lQIDogcGxhdGZvcm0vYmxhY2tiZXJyeS9lZGl0aW5nL3RleHQtaXRlcmF0b3Iv
ZmluZFN0cmluZy1tYXJrZXJzLmh0bWwgPSBQQVNTIFRJTUVPVVQgRkFJTAorCiAvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogLy8gTElHSFRUUEQKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDMwM2UwNC4uNTg3ODdkNiAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEy
LTAzLTE5ICBBbmR5IENoZW4gIDxhbmRjaGVuQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVy
cnldIEFkZCBuZXcgbGF5b3V0IHRlc3QgZm9yIHRleHQgbWF0Y2ggbWFya2VyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTUzMQorCisgICAgICAgIE1h
a2UgdGhlIExheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeTo6ZmluZFN0cmluZyB0byB0ZXN0
IHRoZQorICAgICAgICBCbGFja0JlcnJ5IHBvcnQgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9i
bGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVyQmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6ZmluZFN0cmluZyk6CisKIDIwMTItMDMtMTkgIERhdmlkIE1p
Y2hhZWwgQmFyciAgPGRhdmlkYmFyckBnb29nbGUuY29tPgogCiAgICAgICAgIE9wdGltaXplIHRo
ZSBjbGVhbnVwIHNlcXVlbmNlIGluIHRoZSBzdGFydC1xdWV1ZS5zaCBzY3JpcHQKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVzdENvbnRyb2xsZXJC
bGFja0JlcnJ5LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2JsYWNrYmVycnkvTGF5b3V0VGVz
dENvbnRyb2xsZXJCbGFja0JlcnJ5LmNwcAppbmRleCBkNGQyM2QyLi42MmU5NTQ4IDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ibGFja2JlcnJ5L0xheW91dFRlc3RDb250cm9sbGVy
QmxhY2tCZXJyeS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvYmxhY2tiZXJyeS9MYXlv
dXRUZXN0Q29udHJvbGxlckJsYWNrQmVycnkuY3BwCkBAIC04NDgsNyArODQ4LDcgQEAgYm9vbCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6ZmluZFN0cmluZyhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNT
dHJpbmdSZWYgdGFyZ2V0LAogICAgICAgICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhD
U3RyaW5nKG9wdGlvbk5hbWUuZ2V0KCksICJTdGFydEluU2VsZWN0aW9uIikpCiAgICAgICAgICAg
ICBvcHRpb25zIHw9IFdlYkNvcmU6OlN0YXJ0SW5TZWxlY3Rpb247CiAgICAgfQotICAgIHJldHVy
biBCbGFja0JlcnJ5OjpXZWJLaXQ6OkR1bXBSZW5kZXJUcmVlOjpjdXJyZW50SW5zdGFuY2UoKS0+
ZmluZFN0cmluZyhuYW1lU3RyLCBvcHRpb25zKTsKKyAgICByZXR1cm4gQmxhY2tCZXJyeTo6V2Vi
S2l0OjpEdW1wUmVuZGVyVHJlZTo6Y3VycmVudEluc3RhbmNlKCktPnBhZ2UoKS0+ZmluZE5leHRT
dHJpbmcobmFtZVN0ci51dGY4KCkuZGF0YSgpLCAhKG9wdGlvbnMgfCBXZWJDb3JlOjpCYWNrd2Fy
ZHMpKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZGVsZXRlTG9jYWxTdG9yYWdl
Rm9yT3JpZ2luKEpTU3RyaW5nUmVmIFVSTCkKLS0gCjEuNy41LjQKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>