<?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>5931</bug_id>
          
          <creation_ts>2005-12-04 05:43:52 -0800</creation_ts>
          <short_desc>Remove additional bit-rotted DEBUG* ifdefs from WebCore</short_desc>
          <delta_ts>2005-12-20 01:09:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>5877</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>25495</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 05:43:52 -0800</bug_when>
    <thetext>Remove additional bit-rotted DEBUG* ifdefs from WebCore

I&apos;d like to propose removing at least some of the following additional bit-rotted #ifdefs from WebCore:

CACHE_DEBUG
PARSER_DEBUG
TOKEN_DEBUG
DEBUG_LAYOUT
FORMS_DEBUG
KJS_VERBOSE
CSS_DEBUG
CSS_STYLESHEET_DEBUG

I&apos;ll attach each removal as a separate patch, each one generated using my hacked partial preprocessor 
from http://bugzilla.opendarwin.org/show_bug.cgi?id=5877</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25496</commentid>
    <comment_count>1</comment_count>
      <attachid>4934</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 06:08:12 -0800</bug_when>
    <thetext>Created attachment 4934
CSS_DEBUG removal patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25497</commentid>
    <comment_count>2</comment_count>
      <attachid>4934</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 06:09:14 -0800</bug_when>
    <thetext>Comment on attachment 4934
CSS_DEBUG removal patch

Super simple, script-generated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25499</commentid>
    <comment_count>3</comment_count>
      <attachid>4935</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 06:31:30 -0800</bug_when>
    <thetext>Created attachment 4935
CACHE_DEBUG removal patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25500</commentid>
    <comment_count>4</comment_count>
      <attachid>4936</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 06:35:14 -0800</bug_when>
    <thetext>Created attachment 4936
PARSER_DEBUG removal patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25516</commentid>
    <comment_count>5</comment_count>
      <attachid>4941</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 13:31:54 -0800</bug_when>
    <thetext>Created attachment 4941
TOKEN_DEBUG removal patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25518</commentid>
    <comment_count>6</comment_count>
      <attachid>4943</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 13:32:14 -0800</bug_when>
    <thetext>Created attachment 4943
DEBUG_LAYOUT removal patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25519</commentid>
    <comment_count>7</comment_count>
      <attachid>4944</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 13:32:43 -0800</bug_when>
    <thetext>Created attachment 4944
FORMS_DEBUG removal patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25520</commentid>
    <comment_count>8</comment_count>
      <attachid>4945</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 13:33:01 -0800</bug_when>
    <thetext>Created attachment 4945
KJS_VERBOSE removal patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25521</commentid>
    <comment_count>9</comment_count>
      <attachid>4946</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 13:33:28 -0800</bug_when>
    <thetext>Created attachment 4946
CSS_STYLESHEET_DEBUG removal patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25522</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 13:35:15 -0800</bug_when>
    <thetext>The idea behind these patches is still under discussion on the webkit-dev mailing list, however I&apos;m 
marking them for review now so that folks can view them easily and make a more informed decision.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25536</commentid>
    <comment_count>11</comment_count>
      <attachid>4950</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-04 21:45:19 -0800</bug_when>
    <thetext>Created attachment 4950
SPEED_DEBUG removal patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25578</commentid>
    <comment_count>12</comment_count>
      <attachid>4950</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-05 06:41:58 -0800</bug_when>
    <thetext>Comment on attachment 4950
SPEED_DEBUG removal patch

This doens&apos;t look right:

    +#if 0 &lt; 1

You should fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25796</commentid>
    <comment_count>13</comment_count>
      <attachid>4936</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-11 00:55:58 -0800</bug_when>
    <thetext>Comment on attachment 4936
PARSER_DEBUG removal patch

Actually, putting this one back up for review, it&apos;s so simple, I think we
should just land it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25797</commentid>
    <comment_count>14</comment_count>
      <attachid>4945</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-11 00:59:16 -0800</bug_when>
    <thetext>Comment on attachment 4945
KJS_VERBOSE removal patch

There is no way this would apply cleanly anymore anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26244</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-20 01:09:58 -0800</bug_when>
    <thetext>I commited the ones which were approved, and left the rest of them alone for now.  We&apos;ll track those with 
other bugs.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4934</attachid>
            <date>2005-12-04 06:08:12 -0800</date>
            <delta_ts>2005-12-11 00:55:17 -0800</delta_ts>
            <desc>CSS_DEBUG removal patch</desc>
            <filename>CSS_DEBUG.patch</filename>
            <type>text/plain</type>
            <size>5053</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2Nzcy9jc3NfYmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9y
b290L1dlYkNvcmUva2h0bWwvY3NzL2Nzc19iYXNlLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24g
MS4yMwpkaWZmIC1wIC11IC1yMS4yMyBraHRtbC9jc3MvY3NzX2Jhc2UuY3BwCi0tLSBraHRtbC9j
c3MvY3NzX2Jhc2UuY3BwCTI2IE9jdCAyMDA1IDE5OjQ0OjAzIC0wMDAwCTEuMjMKKysrIGtodG1s
L2Nzcy9jc3NfYmFzZS5jcHAJNCBEZWMgMjAwNSAxNDowNTowMiAtMDAwMApAQCAtMzAsMTAgKzMw
LDYgQEAKIAogI2luY2x1ZGUgImNzc19iYXNlLmgiCiAKLSNpZmRlZiBDU1NfREVCVUcKLSNpbmNs
dWRlICJjc3Nwcm9wZXJ0aWVzLmgiCi0jZW5kaWYKLQogI2luY2x1ZGUgImNzc19zdHlsZXNoZWV0
aW1wbC5oIgogI2luY2x1ZGUgInhtbC9kb21fZG9jaW1wbC5oIgogI2luY2x1ZGUgImNzc192YWx1
ZWltcGwuaCIKSW5kZXg6IGtodG1sL2Nzcy9jc3NwYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2Nzcy9jc3NwYXJzZXIuY3BwLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjExMwpkaWZmIC1wIC11IC1yMS4xMTMga2h0bWwvY3NzL2Nzc3BhcnNlci5j
cHAKLS0tIGtodG1sL2Nzcy9jc3NwYXJzZXIuY3BwCTIxIE5vdiAyMDA1IDA0OjAxOjUxIC0wMDAw
CTEuMTEzCisrKyBraHRtbC9jc3MvY3NzcGFyc2VyLmNwcAk0IERlYyAyMDA1IDE0OjA1OjA5IC0w
MDAwCkBAIC01OSw5ICs1OSw2IEBAIFZhbHVlTGlzdDo6VmFsdWVMaXN0KCkKIFZhbHVlTGlzdDo6
flZhbHVlTGlzdCgpCiB7CiAgICAgZm9yICggaW50IGkgPSAwOyBpIDwgbnVtVmFsdWVzOyBpKysg
KSB7Ci0jaWZkZWYgQ1NTX0RFQlVHCi0Ja2REZWJ1ZyggNjA4MCApIDw8ICIgICAgICAgdmFsdWU6
ICh1bml0PSIgPDwgdmFsdWVzW2ldLnVuaXQgPDwiKSI8PCBlbmRsOwotI2VuZGlmCiAJaWYgKCB2
YWx1ZXNbaV0udW5pdCA9PSBWYWx1ZTo6RnVuY3Rpb24gKQogCSAgICBkZWxldGUgdmFsdWVzW2ld
LmZ1bmN0aW9uOwogICAgIH0KQEAgLTg4LDkgKzg1LDYgQEAgQ1NTUGFyc2VyICpDU1NQYXJzZXI6
OmN1cnJlbnRQYXJzZXIgPSAwOwogCiBDU1NQYXJzZXI6OkNTU1BhcnNlciggYm9vbCBzdHJpY3RQ
YXJzaW5nICkKIHsKLSNpZmRlZiBDU1NfREVCVUcKLSAgICBrZERlYnVnKCA2MDgwICkgPDwgIkNT
U1BhcnNlcjo6Q1NTUGFyc2VyIHRoaXM9IiA8PCB0aGlzIDw8IGVuZGw7Ci0jZW5kaWYKICAgICBz
dHJpY3QgPSBzdHJpY3RQYXJzaW5nOwogCiAgICAgcGFyc2VkUHJvcGVydGllcyA9IChDU1NQcm9w
ZXJ0eSAqKilmYXN0TWFsbG9jKDMyICogc2l6ZW9mKENTU1Byb3BlcnR5ICopKTsKQEAgLTEyMiwx
MCArMTE2LDYgQEAgQ1NTUGFyc2VyOjp+Q1NTUGFyc2VyKCkKIAogICAgIGRlbGV0ZSB2YWx1ZUxp
c3Q7CiAKLSNpZmRlZiBDU1NfREVCVUcKLSAgICBrZERlYnVnKCA2MDgwICkgPDwgIkNTU1BhcnNl
cjo6fkNTU1BhcnNlciB0aGlzPSIgPDwgdGhpcyA8PCBlbmRsOwotI2VuZGlmCi0KICAgICBmYXN0
RnJlZShkYXRhKTsKIAogfQpAQCAtMTY3LDE2ICsxNTcsMTAgQEAgdm9pZCBDU1NQYXJzZXI6OnBh
cnNlU2hlZXQoIENTU1N0eWxlU2hlZQogICAgIAogICAgIHNldHVwUGFyc2VyICgiIiwgc3RyaW5n
LCAiIik7CiAKLSNpZmRlZiBDU1NfREVCVUcKLSAgICBrZERlYnVnKCA2MDgwICkgPDwgIj4+Pj4+
Pj4gc3RhcnQgcGFyc2luZyBzdHlsZSBzaGVldCIgPDwgZW5kbDsKLSNlbmRpZgogICAgIENTU1Bh
cnNlciAqb2xkID0gY3VycmVudFBhcnNlcjsKICAgICBjdXJyZW50UGFyc2VyID0gdGhpczsKICAg
ICBjc3N5eXBhcnNlKCB0aGlzICk7CiAgICAgY3VycmVudFBhcnNlciA9IG9sZDsKLSNpZmRlZiBD
U1NfREVCVUcKLSAgICBrZERlYnVnKCA2MDgwICkgPDwgIjw8PDw8PDwgZG9uZSBwYXJzaW5nIHN0
eWxlIHNoZWV0IiA8PCBlbmRsOwotI2VuZGlmCiAKICAgICBkZWxldGUgcnVsZTsKICAgICBydWxl
ID0gMDsKQEAgLTIwMiwxMSArMTg2LDYgQEAgQ1NTUnVsZUltcGwgKkNTU1BhcnNlcjo6cGFyc2VS
dWxlKCBET006OgogYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoIENTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uSW1wbCAqZGVjbGFyYXRpb24sIGludCBfaWQsIGNvbnN0IERPTVN0cmluZyAmc3Ry
aW5nLAogCQkJICAgIGJvb2wgX2ltcG9ydGFudCkKIHsKLSNpZmRlZiBDU1NfREVCVUcKLSAgICBr
ZERlYnVnKCA2MDgwICkgPDwgIkNTU1BhcnNlcjo6cGFyc2VWYWx1ZTogaWQ9IiA8PCBfaWQgPDwg
IiBpbXBvcnRhbnQ9IiA8PCBfaW1wb3J0YW50Ci0JCSAgICA8PCAiIHZhbHVlPSciIDw8IHN0cmlu
Zy5xc3RyaW5nKCkgPDwgIiciIDw8IGVuZGw7Ci0jZW5kaWYKLQogICAgIHN0eWxlRWxlbWVudCA9
IGRlY2xhcmF0aW9uLT5zdHlsZXNoZWV0KCk7CiAKICAgICBzZXR1cFBhcnNlciAoIkAta2h0bWwt
dmFsdWV7Iiwgc3RyaW5nLCAifSAiKTsKQEAgLTI4NSwxMCArMjY0LDYgQEAgYm9vbCBDU1NQYXJz
ZXI6OnBhcnNlQ29sb3IoIENTU011dGFibGVTdAogCiBib29sIENTU1BhcnNlcjo6cGFyc2VEZWNs
YXJhdGlvbiggQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb25JbXBsICpkZWNsYXJhdGlvbiwgY29u
c3QgRE9NU3RyaW5nICZzdHJpbmcgKQogewotI2lmZGVmIENTU19ERUJVRwotICAgIGtkRGVidWco
IDYwODAgKSA8PCAiQ1NTUGFyc2VyOjpwYXJzZURlY2xhcmF0aW9uOnZhbHVlPSciIDw8IHN0cmlu
Zy5xc3RyaW5nKCkgPDwgIiciIDw8IGVuZGw7Ci0jZW5kaWYKLQogICAgIHN0eWxlRWxlbWVudCA9
IGRlY2xhcmF0aW9uLT5zdHlsZXNoZWV0KCk7CiAKICAgICBzZXR1cFBhcnNlciAoICJALWtodG1s
LWRlY2xzeyIsIHN0cmluZywgIn0gIik7CkBAIC0xMzk4LDMyICsxMzczLDE5IEBAIGJvb2wgQ1NT
UGFyc2VyOjpwYXJzZVNob3J0SGFuZCggY29uc3QgaW4KICAgICBmb3IoIGludCBpID0gMDsgaSA8
IG51bVByb3BlcnRpZXM7IGkrKyApCiAgICAgCWZuZFtpXSA9IGZhbHNlOwogCi0jaWZkZWYgQ1NT
X0RFQlVHCi0gICAga2REZWJ1Zyg2MDgwKSA8PCAiUFNIOiBudW1Qcm9wZXJ0aWVzPSIgPDwgbnVt
UHJvcGVydGllcyA8PCBlbmRsOwotI2VuZGlmCi0KICAgICB3aGlsZSAoIHZhbHVlTGlzdC0+Y3Vy
cmVudCgpICkgewogICAgICAgICBmb3VuZCA9IGZhbHNlOwogCS8vIHFEZWJ1Zygib3V0ZXIgbG9v
cCIgKTsKICAgICAgICAgZm9yIChpbnQgcHJvcEluZGV4ID0gMDsgIWZvdW5kICYmIHByb3BJbmRl
eCA8IG51bVByb3BlcnRpZXM7ICsrcHJvcEluZGV4KSB7CiAgICAgICAgICAgICBpZiAoIWZuZFtw
cm9wSW5kZXhdKSB7Ci0jaWZkZWYgQ1NTX0RFQlVHCi0JCWtkRGVidWcoNjA4MCkgPDwgIkxPT0tJ
TkcgRk9SOiAiIDw8IGdldFByb3BlcnR5TmFtZShwcm9wZXJ0aWVzW3Byb3BJbmRleF0pLnFzdHJp
bmcoKSA8PCBlbmRsOwotI2VuZGlmCiAJCWlmICggcGFyc2VWYWx1ZSggcHJvcGVydGllc1twcm9w
SW5kZXhdLCBpbXBvcnRhbnQgKSApIHsKIAkJICAgIGZuZFtwcm9wSW5kZXhdID0gZm91bmQgPSB0
cnVlOwotI2lmZGVmIENTU19ERUJVRwotCQkgICAga2REZWJ1Zyg2MDgwKSA8PCAiRk9VTkQ6ICIg
PDwgZ2V0UHJvcGVydHlOYW1lKHByb3BlcnRpZXNbcHJvcEluZGV4XSkucXN0cmluZygpIDw8IGVu
ZGw7Ci0jZW5kaWYKIAkJfQogCSAgICB9CiAJfQogICAgICAgICAvLyBpZiB3ZSBkaWRuJ3QgZmlu
ZCBhdCBsZWFzdCBvbmUgbWF0Y2gsIHRoaXMgaXMgYW4KICAgICAgICAgLy8gaW52YWxpZCBzaG9y
dGhhbmQgYW5kIHdlIGhhdmUgdG8gaWdub3JlIGl0CiAgICAgICAgIGlmICghZm91bmQpIHsKLSNp
ZmRlZiBDU1NfREVCVUcKLQkgICAgcURlYnVnKCJkaWRuJ3QgZmluZCBhbnl0aGluZyIgKTsKLSNl
bmRpZgogCSAgICBpblBhcnNlU2hvcnRIYW5kID0gZmFsc2U7CiAJICAgIHJldHVybiBmYWxzZTsK
IAl9CkBAIC0xNDM2LDkgKzEzOTgsNiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VTaG9ydEhhbmQo
IGNvbnN0IGluCiAgICAgfQogICAgIAogICAgIGluUGFyc2VTaG9ydEhhbmQgPSBmYWxzZTsKLSNp
ZmRlZiBDU1NfREVCVUcKLSAgICBrZERlYnVnKCA2MDgwICkgPDwgInBhcnNlZCBzaG9ydGhhbmQi
IDw8IGVuZGw7Ci0jZW5kaWYKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTUxMCw5ICsxNDY5
LDYgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29udGVudCggaW50IHByb3BJZAogCSAgICBET01T
dHJpbmcgdmFsdWUgPSBraHRtbDo6cGFyc2VVUkwoZG9tU3RyaW5nKHZhbC0+c3RyaW5nKSk7CiAg
ICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IG5ldyBDU1NJbWFnZVZhbHVlSW1wbCgKIAkJRE9NU3Ry
aW5nKEtVUkwoIHN0eWxlRWxlbWVudC0+YmFzZVVSTCgpLnFzdHJpbmcoKSwgdmFsdWUucXN0cmlu
ZygpKS51cmwoKSApLCBzdHlsZUVsZW1lbnQgKTsKLSNpZmRlZiBDU1NfREVCVUcKLQkgICAga2RE
ZWJ1ZyggNjA4MCApIDw8ICJjb250ZW50LCB1cmw9IiA8PCB2YWx1ZS5xc3RyaW5nKCkgPDwgIiBi
YXNlPSIgPDwgc3R5bGVFbGVtZW50LT5iYXNlVVJMKCkucXN0cmluZygpIDw8IGVuZGw7Ci0jZW5k
aWYKICAgICAgICAgfSBlbHNlIGlmICggdmFsLT51bml0ID09IFZhbHVlOjpGdW5jdGlvbiApIHsK
IAkgICAgLy8gYXR0ciggWCApCiAgICAgICAgICAgICBWYWx1ZUxpc3QgKmFyZ3MgPSB2YWwtPmZ1
bmN0aW9uLT5hcmdzOwpAQCAtMjYxMCwxMSArMjU2Niw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJz
ZUJvcmRlckltYWdlKGludCBwcm8KIH0KIAogc3RhdGljIGlubGluZSBpbnQgeXllcnJvciggY29u
c3QgY2hhciAqc3RyICkgewotI2lmZGVmIENTU19ERUJVRwotICAgIGtkRGVidWcoIDYwODAgKSA8
PCAiQ1NTIHBhcnNlIGVycm9yICIgPDwgc3RyIDw8IGVuZGw7Ci0jZWxzZQogICAgIFFfVU5VU0VE
KCBzdHIgKTsKLSNlbmRpZgogICAgIHJldHVybiAxOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4935</attachid>
            <date>2005-12-04 06:31:30 -0800</date>
            <delta_ts>2005-12-11 00:55:25 -0800</delta_ts>
            <desc>CACHE_DEBUG removal patch</desc>
            <filename>CACHE_DEBUG.patch</filename>
            <type>text/plain</type>
            <size>9367</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL21pc2MvbG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jv
b3QvV2ViQ29yZS9raHRtbC9taXNjL2xvYWRlci5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
ODEKZGlmZiAtcCAtdSAtcjEuODEga2h0bWwvbWlzYy9sb2FkZXIuY3BwCi0tLSBraHRtbC9taXNj
L2xvYWRlci5jcHAJMjEgTm92IDIwMDUgMDE6MjA6MjAgLTAwMDAJMS44MQorKysga2h0bWwvbWlz
Yy9sb2FkZXIuY3BwCTQgRGVjIDIwMDUgMTQ6MzA6MDkgLTAwMDAKQEAgLTEwMSwxMyArMTAxLDcg
QEAgdm9pZCBDYWNoZWRPYmplY3Q6OmZpbmlzaCgpCiAgICAgewogICAgICAgICBtX2V4cGlyZURh
dGVDaGFuZ2VkID0gZmFsc2U7CiAgICAgICAgIEtJTzo6aHR0cF91cGRhdGVfY2FjaGUodXJsLCBm
YWxzZSwgbV9leHBpcmVEYXRlKTsKLSNpZmRlZiBDQUNIRV9ERUJVRwotICAgICAgICBrZERlYnVn
KDYwNjApIDw8ICIgU2V0dGluZyBleHBpcmUgZGF0ZSBmb3IgaW1hZ2UgIjw8bV91cmwucXN0cmlu
ZygpPDwiIHRvICIgPDwgbV9leHBpcmVEYXRlIDw8IGVuZGw7Ci0jZW5kaWYKICAgICB9Ci0jaWZk
ZWYgQ0FDSEVfREVCVUcKLSAgICBlbHNlIGtkRGVidWcoNjA2MCkgPDwgIiBObyBleHBpcmUgZGF0
ZSBmb3IgaW1hZ2UgIjw8bV91cmwucXN0cmluZygpPDxlbmRsOwotI2VuZGlmCiB9CiAKIHZvaWQg
Q2FjaGVkT2JqZWN0OjpzZXRFeHBpcmVEYXRlKHRpbWVfdCBfZXhwaXJlRGF0ZSwgYm9vbCBjaGFu
Z2VIdHRwQ2FjaGUpCkBAIC0yNDEsMTAgKzIzNSw2IEBAIHZvaWQgQ2FjaGVkQ1NTU3R5bGVTaGVl
dDo6Y2hlY2tOb3RpZnkoKQogewogICAgIGlmKG1fbG9hZGluZykgcmV0dXJuOwogCi0jaWZkZWYg
Q0FDSEVfREVCVUcKLSAgICBrZERlYnVnKCA2MDYwICkgPDwgIkNhY2hlZENTU1N0eWxlU2hlZXQ6
OiBmaW5pc2hlZExvYWRpbmcgIiA8PCBtX3VybC5xc3RyaW5nKCkgPDwgZW5kbDsKLSNlbmRpZgot
CiAgICAgQ2FjaGVkT2JqZWN0Q2xpZW50V2Fsa2VyIHcobV9jbGllbnRzKTsKICAgICB3aGlsZSAo
Q2FjaGVkT2JqZWN0Q2xpZW50ICpjID0gdy5uZXh0KCkpIHsKICAgICAgICAgaWYgKG1fcmVzcG9u
c2UgJiYgIUtXUUlzUmVzcG9uc2VVUkxFcXVhbFRvVVJMKG1fcmVzcG9uc2UsIG1fdXJsKSkKQEAg
LTQ5MSwxMCArNDgxLDYgQEAgQ2FjaGVkSW1hZ2U6On5DYWNoZWRJbWFnZSgpCiAKIHZvaWQgQ2Fj
aGVkSW1hZ2U6OnJlZiggQ2FjaGVkT2JqZWN0Q2xpZW50ICpjICkKIHsKLSNpZmRlZiBDQUNIRV9E
RUJVRwotICAgIGtkRGVidWcoIDYwNjAgKSA8PCB0aGlzIDw8ICIgQ2FjaGVkSW1hZ2U6OnJlZigi
IDw8IGMgPDwgIikgIiA8PCBlbmRsOwotI2VuZGlmCi0KICAgICBDYWNoZWRPYmplY3Q6OnJlZihj
KTsKIAogICAgIGlmKCBtICkgewpAQCAtNTEyLDkgKzQ5OCw2IEBAIHZvaWQgQ2FjaGVkSW1hZ2U6
OnJlZiggQ2FjaGVkT2JqZWN0Q2xpZW4KIAogdm9pZCBDYWNoZWRJbWFnZTo6ZGVyZWYoIENhY2hl
ZE9iamVjdENsaWVudCAqYyApCiB7Ci0jaWZkZWYgQ0FDSEVfREVCVUcKLSAgICBrZERlYnVnKCA2
MDYwICkgPDwgdGhpcyA8PCAiIENhY2hlZEltYWdlOjpkZXJlZigiIDw8IGMgPDwgIikgIiA8PCBl
bmRsOwotI2VuZGlmCiAgICAgQ2FjaGU6OmZsdXNoKCk7CiAgICAgQ2FjaGVkT2JqZWN0OjpkZXJl
ZihjKTsKICAgICBpZihtICYmIG1fY2xpZW50cy5pc0VtcHR5KCkgJiYgbS0+cnVubmluZygpKQpA
QCAtNTkyLDEwICs1NzUsNiBAQCB2b2lkIENhY2hlZEltYWdlOjpjbGVhcigpCiAKIHZvaWQgQ2Fj
aGVkSW1hZ2U6OmRhdGEgKCBRQnVmZmVyICZfYnVmZmVyLCBib29sIGVvZiApCiB7Ci0jaWZkZWYg
Q0FDSEVfREVCVUcKLSAgICBrZERlYnVnKCA2MDYwICkgPDwgdGhpcyA8PCAiaW4gQ2FjaGVkSW1h
Z2U6OmRhdGEoYnVmZmVyc2l6ZSAiIDw8IF9idWZmZXIuYnVmZmVyKCkuc2l6ZSgpIDw8IiwgZW9m
PSIgPDwgZW9mIDw8IGVuZGw7Ci0jZW5kaWYKLQogICAgIGJvb2wgY2FuRHJhdyA9IGZhbHNlOwog
ICAgIAogICAgIG1fZGF0YVNpemUgPSBfYnVmZmVyLnNpemUoKTsKQEAgLTYzOSwxMCArNjE4LDYg
QEAgdm9pZCBDYWNoZWRJbWFnZTo6ZGF0YSAoIFFCdWZmZXIgJl9idWZmZQogCiB2b2lkIENhY2hl
ZEltYWdlOjplcnJvciggaW50IC8qZXJyKi8sIGNvbnN0IGNoYXIgKi8qdGV4dCovICkKIHsKLSNp
ZmRlZiBDQUNIRV9ERUJVRwotICAgIGtkRGVidWcoNjA2MCkgPDwgIkNhaGNlZEltYWdlOjplcnJv
ciIgPDwgZW5kbDsKLSNlbmRpZgotCiAgICAgY2xlYXIoKTsKICAgICBlcnJvck9jY3VyZWQgPSB0
cnVlOwogICAgIGRvX25vdGlmeShwaXhtYXAoKSwgUVJlY3QoMCwgMCwgMTYsIDE2KSk7CkBAIC03
MTQsMTEgKzY4OSw3IEBAIHZvaWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6Y2hlY2tOb3RpZnkoKQog
ewogICAgIGlmIChtX2xvYWRpbmcpCiAgICAgICAgIHJldHVybjsKLSAgICAKLSNpZmRlZiBDQUNI
RV9ERUJVRwotICAgIGtkRGVidWcoIDYwNjAgKSA8PCAiQ2FjaGVkQ1NTU3R5bGVTaGVldDo6IGZp
bmlzaGVkTG9hZGluZyAiIDw8IG1fdXJsLnFzdHJpbmcoKSA8PCBlbmRsOwotI2VuZGlmCi0gICAg
CisKICAgICBDYWNoZWRPYmplY3RDbGllbnRXYWxrZXIgdyhtX2NsaWVudHMpOwogICAgIHdoaWxl
IChDYWNoZWRPYmplY3RDbGllbnQgKmMgPSB3Lm5leHQoKSkKICAgICAgICAgYy0+c2V0U3R5bGVT
aGVldChtX3VybCwgbV9zaGVldCk7CkBAIC03OTcsMTEgKzc2OCw3IEBAIHZvaWQgQ2FjaGVkWEJM
RG9jdW1lbnQ6OmRhdGEoIFFCdWZmZXIgJmIKIHZvaWQgQ2FjaGVkWEJMRG9jdW1lbnQ6OmNoZWNr
Tm90aWZ5KCkKIHsKICAgICBpZihtX2xvYWRpbmcpIHJldHVybjsKLSAgICAKLSNpZmRlZiBDQUNI
RV9ERUJVRwotICAgIGtkRGVidWcoIDYwNjAgKSA8PCAiQ2FjaGVkWEJMRG9jdW1lbnQ6OiBmaW5p
c2hlZExvYWRpbmcgIiA8PCBtX3VybC5xc3RyaW5nKCkgPDwgZW5kbDsKLSNlbmRpZgotICAgIAor
CiAgICAgQ2FjaGVkT2JqZWN0Q2xpZW50V2Fsa2VyIHcobV9jbGllbnRzKTsKICAgICB3aGlsZSAo
Q2FjaGVkT2JqZWN0Q2xpZW50ICpjID0gdy5uZXh0KCkpCiAgICAgICAgIGMtPnNldFhCTERvY3Vt
ZW50KG1fdXJsLCBtX2RvY3VtZW50KTsKQEAgLTEwNTksMTAgKzEwMjYsNiBAQCB2b2lkIExvYWRl
cjo6c2VydmVQZW5kaW5nUmVxdWVzdHMoKQogICAvLyBnZXQgdGhlIGZpcnN0IHBlbmRpbmcgcmVx
dWVzdAogICBSZXF1ZXN0ICpyZXEgPSBtX3JlcXVlc3RzUGVuZGluZy50YWtlKDApOwogCi0jaWZk
ZWYgQ0FDSEVfREVCVUcKLSAga2REZWJ1ZyggNjA2MCApIDw8ICJzdGFydGluZyBMb2FkZXIgdXJs
PSIgPDwgcmVxLT5vYmplY3QtPnVybCgpLnFzdHJpbmcoKSA8PCBlbmRsOwotI2VuZGlmCi0KICAg
S1VSTCB1KHJlcS0+b2JqZWN0LT51cmwoKS5xc3RyaW5nKCkpOwogICBLSU86OlRyYW5zZmVySm9i
KiBqb2IgPSBLSU86OmdldCggdSwgZmFsc2UsIGZhbHNlIC8qbm8gR1VJKi8sIHRydWUpOwogICAK
QEAgLTEzNTAsMTAgKzEzMTMsNiBAQCB2b2lkIENhY2hlOjppbml0KCkKIHZvaWQgQ2FjaGU6OmNs
ZWFyKCkKIHsKICAgICBpZiAoICFjYWNoZSApIHJldHVybjsKLSNpZmRlZiBDQUNIRV9ERUJVRwot
ICAgIGtkRGVidWcoIDYwNjAgKSA8PCAiQ2FjaGU6IENMRUFSISIgPDwgZW5kbDsKLSAgICBzdGF0
aXN0aWNzKCk7Ci0jZW5kaWYKICAgICBjYWNoZS0+c2V0QXV0b0RlbGV0ZSggdHJ1ZSApOwogICAg
IGRlbGV0ZSBjYWNoZTsgY2FjaGUgPSAwOwogICAgIGRlbGV0ZSBudWxsUGl4bWFwOyBudWxsUGl4
bWFwID0gMDsKQEAgLTEzOTIsOSArMTM1MSw2IEBAIENhY2hlZEltYWdlICpDYWNoZTo6cmVxdWVz
dEltYWdlKCBEb2NMb2EKICAgICAgICAgbyA9IGNhY2hlLT5maW5kKHVybC51cmwoKSk7CiAgICAg
aWYoIW8pCiAgICAgewotI2lmZGVmIENBQ0hFX0RFQlVHCi0gICAgICAgIGtkRGVidWcoIDYwNjAg
KSA8PCAiQ2FjaGU6IG5ldzogIiA8PCB1cmwudXJsKCkgPDwgZW5kbDsKLSNlbmRpZgogICAgICAg
ICBDYWNoZWRJbWFnZSAqaW0gPSBuZXcgQ2FjaGVkSW1hZ2UoZGwsIHVybC51cmwoKSwgY2FjaGVQ
b2xpY3ksIF9leHBpcmVEYXRlKTsKICAgICAgICAgaWYgKCBkbCAmJiBkbC0+YXV0b2xvYWRJbWFn
ZXMoKSApIENhY2hlOjpsb2FkZXIoKS0+bG9hZChkbCwgaW0sIHRydWUpOwogICAgICAgICBpZiAo
Y2FjaGVEaXNhYmxlZCkKQEAgLTE0MDksMTkgKzEzNjUsOSBAQCBDYWNoZWRJbWFnZSAqQ2FjaGU6
OnJlcXVlc3RJbWFnZSggRG9jTG9hCiAgICAgCiAgICAgaWYoby0+dHlwZSgpICE9IENhY2hlZE9i
amVjdDo6SW1hZ2UpCiAgICAgewotI2lmZGVmIENBQ0hFX0RFQlVHCi0gICAgICAgIGtkRGVidWco
IDYwNjAgKSA8PCAiQ2FjaGU6OkludGVybmFsIEVycm9yIGluIHJlcXVlc3RJbWFnZSB1cmw9IiA8
PCBrdXJsLnVybCgpIDw8ICIhIiA8PCBlbmRsOwotI2VuZGlmCiAgICAgICAgIHJldHVybiAwOwog
ICAgIH0KIAotI2lmZGVmIENBQ0hFX0RFQlVHCi0gICAgaWYoIG8tPnN0YXR1cygpID09IENhY2hl
ZE9iamVjdDo6UGVuZGluZyApCi0gICAgICAgIGtkRGVidWcoIDYwNjAgKSA8PCAiQ2FjaGU6IGxv
YWRpbmcgaW4gcHJvZ3Jlc3M6ICIgPDwga3VybC51cmwoKSA8PCBlbmRsOwotICAgIGVsc2UKLSAg
ICAgICAga2REZWJ1ZyggNjA2MCApIDw8ICJDYWNoZTogdXNpbmcgY2FjaGVkOiAiIDw8IGt1cmwu
dXJsKCkgPDwgIiwgc3RhdHVzICIgPDwgby0+c3RhdHVzKCkgPDwgZW5kbDsKLSNlbmRpZgotCiAg
ICAgbW92ZVRvSGVhZE9mTFJVTGlzdChvKTsKICAgICBpZiAoIGRsICkgewogICAgICAgICBkbC0+
bV9kb2NPYmplY3RzLnJlbW92ZSggbyApOwpAQCAtMTQ1Miw5ICsxMzk4LDYgQEAgQ2FjaGVkQ1NT
U3R5bGVTaGVldCAqQ2FjaGU6OnJlcXVlc3RTdHlsZQogICAgIENhY2hlZE9iamVjdCAqbyA9IGNh
Y2hlLT5maW5kKGt1cmwudXJsKCkpOwogICAgIGlmKCFvKQogICAgIHsKLSNpZmRlZiBDQUNIRV9E
RUJVRwotICAgICAgICBrZERlYnVnKCA2MDYwICkgPDwgIkNhY2hlOiBuZXc6ICIgPDwga3VybC51
cmwoKSA8PCBlbmRsOwotI2VuZGlmCiAgICAgICAgIENhY2hlZENTU1N0eWxlU2hlZXQgKnNoZWV0
ID0gbmV3IENhY2hlZENTU1N0eWxlU2hlZXQoZGwsIGt1cmwudXJsKCksIGNhY2hlUG9saWN5LCBf
ZXhwaXJlRGF0ZSwgY2hhcnNldCk7CiAgICAgICAgIGlmIChjYWNoZURpc2FibGVkKQogICAgICAg
ICAgICAgc2hlZXQtPnNldEZyZWUodHJ1ZSk7CkBAIC0xNDY4LDE5ICsxNDExLDkgQEAgQ2FjaGVk
Q1NTU3R5bGVTaGVldCAqQ2FjaGU6OnJlcXVlc3RTdHlsZQogICAgIAogICAgIGlmKG8tPnR5cGUo
KSAhPSBDYWNoZWRPYmplY3Q6OkNTU1N0eWxlU2hlZXQpCiAgICAgewotI2lmZGVmIENBQ0hFX0RF
QlVHCi0gICAgICAgIGtkRGVidWcoIDYwNjAgKSA8PCAiQ2FjaGU6OkludGVybmFsIEVycm9yIGlu
IHJlcXVlc3RTdHlsZVNoZWV0IHVybD0iIDw8IGt1cmwudXJsKCkgPDwgIiEiIDw8IGVuZGw7Ci0j
ZW5kaWYKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0jaWZkZWYgQ0FDSEVfREVCVUcKLSAg
ICBpZiggby0+c3RhdHVzKCkgPT0gQ2FjaGVkT2JqZWN0OjpQZW5kaW5nICkKLSAgICAgICAga2RE
ZWJ1ZyggNjA2MCApIDw8ICJDYWNoZTogbG9hZGluZyBpbiBwcm9ncmVzczogIiA8PCBrdXJsLnVy
bCgpIDw8IGVuZGw7Ci0gICAgZWxzZQotICAgICAgICBrZERlYnVnKCA2MDYwICkgPDwgIkNhY2hl
OiB1c2luZyBjYWNoZWQ6ICIgPDwga3VybC51cmwoKSA8PCBlbmRsOwotI2VuZGlmCi0KICAgICBt
b3ZlVG9IZWFkT2ZMUlVMaXN0KG8pOwogICAgIGlmICggZGwgKSB7CiAgICAgICAgIGRsLT5tX2Rv
Y09iamVjdHMucmVtb3ZlKCBvICk7CkBAIC0xNTIxLDkgKzE0NTQsNiBAQCBDYWNoZWRTY3JpcHQg
KkNhY2hlOjpyZXF1ZXN0U2NyaXB0KCBEb2NMCiAgICAgQ2FjaGVkT2JqZWN0ICpvID0gY2FjaGUt
PmZpbmQoa3VybC51cmwoKSk7CiAgICAgaWYoIW8pCiAgICAgewotI2lmZGVmIENBQ0hFX0RFQlVH
Ci0gICAgICAgIGtkRGVidWcoIDYwNjAgKSA8PCAiQ2FjaGU6IG5ldzogIiA8PCBrdXJsLnVybCgp
IDw8IGVuZGw7Ci0jZW5kaWYKICAgICAgICAgQ2FjaGVkU2NyaXB0ICpzY3JpcHQgPSBuZXcgQ2Fj
aGVkU2NyaXB0KGRsLCBrdXJsLnVybCgpLCBjYWNoZVBvbGljeSwgX2V4cGlyZURhdGUsIGNoYXJz
ZXQpOwogICAgICAgICBpZiAoY2FjaGVEaXNhYmxlZCkKICAgICAgICAgICAgIHNjcmlwdC0+c2V0
RnJlZSh0cnVlKTsKQEAgLTE1MzcsMTkgKzE0NjcsOCBAQCBDYWNoZWRTY3JpcHQgKkNhY2hlOjpy
ZXF1ZXN0U2NyaXB0KCBEb2NMCiAgICAgCiAgICAgaWYoIShvLT50eXBlKCkgPT0gQ2FjaGVkT2Jq
ZWN0OjpTY3JpcHQpKQogICAgIHsKLSNpZmRlZiBDQUNIRV9ERUJVRwotICAgICAgICBrZERlYnVn
KCA2MDYwICkgPDwgIkNhY2hlOjpJbnRlcm5hbCBFcnJvciBpbiByZXF1ZXN0U2NyaXB0IHVybD0i
IDw8IGt1cmwudXJsKCkgPDwgIiEiIDw8IGVuZGw7Ci0jZW5kaWYKICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQotICAgIAotICAgIAotI2lmZGVmIENBQ0hFX0RFQlVHCi0gICAgaWYoIG8tPnN0YXR1
cygpID09IENhY2hlZE9iamVjdDo6UGVuZGluZyApCi0gICAgICAgIGtkRGVidWcoIDYwNjAgKSA8
PCAiQ2FjaGU6IGxvYWRpbmcgaW4gcHJvZ3Jlc3M6ICIgPDwga3VybC51cmwoKSA8PCBlbmRsOwot
ICAgIGVsc2UKLSAgICAgICAga2REZWJ1ZyggNjA2MCApIDw8ICJDYWNoZTogdXNpbmcgY2FjaGVk
OiAiIDw8IGt1cmwudXJsKCkgPDwgZW5kbDsKLSNlbmRpZgogCiAgICAgbW92ZVRvSGVhZE9mTFJV
TGlzdChvKTsKICAgICBpZiAoIGRsICkgewpAQCAtMTU5MCw5ICsxNTA5LDYgQEAgQ2FjaGVkWFNM
U3R5bGVTaGVldCogQ2FjaGU6OnJlcXVlc3RYU0xTdAogICAgIAogICAgIENhY2hlZE9iamVjdCAq
byA9IGNhY2hlLT5maW5kKGt1cmwudXJsKCkpOwogICAgIGlmICghbykgewotI2lmZGVmIENBQ0hF
X0RFQlVHCi0gICAgICAgIGtkRGVidWcoIDYwNjAgKSA8PCAiQ2FjaGU6IG5ldzogIiA8PCBrdXJs
LnVybCgpIDw8IGVuZGw7Ci0jZW5kaWYKICAgICAgICAgQ2FjaGVkWFNMU3R5bGVTaGVldCogZG9j
ID0gbmV3IENhY2hlZFhTTFN0eWxlU2hlZXQoZGwsIGt1cmwudXJsKCksIGNhY2hlUG9saWN5LCBf
ZXhwaXJlRGF0ZSk7CiAgICAgICAgIGlmIChjYWNoZURpc2FibGVkKQogICAgICAgICAgICAgZG9j
LT5zZXRGcmVlKHRydWUpOwpAQCAtMTYwNSwxOSArMTUyMSw5IEBAIENhY2hlZFhTTFN0eWxlU2hl
ZXQqIENhY2hlOjpyZXF1ZXN0WFNMU3QKICAgICAKICAgICAKICAgICBpZiAoby0+dHlwZSgpICE9
IENhY2hlZE9iamVjdDo6WFNMU3R5bGVTaGVldCkgewotI2lmZGVmIENBQ0hFX0RFQlVHCi0gICAg
ICAgIGtkRGVidWcoIDYwNjAgKSA8PCAiQ2FjaGU6OkludGVybmFsIEVycm9yIGluIHJlcXVlc3RY
U0xTdHlsZVNoZWV0IHVybD0iIDw8IGt1cmwudXJsKCkgPDwgIiEiIDw8IGVuZGw7Ci0jZW5kaWYK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIAotI2lmZGVmIENBQ0hFX0RFQlVHCi0gICAg
aWYgKG8tPnN0YXR1cygpID09IENhY2hlZE9iamVjdDo6UGVuZGluZykKLSAgICAgICAga2REZWJ1
ZyggNjA2MCApIDw8ICJDYWNoZTogbG9hZGluZyBpbiBwcm9ncmVzczogIiA8PCBrdXJsLnVybCgp
IDw8IGVuZGw7Ci0gICAgZWxzZQotICAgICAgICBrZERlYnVnKCA2MDYwICkgPDwgIkNhY2hlOiB1
c2luZyBjYWNoZWQ6ICIgPDwga3VybC51cmwoKSA8PCBlbmRsOwotI2VuZGlmCi0gICAgCisKICAg
ICBtb3ZlVG9IZWFkT2ZMUlVMaXN0KG8pOwogICAgIGlmIChkbCkgewogICAgICAgICBkbC0+bV9k
b2NPYmplY3RzLnJlbW92ZSggbyApOwpAQCAtMTY0OSw5ICsxNTU1LDYgQEAgQ2FjaGVkWEJMRG9j
dW1lbnQqIENhY2hlOjpyZXF1ZXN0WEJMRG9jdQogICAgIENhY2hlZE9iamVjdCAqbyA9IGNhY2hl
LT5maW5kKGt1cmwudXJsKCkpOwogICAgIGlmKCFvKQogICAgIHsKLSNpZmRlZiBDQUNIRV9ERUJV
RwotICAgICAgICBrZERlYnVnKCA2MDYwICkgPDwgIkNhY2hlOiBuZXc6ICIgPDwga3VybC51cmwo
KSA8PCBlbmRsOwotI2VuZGlmCiAgICAgICAgIENhY2hlZFhCTERvY3VtZW50KiBkb2MgPSBuZXcg
Q2FjaGVkWEJMRG9jdW1lbnQoZGwsIGt1cmwudXJsKCksIGNhY2hlUG9saWN5LCBfZXhwaXJlRGF0
ZSk7CiAgICAgICAgIGlmIChjYWNoZURpc2FibGVkKQogICAgICAgICAgICAgZG9jLT5zZXRGcmVl
KHRydWUpOwpAQCAtMTY2NSwxOSArMTU2OCw5IEBAIENhY2hlZFhCTERvY3VtZW50KiBDYWNoZTo6
cmVxdWVzdFhCTERvY3UKICAgICAKICAgICBpZihvLT50eXBlKCkgIT0gQ2FjaGVkT2JqZWN0OjpY
QkwpCiAgICAgewotI2lmZGVmIENBQ0hFX0RFQlVHCi0gICAgICAgIGtkRGVidWcoIDYwNjAgKSA8
PCAiQ2FjaGU6OkludGVybmFsIEVycm9yIGluIHJlcXVlc3RYQkxEb2N1bWVudCB1cmw9IiA8PCBr
dXJsLnVybCgpIDw8ICIhIiA8PCBlbmRsOwotI2VuZGlmCiAgICAgICAgIHJldHVybiAwOwogICAg
IH0KLSAgICAKLSNpZmRlZiBDQUNIRV9ERUJVRwotICAgIGlmKCBvLT5zdGF0dXMoKSA9PSBDYWNo
ZWRPYmplY3Q6OlBlbmRpbmcgKQotICAgICAgICBrZERlYnVnKCA2MDYwICkgPDwgIkNhY2hlOiBs
b2FkaW5nIGluIHByb2dyZXNzOiAiIDw8IGt1cmwudXJsKCkgPDwgZW5kbDsKLSAgICBlbHNlCi0g
ICAgICAgIGtkRGVidWcoIDYwNjAgKSA8PCAiQ2FjaGU6IHVzaW5nIGNhY2hlZDogIiA8PCBrdXJs
LnVybCgpIDw8IGVuZGw7Ci0jZW5kaWYKLSAgICAKKwogICAgIG1vdmVUb0hlYWRPZkxSVUxpc3Qo
byk7CiAgICAgaWYgKCBkbCApIHsKICAgICAgICAgZGwtPm1fZG9jT2JqZWN0cy5yZW1vdmUoIG8g
KTsKQEAgLTE2OTgsMTEgKzE1OTEsNiBAQCB2b2lkIENhY2hlOjpmbHVzaChib29sIGZvcmNlKQog
CiAgICAgaW5pdCgpOwogCi0jaWZkZWYgQ0FDSEVfREVCVUcKLSAgICBzdGF0aXN0aWNzKCk7Ci0g
ICAga2REZWJ1ZyggNjA2MCApIDw8ICJDYWNoZTogZmx1c2goKSIgPDwgZW5kbDsKLSNlbmRpZgot
CiAgICAgd2hpbGUgKG1faGVhZE9mVW5jYWNoZWFibGVMaXN0KQogICAgICAgICByZW1vdmVDYWNo
ZUVudHJ5KG1faGVhZE9mVW5jYWNoZWFibGVMaXN0KTsKIApAQCAtMTcxNSw5ICsxNjAzLDYgQEAg
dm9pZCBDYWNoZTo6Zmx1c2goYm9vbCBmb3JjZSkKICAgICB9CiAKICAgICBmbHVzaENvdW50ID0g
bV9jb3VudE9mTFJVQW5kVW5jYWNoZWFibGVMaXN0cysxMDsgLy8gRmx1c2ggYWdhaW4gd2hlbiB0
aGUgY2FjaGUgaGFzIGdyb3duLgotI2lmZGVmIENBQ0hFX0RFQlVHCi0gICAgLy9zdGF0aXN0aWNz
KCk7Ci0jZW5kaWYKIH0KIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4936</attachid>
            <date>2005-12-04 06:35:14 -0800</date>
            <delta_ts>2005-12-18 15:30:46 -0800</delta_ts>
            <desc>PARSER_DEBUG removal patch</desc>
            <filename>PARSER_DEBUG.patch</filename>
            <type>text/plain</type>
            <size>954</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2h0bWwvaHRtbHBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2
cy9yb290L1dlYkNvcmUva2h0bWwvaHRtbC9odG1scGFyc2VyLmNwcCx2CnJldHJpZXZpbmcgcmV2
aXNpb24gMS4xMjMKZGlmZiAtcCAtdSAtcjEuMTIzIGtodG1sL2h0bWwvaHRtbHBhcnNlci5jcHAK
LS0tIGtodG1sL2h0bWwvaHRtbHBhcnNlci5jcHAJMSBEZWMgMjAwNSAxMDozMjoxOSAtMDAwMAkx
LjEyMworKysga2h0bWwvaHRtbC9odG1scGFyc2VyLmNwcAk0IERlYyAyMDA1IDE0OjM0OjQ2IC0w
MDAwCkBAIC04NDcsOSArODQ3LDYgQEAgdm9pZCBIVE1MUGFyc2VyOjpwcm9jZXNzQ2xvc2VUYWco
VG9rZW4gKgogICAgICAgICBwYXJzZVRva2VuKHQpOwogICAgICAgICBwb3BCbG9jayh0LT50YWdO
YW1lKTsKICAgICB9Ci0jaWZkZWYgUEFSU0VSX0RFQlVHCi0gICAga2REZWJ1ZyggNjAzNSApIDw8
ICJjbG9zZVRhZyAtLT4gY3VycmVudCA9ICIgPDwgY3VycmVudC0+bm9kZU5hbWUoKS5xc3RyaW5n
KCkgPDwgZW5kbDsKLSNlbmRpZgogfQogCiBib29sIEhUTUxQYXJzZXI6OmlzSGVhZGVyVGFnKGNv
bnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKQEAgLTEzMDEsOSArMTI5OCw2IEBAIHZvaWQgSFRN
TFBhcnNlcjo6Y3JlYXRlSGVhZCgpCiAgICAgaW50IGV4Y2VwdGlvbmNvZGUgPSAwOwogICAgIGRv
YygpLT5maXJzdENoaWxkKCktPmluc2VydEJlZm9yZShoZWFkLCBib2R5LCBleGNlcHRpb25jb2Rl
KTsKICAgICBpZiAoIGV4Y2VwdGlvbmNvZGUgKSB7Ci0jaWZkZWYgUEFSU0VSX0RFQlVHCi0gICAg
ICAgIGtkRGVidWcoIDYwMzUgKSA8PCAiY3JlYXRpb24gb2YgaGVhZCBmYWlsZWQhISEhIiA8PCBl
bmRsOwotI2VuZGlmCiAgICAgICAgIGhlYWQgPSAwOwogICAgIH0KIH0K
</data>
<flag name="review"
          id="983"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4941</attachid>
            <date>2005-12-04 13:31:54 -0800</date>
            <delta_ts>2005-12-11 00:58:00 -0800</delta_ts>
            <desc>TOKEN_DEBUG removal patch</desc>
            <filename>TOKEN_DEBUG.patch</filename>
            <type>text/plain</type>
            <size>8824</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2Nzcy9jc3NwYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMv
cm9vdC9XZWJDb3JlL2todG1sL2Nzcy9jc3NwYXJzZXIuY3BwLHYKcmV0cmlldmluZyByZXZpc2lv
biAxLjExMwpkaWZmIC1wIC11IC1yMS4xMTMga2h0bWwvY3NzL2Nzc3BhcnNlci5jcHAKLS0tIGto
dG1sL2Nzcy9jc3NwYXJzZXIuY3BwCTIxIE5vdiAyMDA1IDA0OjAxOjUxIC0wMDAwCTEuMTEzCisr
KyBraHRtbC9jc3MvY3NzcGFyc2VyLmNwcAk0IERlYyAyMDA1IDE0OjM3OjUyIC0wMDAwCkBAIC0y
NjI4LDkgKzI2MjgsNiBAQCBpbnQgRE9NOjpDU1NQYXJzZXI6OmxleCggdm9pZCAqX3l5bHZhbCAp
CiAgICAgaW50IGxlbmd0aDsKICAgICB1bnNpZ25lZCBzaG9ydCAqdCA9IHRleHQoICZsZW5ndGgg
KTsKIAotI2lmZGVmIFRPS0VOX0RFQlVHCi0gICAgcURlYnVnKCJDU1NUb2tlbml6ZXI6IGdvdCB0
b2tlbiAlZDogJyVzJyIsIHRva2VuLCB0b2tlbiA9PSBFTkRfVE9LRU4gPyAiIiA6IFFTdHJpbmco
IChRQ2hhciAqKXQsIGxlbmd0aCApLmxhdGluMSgpICk7Ci0jZW5kaWYKICAgICBzd2l0Y2goIHRv
a2VuICkgewogICAgIGNhc2UgV0hJVEVTUEFDRToKICAgICBjYXNlIFNHTUxfQ0Q6CkluZGV4OiBr
aHRtbC9odG1sL2h0bWx0b2tlbml6ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9v
dC9XZWJDb3JlL2todG1sL2h0bWwvaHRtbHRva2VuaXplci5jcHAsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMTI2CmRpZmYgLXAgLXUgLXIxLjEyNiBraHRtbC9odG1sL2h0bWx0b2tlbml6ZXIuY3Bw
Ci0tLSBraHRtbC9odG1sL2h0bWx0b2tlbml6ZXIuY3BwCTIxIE5vdiAyMDA1IDAxOjIwOjE1IC0w
MDAwCTEuMTI2CisrKyBraHRtbC9odG1sL2h0bWx0b2tlbml6ZXIuY3BwCTQgRGVjIDIwMDUgMTQ6
Mzg6MzggLTAwMDAKQEAgLTM5OCwxMSArMzk4LDYgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRN
TFRva2VuaXplcjo6c2NyaQogICAgICAgICBzY3JpcHRTcmM9UVN0cmluZzo6bnVsbDsKICAgICB9
CiAgICAgZWxzZSB7Ci0jaWZkZWYgVE9LRU5fREVCVUcKLSAgICAgICAga2REZWJ1ZyggNjAzNiAp
IDw8ICItLS1TVEFSVCBTQ1JJUFQtLS0iIDw8IGVuZGw7Ci0gICAgICAgIGtkRGVidWcoIDYwMzYg
KSA8PCBRU3RyaW5nKHNjcmlwdENvZGUsIHNjcmlwdENvZGVTaXplKSA8PCBlbmRsOwotICAgICAg
ICBrZERlYnVnKCA2MDM2ICkgPDwgIi0tLUVORCBTQ1JJUFQtLS0iIDw8IGVuZGw7Ci0jZW5kaWYK
ICAgICAgICAgLy8gUGFyc2Ugc2NyaXB0Q29kZSBjb250YWluaW5nIDxzY3JpcHQ+IGluZm8KICAg
ICAgICAgZG9TY3JpcHRFeGVjID0gdHJ1ZTsKICAgICB9CkBAIC01NjEsMTAgKzU1Niw2IEBAIEhU
TUxUb2tlbml6ZXI6OlN0YXRlIEhUTUxUb2tlbml6ZXI6OnBhcnMKICAgICBjaGVja1NjcmlwdEJ1
ZmZlcihzcmMubGVuZ3RoKCkpOwogICAgIHdoaWxlICggIXNyYy5pc0VtcHR5KCkgKSB7CiAgICAg
ICAgIHNjcmlwdENvZGVbIHNjcmlwdENvZGVTaXplKysgXSA9ICpzcmM7Ci0jaWYgZGVmaW5lZChU
T0tFTl9ERUJVRykgJiYgVE9LRU5fREVCVUcgPiAxCi0gICAgICAgIHFEZWJ1ZygiY29tbWVudCBp
cyBub3c6IColcyoiLAotICAgICAgICAgICAgICAgUUNvbnN0U3RyaW5nKChRQ2hhciopc3JjLm9w
ZXJhdG9yLT4oKSwga01pbigxNlUsIHNyYy5sZW5ndGgoKSkpLnFzdHJpbmcoKS5sYXRpbjEoKSk7
Ci0jZW5kaWYKIAogICAgICAgICBpZiAoc3RyaWN0KSB7CiAgICAgICAgICAgICBpZiAoc3JjLT51
bmljb2RlKCkgPT0gJy0nKSB7CkBAIC04MzAsOSArODIxLDYgQEAgSFRNTFRva2VuaXplcjo6U3Rh
dGUgSFRNTFRva2VuaXplcjo6cGFycwogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAg
fSBlbHNlIHsKLSNpZmRlZiBUT0tFTl9ERUJVRwotICAgICAgICAgICAgICAgIGtkRGVidWcoIDYw
MzYgKSA8PCAidW5rbm93biBlbnRpdHkhIiA8PCBlbmRsOwotI2VuZGlmCiAgICAgICAgICAgICAg
ICAgY2hlY2tCdWZmZXIoMTApOwogICAgICAgICAgICAgICAgIC8vIGlnbm9yZSB0aGUgc2VxdWVu
Y2UsIGFkZCBpdCB0byB0aGUgYnVmZmVyIGFzIHBsYWludGV4dAogICAgICAgICAgICAgICAgICpk
ZXN0KysgPSAnJic7CkBAIC04NTgsMTMgKzg0Niw2IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIEhU
TUxUb2tlbml6ZXI6OnBhcnMKICAgICB3aGlsZSAoIXNyYy5pc0VtcHR5KCkpCiAgICAgewogICAg
ICAgICBjaGVja0J1ZmZlcigpOwotI2lmIGRlZmluZWQoVE9LRU5fREVCVUcpICYmIFRPS0VOX0RF
QlVHID4gMQotICAgICAgICB1aW50IGwgPSAwOwotICAgICAgICB3aGlsZShsIDwgc3JjLmxlbmd0
aCgpICYmICgqKHNyYy5vcGVyYXRvci0+KCkrbCkpLmxhdGluMSgpICE9ICc+JykKLSAgICAgICAg
ICAgIGwrKzsKLSAgICAgICAgcURlYnVnKCJzcmMgaXMgbm93OiAqJXMqLCB0cXVvdGU6ICVkIiwK
LSAgICAgICAgICAgICAgIFFDb25zdFN0cmluZygoUUNoYXIqKXNyYy5vcGVyYXRvci0+KCksIGwp
LnFzdHJpbmcoKS5sYXRpbjEoKSwgdHF1b3RlKTsKLSNlbmRpZgogICAgICAgICBzd2l0Y2goc3Rh
dGUudGFnU3RhdGUoKSkgewogICAgICAgICBjYXNlIE5vVGFnOgogICAgICAgICB7CkBAIC04NzMs
OSArODU0LDYgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFycwogICAg
ICAgICB9CiAgICAgICAgIGNhc2UgVGFnTmFtZToKICAgICAgICAgewotI2lmIGRlZmluZWQoVE9L
RU5fREVCVUcpICYmICBUT0tFTl9ERUJVRyA+IDEKLSAgICAgICAgICAgIHFEZWJ1ZygiVGFnTmFt
ZSIpOwotI2VuZGlmCiAgICAgICAgICAgICBpZiAoc2VhcmNoQ291bnQgPiAwKQogICAgICAgICAg
ICAgewogICAgICAgICAgICAgICAgIGlmICgqc3JjID09IGNvbW1lbnRTdGFydFtzZWFyY2hDb3Vu
dF0pCkBAIC04ODMsOSArODYxLDYgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXpl
cjo6cGFycwogICAgICAgICAgICAgICAgICAgICBzZWFyY2hDb3VudCsrOwogICAgICAgICAgICAg
ICAgICAgICBpZiAoc2VhcmNoQ291bnQgPT0gNCkKICAgICAgICAgICAgICAgICAgICAgewotI2lm
ZGVmIFRPS0VOX0RFQlVHCi0gICAgICAgICAgICAgICAgICAgICAgICBrZERlYnVnKCA2MDM2ICkg
PDwgIkZvdW5kIGNvbW1lbnQiIDw8IGVuZGw7Ci0jZW5kaWYKICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIEZvdW5kICc8IS0tJyBzZXF1ZW5jZQogICAgICAgICAgICAgICAgICAgICAgICAgKytz
cmM7CiAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0ID0gYnVmZmVyOyAvLyBpZ25vcmUgdGhl
IHByZXZpb3VzIHBhcnQgb2YgdGhpcyB0YWcKQEAgLTk2OCw5ICs5NDMsNiBAQCBIVE1MVG9rZW5p
emVyOjpTdGF0ZSBIVE1MVG9rZW5pemVyOjpwYXJzCiAgICAgICAgIH0KICAgICAgICAgY2FzZSBT
ZWFyY2hBdHRyaWJ1dGU6CiAgICAgICAgIHsKLSNpZiBkZWZpbmVkKFRPS0VOX0RFQlVHKSAmJiBU
T0tFTl9ERUJVRyA+IDEKLSAgICAgICAgICAgICAgICBxRGVidWcoIlNlYXJjaEF0dHJpYnV0ZSIp
OwotI2VuZGlmCiAgICAgICAgICAgICBib29sIGF0ZXNwYWNlID0gZmFsc2U7CiAgICAgICAgICAg
ICB1c2hvcnQgY3VyY2hhcjsKICAgICAgICAgICAgIHdoaWxlKCFzcmMuaXNFbXB0eSgpKSB7CkBA
IC05OTIsOSArOTY0LDYgQEAgSFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFy
cwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQXR0cmlidXRlTmFtZToKICAgICAgICAgewotI2lm
IGRlZmluZWQoVE9LRU5fREVCVUcpICYmIFRPS0VOX0RFQlVHID4gMQotICAgICAgICAgICAgICAg
IHFEZWJ1ZygiQXR0cmlidXRlTmFtZSIpOwotI2VuZGlmCiAgICAgICAgICAgICB1c2hvcnQgY3Vy
Y2hhcjsKICAgICAgICAgICAgIGludCBsbCA9IGtNaW4oc3JjLmxlbmd0aCgpLCBDQlVGTEVOLWNC
dWZmZXJQb3MpOwogCkBAIC0xMDM0LDkgKzEwMDMsNiBAQCBIVE1MVG9rZW5pemVyOjpTdGF0ZSBI
VE1MVG9rZW5pemVyOjpwYXJzCiAgICAgICAgIH0KICAgICAgICAgY2FzZSBTZWFyY2hFcXVhbDoK
ICAgICAgICAgewotI2lmIGRlZmluZWQoVE9LRU5fREVCVUcpICYmIFRPS0VOX0RFQlVHID4gMQot
ICAgICAgICAgICAgICAgIHFEZWJ1ZygiU2VhcmNoRXF1YWwiKTsKLSNlbmRpZgogICAgICAgICAg
ICAgdXNob3J0IGN1cmNoYXI7CiAgICAgICAgICAgICBib29sIGF0ZXNwYWNlID0gZmFsc2U7CiAg
ICAgICAgICAgICB3aGlsZSghc3JjLmlzRW1wdHkoKSkgewpAQCAtMTA0NCw5ICsxMDEwLDYgQEAg
SFRNTFRva2VuaXplcjo6U3RhdGUgSFRNTFRva2VuaXplcjo6cGFycwogICAgICAgICAgICAgICAg
IC8vIEluIHRoaXMgbW9kZSBqdXN0IGlnbm9yZSBhbnkgcXVvdGVzIHdlIGVuY291bnRlciBhbmQg
dHJlYXQgdGhlbSBsaWtlIHNwYWNlcy4KICAgICAgICAgICAgICAgICBpZiAoY3VyY2hhciA+ICcg
JyAmJiBjdXJjaGFyICE9ICdcJycgJiYgY3VyY2hhciAhPSAnIicpIHsKICAgICAgICAgICAgICAg
ICAgICAgaWYoY3VyY2hhciA9PSAnPScpIHsKLSNpZmRlZiBUT0tFTl9ERUJVRwotICAgICAgICAg
ICAgICAgICAgICAgICAga2REZWJ1Zyg2MDM2KSA8PCAiZm91bmQgZXF1YWwiIDw8IGVuZGw7Ci0j
ZW5kaWYKICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnNldFRhZ1N0YXRlKFNlYXJjaFZh
bHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICsrc3JjOwogICAgICAgICAgICAgICAgICAg
ICB9CkBAIC0xMDgzLDkgKzEwNDYsNiBAQCBIVE1MVG9rZW5pemVyOjpTdGF0ZSBIVE1MVG9rZW5p
emVyOjpwYXJzCiAgICAgICAgIH0KICAgICAgICAgY2FzZSBRdW90ZWRWYWx1ZToKICAgICAgICAg
ewotI2lmIGRlZmluZWQoVE9LRU5fREVCVUcpICYmIFRPS0VOX0RFQlVHID4gMQotICAgICAgICAg
ICAgICAgIHFEZWJ1ZygiUXVvdGVkVmFsdWUiKTsKLSNlbmRpZgogICAgICAgICAgICAgdXNob3J0
IGN1cmNoYXI7CiAgICAgICAgICAgICB3aGlsZSghc3JjLmlzRW1wdHkoKSkgewogICAgICAgICAg
ICAgICAgIGNoZWNrQnVmZmVyKCk7CkBAIC0xMTQzLDkgKzExMDMsNiBAQCBIVE1MVG9rZW5pemVy
OjpTdGF0ZSBIVE1MVG9rZW5pemVyOjpwYXJzCiAgICAgICAgIH0KICAgICAgICAgY2FzZSBWYWx1
ZToKICAgICAgICAgewotI2lmIGRlZmluZWQoVE9LRU5fREVCVUcpICYmIFRPS0VOX0RFQlVHID4g
MQotICAgICAgICAgICAgcURlYnVnKCJWYWx1ZSIpOwotI2VuZGlmCiAgICAgICAgICAgICB1c2hv
cnQgY3VyY2hhcjsKICAgICAgICAgICAgIHdoaWxlKCFzcmMuaXNFbXB0eSgpKSB7CiAgICAgICAg
ICAgICAgICAgY2hlY2tCdWZmZXIoKTsKQEAgLTExNzcsOSArMTEzNCw2IEBAIEhUTUxUb2tlbml6
ZXI6OlN0YXRlIEhUTUxUb2tlbml6ZXI6OnBhcnMKICAgICAgICAgfQogICAgICAgICBjYXNlIFNl
YXJjaEVuZDoKICAgICAgICAgewotI2lmIGRlZmluZWQoVE9LRU5fREVCVUcpICYmIFRPS0VOX0RF
QlVHID4gMQotICAgICAgICAgICAgICAgIHFEZWJ1ZygiU2VhcmNoRW5kIik7Ci0jZW5kaWYKICAg
ICAgICAgICAgIHdoaWxlKCFzcmMuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAgICAgaWYgKCpz
cmMgPT0gJz4nIHx8ICpzcmMgPT0gJzwnKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAg
LTEyMDQsOSArMTE1OCw2IEBAIEhUTUxUb2tlbml6ZXI6OlN0YXRlIEhUTUxUb2tlbml6ZXI6OnBh
cnMKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgQXRvbWljU3RyaW5nIHRhZ05hbWUgPSBj
dXJyVG9rZW4udGFnTmFtZTsKLSNpZiBkZWZpbmVkKFRPS0VOX0RFQlVHKSAmJiBUT0tFTl9ERUJV
RyA+IDAKLSAgICAgICAgICAgIGtkRGVidWcoIDYwMzYgKSA8PCAiYXBwZW5kaW5nIFRhZzogIiA8
PCB0YWdOYW1lLnFzdHJpbmcoKSA8PCBlbmRsOwotI2VuZGlmCiAKICAgICAgICAgICAgIC8vIEhh
bmRsZSA8c2NyaXB0IHNyYz0iZm9vIi8+IGxpa2UgTW96aWxsYS9PcGVyYS4gV2UgaGF2ZSB0byBk
byB0aGlzIG5vdyBmb3IgRGFzaGJvYXJkCiAgICAgICAgICAgICAvLyBjb21wYXRpYmlsaXR5LgpA
QCAtMTM3MywxMCArMTMyNCw2IEBAIGlubGluZSBib29sIEhUTUxUb2tlbml6ZXI6OmNvbnRpbnVl
UHJvY2UKIAogYm9vbCBIVE1MVG9rZW5pemVyOjp3cml0ZShjb25zdCBUb2tlbml6ZXJTdHJpbmcg
JnN0ciwgYm9vbCBhcHBlbmREYXRhKQogewotI2lmZGVmIFRPS0VOX0RFQlVHCi0gICAga2REZWJ1
ZyggNjAzNiApIDw8IHRoaXMgPDwgIiBUb2tlbml6ZXI6OndyaXRlKFwiIiA8PCBzdHIudG9TdHJp
bmcoKSA8PCAiXCIsIiA8PCBhcHBlbmREYXRhIDw8ICIpIiA8PCBlbmRsOwotI2VuZGlmCi0KICAg
ICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIApAQCAtMTY4MCwxMyAr
MTYyNyw2IEBAIHZvaWQgSFRNTFRva2VuaXplcjo6cHJvY2Vzc1Rva2VuKCkKICAgICAgICAganNQ
cm94eS0+c2V0RXZlbnRIYW5kbGVyTGluZW5vKHRhZ1N0YXJ0TGluZW5vKTsKICAgICBpZiAoIGRl
c3QgPiBidWZmZXIgKQogICAgIHsKLSNpZmRlZiBUT0tFTl9ERUJVRwotICAgICAgICBpZihjdXJy
VG9rZW4udGFnTmFtZS5sZW5ndGgoKSkgewotICAgICAgICAgICAgcURlYnVnKCAidW5leHBlY3Rl
ZCB0b2tlbjogJXMsIHN0cjogKiVzKiIsIGN1cnJUb2tlbi50YWdOYW1lLnFzdHJpbmcoKS5sYXRp
bjEoKSxRQ29uc3RTdHJpbmcoIGJ1ZmZlcixkZXN0LWJ1ZmZlciApLnFzdHJpbmcoKS5sYXRpbjEo
KSApOwotICAgICAgICAgICAgYXNzZXJ0KDApOwotICAgICAgICB9Ci0KLSNlbmRpZgogICAgICAg
ICBjdXJyVG9rZW4udGV4dCA9IG5ldyBET01TdHJpbmdJbXBsKCBidWZmZXIsIGRlc3QgLSBidWZm
ZXIgKTsKICAgICAgICAgY3VyclRva2VuLnRleHQtPnJlZigpOwogICAgICAgICBpZiAoY3VyclRv
a2VuLnRhZ05hbWUgIT0gY29tbWVudEF0b20pCkBAIC0xNzAxLDI5ICsxNjQxLDYgQEAgdm9pZCBI
VE1MVG9rZW5pemVyOjpwcm9jZXNzVG9rZW4oKQogCiAgICAgZGVzdCA9IGJ1ZmZlcjsKIAotI2lm
ZGVmIFRPS0VOX0RFQlVHCi0gICAgUVN0cmluZyBuYW1lID0gY3VyclRva2VuLnRhZ05hbWUucXN0
cmluZygpOwotICAgIFFTdHJpbmcgdGV4dDsKLSAgICBpZihjdXJyVG9rZW4udGV4dCkKLSAgICAg
ICAgdGV4dCA9IFFDb25zdFN0cmluZyhjdXJyVG9rZW4udGV4dC0+cywgY3VyclRva2VuLnRleHQt
PmwpLnFzdHJpbmcoKTsKLQotICAgIGtkRGVidWcoIDYwMzYgKSA8PCAiVG9rZW4gLS0+ICIgPDwg
bmFtZSA8PCBlbmRsOwotICAgIGlmIChjdXJyVG9rZW4uZmxhdCkKLSAgICAgICAga2REZWJ1Zygg
NjAzNiApIDw8ICJUb2tlbiBpcyBGTEFUISIgPDwgZW5kbDsKLSAgICBpZighdGV4dC5pc051bGwo
KSkKLSAgICAgICAga2REZWJ1ZyggNjAzNiApIDw8ICJ0ZXh0OiBcIiIgPDwgdGV4dCA8PCAiXCIi
IDw8IGVuZGw7Ci0gICAgdW5zaWduZWQgbCA9IGN1cnJUb2tlbi5hdHRycyA/IGN1cnJUb2tlbi5h
dHRycy0+bGVuZ3RoKCkgOiAwOwotICAgIGlmKGwpIHsKLSAgICAgICAga2REZWJ1ZyggNjAzNiAp
IDw8ICJBdHRyaWJ1dGVzOiAiIDw8IGwgPDwgZW5kbDsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGw7ICsraSkgewotICAgICAgICAgICAgQXR0cmlidXRlSW1wbCogYyA9IGN1cnJU
b2tlbi5hdHRycy0+YXR0cmlidXRlSXRlbShpKTsKLSAgICAgICAgICAgIGtkRGVidWcoIDYwMzYg
KSA8PCAiICAgICIgPDwgYy0+bG9jYWxOYW1lKCkucXN0cmluZygpCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPDwgIj1cIiIgPDwgYy0+dmFsdWUoKS5xc3RyaW5nKCkgPDwgIlwiIiA8PCBl
bmRsOwotICAgICAgICB9Ci0gICAgfQotICAgIGtkRGVidWcoIDYwMzYgKSA8PCBlbmRsOwotI2Vu
ZGlmCi0gICAgCiAgICAgaWYgKCFtX3BhcnNlclN0b3BwZWQpIHsKICAgICAgICAgLy8gcGFzcyB0
aGUgdG9rZW4gb3ZlciB0byB0aGUgcGFyc2VyLCB0aGUgcGFyc2VyIERPRVMgTk9UIGRlbGV0ZSB0
aGUgdG9rZW4KICAgICAgICAgcGFyc2VyLT5wYXJzZVRva2VuKCZjdXJyVG9rZW4pOwpAQCAtMTc2
OSwxNiArMTY4NiwxMCBAQCB2b2lkIEhUTUxUb2tlbml6ZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hl
CiAgICAgYXNzZXJ0KCFwZW5kaW5nU2NyaXB0cy5pc0VtcHR5KCkpOwogICAgIGJvb2wgZmluaXNo
ZWQgPSBmYWxzZTsKICAgICB3aGlsZSAoIWZpbmlzaGVkICYmIHBlbmRpbmdTY3JpcHRzLmhlYWQo
KS0+aXNMb2FkZWQoKSkgewotI2lmZGVmIFRPS0VOX0RFQlVHCi0gICAgICAgIGtkRGVidWcoIDYw
MzYgKSA8PCAiRmluaXNoZWQgbG9hZGluZyBhbiBleHRlcm5hbCBzY3JpcHQiIDw8IGVuZGw7Ci0j
ZW5kaWYKICAgICAgICAgQ2FjaGVkU2NyaXB0KiBjcyA9IHBlbmRpbmdTY3JpcHRzLmRlcXVldWUo
KTsKICAgICAgICAgYXNzZXJ0KGNzLT5hY2Nlc3NDb3VudCgpID4gMCk7CiAKICAgICAgICAgRE9N
U3RyaW5nIHNjcmlwdFNvdXJjZSA9IGNzLT5zY3JpcHQoKTsKLSNpZmRlZiBUT0tFTl9ERUJVRwot
ICAgICAgICBrZERlYnVnKCA2MDM2ICkgPDwgIkV4dGVybmFsIHNjcmlwdCBpczoiIDw8IGVuZGwg
PDwgc2NyaXB0U291cmNlLnFzdHJpbmcoKSA8PCBlbmRsOwotI2VuZGlmCiAgICAgICAgIHNldFNy
YyhUb2tlbml6ZXJTdHJpbmcoKSk7CiAKICAgICAgICAgLy8gbWFrZSBzdXJlIHdlIGZvcmdldCBh
Ym91dCB0aGUgc2NyaXB0IGJlZm9yZSB3ZSBleGVjdXRlIHRoZSBuZXcgb25lCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4943</attachid>
            <date>2005-12-04 13:32:14 -0800</date>
            <delta_ts>2005-12-11 00:58:27 -0800</delta_ts>
            <desc>DEBUG_LAYOUT removal patch</desc>
            <filename>DEBUG_LAYOUT.patch</filename>
            <type>text/plain</type>
            <size>30931</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2h0bWwvaHRtbF90YWJsZWltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2h0bWwvaHRtbF90YWJsZWltcGwuY3BwLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjcwCmRpZmYgLXAgLXUgLXIxLjcwIGtodG1sL2h0bWwvaHRtbF90YWJs
ZWltcGwuY3BwCi0tLSBraHRtbC9odG1sL2h0bWxfdGFibGVpbXBsLmNwcAkyIERlYyAyMDA1IDAz
OjQ4OjA3IC0wMDAwCTEuNzAKKysrIGtodG1sL2h0bWwvaHRtbF90YWJsZWltcGwuY3BwCTQgRGVj
IDIwMDUgMTQ6NDI6MTYgLTAwMDAKQEAgLTMxOCwxMCArMzE4LDYgQEAgdm9pZCBIVE1MVGFibGVF
bGVtZW50SW1wbDo6ZGVsZXRlUm93KCBpbgogCiBOb2RlSW1wbCAqSFRNTFRhYmxlRWxlbWVudElt
cGw6OmFkZENoaWxkKE5vZGVJbXBsICpjaGlsZCkKIHsKLSNpZmRlZiBERUJVR19MQVlPVVQKLSAg
ICBrZERlYnVnKCA2MDMwICkgPDwgbm9kZU5hbWUoKS5xc3RyaW5nKCkgPDwgIihUYWJsZSk6OmFk
ZENoaWxkKCAiIDw8IGNoaWxkLT5ub2RlTmFtZSgpLnFzdHJpbmcoKSA8PCAiICkiIDw8IGVuZGw7
Ci0jZW5kaWYKLQogICAgIGlmIChjaGlsZC0+aGFzVGFnTmFtZShmb3JtVGFnKSkgewogICAgICAg
ICAvLyBGaXJzdCBhZGQgdGhlIGNoaWxkLgogICAgICAgICBIVE1MRWxlbWVudEltcGw6OmFkZENo
aWxkKGNoaWxkKTsKQEAgLTc0NiwxMCArNzQyLDYgQEAgYm9vbCBIVE1MVGFibGVTZWN0aW9uRWxl
bWVudEltcGw6OmNoZWNrRAogCiBOb2RlSW1wbCAqSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnRJbXBs
OjphZGRDaGlsZChOb2RlSW1wbCAqY2hpbGQpCiB7Ci0jaWZkZWYgREVCVUdfTEFZT1VUCi0gICAg
a2REZWJ1ZyggNjAzMCApIDw8IG5vZGVOYW1lKCkucXN0cmluZygpIDw8ICIoVGJvZHkpOjphZGRD
aGlsZCggIiA8PCBjaGlsZC0+bm9kZU5hbWUoKS5xc3RyaW5nKCkgPDwgIiApIiA8PCBlbmRsOwot
I2VuZGlmCi0KICAgICBpZiAoY2hpbGQtPmhhc1RhZ05hbWUoZm9ybVRhZykpIHsKICAgICAgICAg
Ly8gRmlyc3QgYWRkIHRoZSBjaGlsZC4KICAgICAgICAgSFRNTEVsZW1lbnRJbXBsOjphZGRDaGls
ZChjaGlsZCk7CkBAIC04NzAsMTAgKzg2Miw2IEBAIGJvb2wgSFRNTFRhYmxlUm93RWxlbWVudElt
cGw6OmNoZWNrRFREKGMKIAogTm9kZUltcGwgKkhUTUxUYWJsZVJvd0VsZW1lbnRJbXBsOjphZGRD
aGlsZChOb2RlSW1wbCAqY2hpbGQpCiB7Ci0jaWZkZWYgREVCVUdfTEFZT1VUCi0gICAga2REZWJ1
ZyggNjAzMCApIDw8IG5vZGVOYW1lKCkucXN0cmluZygpIDw8ICIoVHJvdyk6OmFkZENoaWxkKCAi
IDw8IGNoaWxkLT5ub2RlTmFtZSgpLnFzdHJpbmcoKSA8PCAiICkiIDw8IGVuZGw7Ci0jZW5kaWYK
LQogICAgIGlmIChjaGlsZC0+aGFzVGFnTmFtZShmb3JtVGFnKSkgewogICAgICAgICAvLyBGaXJz
dCBhZGQgdGhlIGNoaWxkLgogICAgICAgICBIVE1MRWxlbWVudEltcGw6OmFkZENoaWxkKGNoaWxk
KTsKSW5kZXg6IGtodG1sL3JlbmRlcmluZy9yZW5kZXJfYmxvY2suY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3JlbmRlcmluZy9yZW5kZXJfYmxvY2suY3Bw
LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIxOApkaWZmIC1wIC11IC1yMS4yMTgga2h0bWwvcmVu
ZGVyaW5nL3JlbmRlcl9ibG9jay5jcHAKLS0tIGtodG1sL3JlbmRlcmluZy9yZW5kZXJfYmxvY2su
Y3BwCTIgRGVjIDIwMDUgMDM6NDg6MDggLTAwMDAJMS4yMTgKKysrIGtodG1sL3JlbmRlcmluZy9y
ZW5kZXJfYmxvY2suY3BwCTQgRGVjIDIwMDUgMTQ6NDI6MzAgLTAwMDAKQEAgLTI2NTEsMTAgKzI2
NTEsNiBAQCB2b2lkIFJlbmRlckJsb2NrOjpjYWxjTWluTWF4V2lkdGgoKQogewogICAgIEtIVE1M
QXNzZXJ0KCAhbWluTWF4S25vd24oKSApOwogCi0jaWZkZWYgREVCVUdfTEFZT1VUCi0gICAga2RE
ZWJ1ZyggNjA0MCApIDw8IHJlbmRlck5hbWUoKSA8PCAiKFJlbmRlckJsb2NrKTo6Y2FsY01pbk1h
eFdpZHRoKCkgdGhpcz0iIDw8IHRoaXMgPDwgZW5kbDsKLSNlbmRpZgotCiAgICAgbV9taW5XaWR0
aCA9IDA7CiAgICAgbV9tYXhXaWR0aCA9IDA7CiAKSW5kZXg6IGtodG1sL3JlbmRlcmluZy9yZW5k
ZXJfYm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9y
ZW5kZXJpbmcvcmVuZGVyX2JveC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTc4CmRpZmYg
LXAgLXUgLXIxLjE3OCBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX2JveC5jcHAKLS0tIGtodG1sL3Jl
bmRlcmluZy9yZW5kZXJfYm94LmNwcAkzMCBOb3YgMjAwNSAwMTo1ODo0NSAtMDAwMAkxLjE3OAor
Kysga2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9ib3guY3BwCTQgRGVjIDIwMDUgMTQ6NDI6MzIgLTAw
MDAKQEAgLTg1NCw5ICs4NTQsNiBAQCB2b2lkIFJlbmRlckJveDo6cmVsYXRpdmVQb3NpdGlvbk9m
ZnNldChpCiAKIHZvaWQgUmVuZGVyQm94OjpjYWxjV2lkdGgoKQogewotI2lmZGVmIERFQlVHX0xB
WU9VVAotICAgIGtkRGVidWcoIDYwNDAgKSA8PCAiUmVuZGVyQm94KCI8PHJlbmRlck5hbWUoKTw8
Iik6OmNhbGNXaWR0aCgpIiA8PCBlbmRsOwotI2VuZGlmCiAgICAgaWYgKGlzUG9zaXRpb25lZCgp
KQogICAgIHsKICAgICAgICAgY2FsY0Fic29sdXRlSG9yaXpvbnRhbCgpOwpAQCAtOTQ0LDExICs5
NDEsNiBAQCB2b2lkIFJlbmRlckJveDo6Y2FsY1dpZHRoKCkKICAgICAgICAgICAgICAgICBtX21h
cmdpbkxlZnQgPSBjdyAtIG1fd2lkdGggLSBtX21hcmdpblJpZ2h0OwogICAgICAgICB9CiAgICAg
fQotCi0jaWZkZWYgREVCVUdfTEFZT1VUCi0gICAga2REZWJ1ZyggNjA0MCApIDw8ICJSZW5kZXJC
b3g6OmNhbGNXaWR0aCgpOiBtX3dpZHRoPSIgPDwgbV93aWR0aCA8PCAiIGNvbnRhaW5pbmdCbG9j
a1dpZHRoKCk9IiA8PCBjb250YWluaW5nQmxvY2tXaWR0aCgpIDw8IGVuZGw7Ci0gICAga2REZWJ1
ZyggNjA0MCApIDw8ICJtX21hcmdpbkxlZnQ9IiA8PCBtX21hcmdpbkxlZnQgPDwgIiBtX21hcmdp
blJpZ2h0PSIgPDwgbV9tYXJnaW5SaWdodCA8PCBlbmRsOwotI2VuZGlmCiB9CiAKIGludCBSZW5k
ZXJCb3g6OmNhbGNXaWR0aFVzaW5nKFdpZHRoVHlwZSB3aWR0aFR5cGUsIGludCBjdywgTGVuZ3Ro
VHlwZSYgbGVuZ3RoVHlwZSkKQEAgLTEwNTMsMTEgKzEwNDUsNiBAQCB2b2lkIFJlbmRlckJveDo6
Y2FsY0hvcml6b250YWxNYXJnaW5zKGNvCiAKIHZvaWQgUmVuZGVyQm94OjpjYWxjSGVpZ2h0KCkK
IHsKLQotI2lmZGVmIERFQlVHX0xBWU9VVAotICAgIGtkRGVidWcoIDYwNDAgKSA8PCAiUmVuZGVy
Qm94OjpjYWxjSGVpZ2h0KCkiIDw8IGVuZGw7Ci0jZW5kaWYKLQogICAgIC8vIENlbGwgaGVpZ2h0
IGlzIG1hbmFnZWQgYnkgdGhlIHRhYmxlIGFuZCBpbmxpbmUgbm9uLXJlcGxhY2VkIGVsZW1lbnRz
IGRvIG5vdCBzdXBwb3J0IGEgaGVpZ2h0IHByb3BlcnR5LgogICAgIGlmIChpc1RhYmxlQ2VsbCgp
IHx8IChpc0lubGluZSgpICYmICFpc1JlcGxhY2VkKCkpKQogICAgICAgICByZXR1cm47CkluZGV4
OiBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX2NhbnZhcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9yb290L1dlYkNvcmUva2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9jYW52YXMuY3BwLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjM3CmRpZmYgLXAgLXUgLXIxLjM3IGtodG1sL3JlbmRlcmluZy9y
ZW5kZXJfY2FudmFzLmNwcAotLS0ga2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9jYW52YXMuY3BwCTI3
IE5vdiAyMDA1IDExOjAyOjE4IC0wMDAwCTEuMzcKKysrIGtodG1sL3JlbmRlcmluZy9yZW5kZXJf
Y2FudmFzLmNwcAk0IERlYyAyMDA1IDE0OjQyOjMyIC0wMDAwCkBAIC0yMDEsMTAgKzIwMSw2IEBA
IGJvb2wgUmVuZGVyQ2FudmFzOjphYnNvbHV0ZVBvc2l0aW9uKGludCAKIAogdm9pZCBSZW5kZXJD
YW52YXM6OnBhaW50KFBhaW50SW5mbyYgaSwgaW50IF90eCwgaW50IF90eSkKIHsKLSNpZmRlZiBE
RUJVR19MQVlPVVQKLSAgICBrZERlYnVnKCA2MDQwICkgPDwgcmVuZGVyTmFtZSgpIDw8ICIoUmVu
ZGVyQ2FudmFzKSAiIDw8IHRoaXMgPDwgIiA6OnBhaW50T2JqZWN0KCkgdy9oID0gKCIgPDwgd2lk
dGgoKSA8PCAiLyIgPDwgaGVpZ2h0KCkgPDwgIikiIDw8IGVuZGw7Ci0jZW5kaWYKLSAgICAKICAg
ICAvLyBDYWNoZSB0aGUgcHJpbnQgcmVjdCBiZWNhdXNlIHRoZSBkaXJ0eSByZWN0IGNvdWxkIGdl
dCBjaGFuZ2VkIGR1cmluZyBwYWludGluZy4KICAgICBpZiAobV9wcmludGluZ01vZGUpIHsKICAg
ICAgICAgc2V0UHJpbnRSZWN0KGkucik7CkluZGV4OiBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX2Nv
bnRhaW5lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwv
cmVuZGVyaW5nL3JlbmRlcl9jb250YWluZXIuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjc4
CmRpZmYgLXAgLXUgLXIxLjc4IGtodG1sL3JlbmRlcmluZy9yZW5kZXJfY29udGFpbmVyLmNwcAot
LS0ga2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9jb250YWluZXIuY3BwCTIxIE5vdiAyMDA1IDAxOjIw
OjIzIC0wMDAwCTEuNzgKKysrIGtodG1sL3JlbmRlcmluZy9yZW5kZXJfY29udGFpbmVyLmNwcAk0
IERlYyAyMDA1IDE0OjQyOjMzIC0wMDAwCkBAIC03OCwxMSArNzgsNiBAQCBib29sIFJlbmRlckNv
bnRhaW5lcjo6Y2FuSGF2ZUNoaWxkcmVuKCkgCiAKIHZvaWQgUmVuZGVyQ29udGFpbmVyOjphZGRD
aGlsZChSZW5kZXJPYmplY3QgKm5ld0NoaWxkLCBSZW5kZXJPYmplY3QgKmJlZm9yZUNoaWxkKQog
ewotI2lmZGVmIERFQlVHX0xBWU9VVAotICAgIGtkRGVidWcoIDYwNDAgKSA8PCB0aGlzIDw8ICI6
ICIgPDwgIHJlbmRlck5hbWUoKSA8PCAiKFJlbmRlck9iamVjdCk6OmFkZENoaWxkKCAiIDw8IG5l
d0NoaWxkIDw8ICI6ICIgPDwKLSAgICAgICAgbmV3Q2hpbGQtPnJlbmRlck5hbWUoKSA8PCAiLCAi
IDw8IChiZWZvcmVDaGlsZCA/IGJlZm9yZUNoaWxkLT5yZW5kZXJOYW1lKCkgOiAiMCIpIDw8ICIg
KSIgPDwgZW5kbDsKLSNlbmRpZgotCiAgICAgYm9vbCBuZWVkc1RhYmxlID0gZmFsc2U7CiAKICAg
ICBpZighbmV3Q2hpbGQtPmlzVGV4dCgpICYmICFuZXdDaGlsZC0+aXNSZXBsYWNlZCgpKSB7Cklu
ZGV4OiBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX2Zsb3cuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3JlbmRlcmluZy9yZW5kZXJfZmxvdy5jcHAsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMTc0CmRpZmYgLXAgLXUgLXIxLjE3NCBraHRtbC9yZW5kZXJpbmcv
cmVuZGVyX2Zsb3cuY3BwCi0tLSBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX2Zsb3cuY3BwCTIxIE5v
diAyMDA1IDAxOjIwOjIzIC0wMDAwCTEuMTc0CisrKyBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX2Zs
b3cuY3BwCTQgRGVjIDIwMDUgMTQ6NDI6MzUgLTAwMDAKQEAgLTExNSwxMiArMTE1LDYgQEAgdm9p
ZCBSZW5kZXJGbG93OjphZGRDaGlsZFdpdGhDb250aW51YXRpbwogCiB2b2lkIFJlbmRlckZsb3c6
OmFkZENoaWxkKFJlbmRlck9iamVjdCAqbmV3Q2hpbGQsIFJlbmRlck9iamVjdCAqYmVmb3JlQ2hp
bGQpCiB7Ci0jaWZkZWYgREVCVUdfTEFZT1VUCi0gICAga2REZWJ1ZyggNjA0MCApIDw8IHJlbmRl
ck5hbWUoKSA8PCAiKFJlbmRlckZsb3cpOjphZGRDaGlsZCggIiA8PCBuZXdDaGlsZC0+cmVuZGVy
TmFtZSgpIDw8Ci0gICAgICAgICAgICAgICAgICAgICAgICIsICIgPDwgKGJlZm9yZUNoaWxkID8g
YmVmb3JlQ2hpbGQtPnJlbmRlck5hbWUoKSA6ICIwIikgPDwgIiApIiA8PCBlbmRsOwotICAgIGtk
RGVidWcoIDYwNDAgKSA8PCAiY3VycmVudCBoZWlnaHQgPSAiIDw8IG1faGVpZ2h0IDw8IGVuZGw7
Ci0jZW5kaWYKLQogICAgIGlmIChjb250aW51YXRpb24oKSkKICAgICAgICAgcmV0dXJuIGFkZENo
aWxkV2l0aENvbnRpbnVhdGlvbihuZXdDaGlsZCwgYmVmb3JlQ2hpbGQpOwogICAgIHJldHVybiBh
ZGRDaGlsZFRvRmxvdyhuZXdDaGlsZCwgYmVmb3JlQ2hpbGQpOwpJbmRleDoga2h0bWwvcmVuZGVy
aW5nL3JlbmRlcl9mcmFtZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJD
b3JlL2todG1sL3JlbmRlcmluZy9yZW5kZXJfZnJhbWVzLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS44NQpkaWZmIC1wIC11IC1yMS44NSBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX2ZyYW1lcy5j
cHAKLS0tIGtodG1sL3JlbmRlcmluZy9yZW5kZXJfZnJhbWVzLmNwcAkyMSBOb3YgMjAwNSAwMToy
MDoyNCAtMDAwMAkxLjg1CisrKyBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX2ZyYW1lcy5jcHAJNCBE
ZWMgMjAwNSAxNDo0MjozNyAtMDAwMApAQCAtMTE1LDEwICsxMTUsNiBAQCB2b2lkIFJlbmRlckZy
YW1lU2V0OjpsYXlvdXQoICkKICAgICAgICAgbV9oZWlnaHQgPSB2aWV3LT52aXNpYmxlSGVpZ2h0
KCk7CiAgICAgfQogCi0jaWZkZWYgREVCVUdfTEFZT1VUCi0gICAga2REZWJ1ZyggNjA0MCApIDw8
IHJlbmRlck5hbWUoKSA8PCAiKEZyYW1lU2V0KTo6bGF5b3V0KCApIHdpZHRoPSIgPDwgd2lkdGgo
KSA8PCAiLCBoZWlnaHQ9IiA8PCBoZWlnaHQoKSA8PCBlbmRsOwotI2VuZGlmCi0KICAgICBpbnQg
cmVtYWluaW5nTGVuWzJdOwogICAgIHJlbWFpbmluZ0xlblsxXSA9IG1fd2lkdGggLSAoZWxlbWVu
dCgpLT50b3RhbENvbHMoKS0xKSplbGVtZW50KCktPmJvcmRlcigpOwogICAgIGlmKHJlbWFpbmlu
Z0xlblsxXTwwKSByZW1haW5pbmdMZW5bMV09MDsKQEAgLTMzOSw5ICszMzUsNiBAQCB2b2lkIFJl
bmRlckZyYW1lU2V0OjpsYXlvdXQoICkKIAogICAgIGlmKCFtX2hTcGxpdFZhciAmJiAhbV92U3Bs
aXRWYXIpCiAgICAgewotI2lmZGVmIERFQlVHX0xBWU9VVAotICAgICAgICBrZERlYnVnKCA2MDMx
ICkgPDwgImNhbGN1bGF0aW9uZyBmaXhlZCBTcGxpdHRlcnMiIDw8IGVuZGw7Ci0jZW5kaWYKICAg
ICAgICAgaWYoIW1fdlNwbGl0VmFyICYmIGVsZW1lbnQoKS0+dG90YWxDb2xzKCkgPiAxKQogICAg
ICAgICB7CiAgICAgICAgICAgICBtX3ZTcGxpdFZhciA9IG5ldyBib29sW2VsZW1lbnQoKS0+dG90
YWxDb2xzKCldOwpAQCAtMzY2LDkgKzM1OSw2IEBAIHZvaWQgUmVuZGVyRnJhbWVTZXQ6OmxheW91
dCggKQogCiAgICAgICAgICAgICAgICAgaWYoZml4ZWQpCiAgICAgICAgICAgICAgICAgewotI2lm
ZGVmIERFQlVHX0xBWU9VVAotICAgICAgICAgICAgICAgICAgICBrZERlYnVnKCA2MDMxICkgPDwg
ImZvdW5kIGZpeGVkIGNlbGwgIiA8PCByIDw8ICIvIiA8PCBjIDw8ICIhIiA8PCBlbmRsOwotI2Vu
ZGlmCiAgICAgICAgICAgICAgICAgICAgIGlmKCBlbGVtZW50KCktPnRvdGFsQ29scygpID4gMSkK
ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYoYz4wKSBt
X3ZTcGxpdFZhcltjLTFdID0gZmFsc2U7CkBAIC0zODIsMTAgKzM3Miw2IEBAIHZvaWQgUmVuZGVy
RnJhbWVTZXQ6OmxheW91dCggKQogICAgICAgICAgICAgICAgICAgICBjaGlsZCA9IGNoaWxkLT5u
ZXh0U2libGluZygpOwogICAgICAgICAgICAgICAgICAgICBpZighY2hpbGQpIGdvdG8gZW5kMjsK
ICAgICAgICAgICAgICAgICB9Ci0jaWZkZWYgREVCVUdfTEFZT1VUCi0gICAgICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICAgICBrZERlYnVnKCA2MDMxICkgPDwgIm5vdCBmaXhlZDog
IiA8PCByIDw8ICIvIiA8PCBjIDw8ICIhIiA8PCBlbmRsOwotI2VuZGlmCiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KIApAQCAtNDE1LDkgKzQwMSw2IEBAIHZvaWQgUmVuZGVyRnJhbWVTZXQ6OnBv
c2l0aW9uRnJhbWVzKCkKICAgICBmb3IoYyA9IDA7IGMgPCBlbGVtZW50KCktPnRvdGFsQ29scygp
OyBjKyspCiAgICAgewogICAgICAgY2hpbGQtPnNldFBvcyggeFBvcywgeVBvcyApOwotI2lmZGVm
IERFQlVHX0xBWU9VVAotICAgICAga2REZWJ1Zyg2MDQwKSA8PCAiY2hpbGQgZnJhbWUgYXQgKCIg
PDwgeFBvcyA8PCAiLyIgPDwgeVBvcyA8PCAiKSBzaXplICgiIDw8IG1fZ3JpZExheW91dFsxXVtj
XSA8PCAiLyIgPDwgbV9ncmlkTGF5b3V0WzBdW3JdIDw8ICIpIiA8PCBlbmRsOwotI2VuZGlmCiAg
ICAgICAvLyBoYXMgdG8gYmUgcmVzaXplZCBhbmQgaXRzZWxmIHJlc2l6ZSBpdHMgY29udGVudHMK
ICAgICAgIGlmICgobV9ncmlkTGF5b3V0WzFdW2NdICE9IGNoaWxkLT53aWR0aCgpKSB8fCAobV9n
cmlkTGF5b3V0WzBdW3JdICE9IGNoaWxkLT5oZWlnaHQoKSkpIHsKICAgICAgICAgICBjaGlsZC0+
c2V0V2lkdGgoIG1fZ3JpZExheW91dFsxXVtjXSApOwpAQCAtNDU4LDEwICs0NDEsNiBAQCBib29s
IFJlbmRlckZyYW1lU2V0Ojp1c2VyUmVzaXplKCBNb3VzZUV2CiAgICAgCiAgICAgaWYgKCAhbV9y
ZXNpemluZyAmJiBldnQtPnR5cGUoKSA9PSBtb3VzZW1vdmVFdmVudCB8fCBldnQtPnR5cGUoKSA9
PSBtb3VzZWRvd25FdmVudCApCiAgICAgewotI2lmZGVmIERFQlVHX0xBWU9VVAotICAgICAgICBr
ZERlYnVnKCA2MDMxICkgPDwgIm1vdXNlRXZlbnQ6Y2hlY2siIDw8IGVuZGw7Ci0jZW5kaWYKLSAg
ICAgICAgCiAgICAgICAgIG1faFNwbGl0ID0gLTE7CiAgICAgICAgIG1fdlNwbGl0ID0gLTE7CiAg
ICAgICAgIC8vYm9vbCByZXNpemVQb3NzaWJsZSA9IHRydWU7CkBAIC00NzMsOSArNDUyLDYgQEAg
Ym9vbCBSZW5kZXJGcmFtZVNldDo6dXNlclJlc2l6ZSggTW91c2VFdgogICAgICAgICAgICAgaWYo
X3ggPj0gcG9zICYmIF94IDw9IHBvcytlbGVtZW50KCktPmJvcmRlcigpKQogICAgICAgICAgICAg
ewogICAgICAgICAgICAgaWYobV92U3BsaXRWYXIgJiYgbV92U3BsaXRWYXJbYy0xXSA9PSB0cnVl
KSBtX3ZTcGxpdCA9IGMtMTsKLSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICAgICAgICAgIGtkRGVi
dWcoIDYwMzEgKSA8PCAidnNwbGl0ISIgPDwgZW5kbDsKLSNlbmRpZgogICAgICAgICAgICAgcmVz
ID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpAQCAtNDg4LDE5ICs0
NjQsMTIgQEAgYm9vbCBSZW5kZXJGcmFtZVNldDo6dXNlclJlc2l6ZSggTW91c2VFdgogICAgICAg
ICAgICAgaWYoIF95ID49IHBvcyAmJiBfeSA8PSBwb3MrZWxlbWVudCgpLT5ib3JkZXIoKSkKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgIGlmKG1faFNwbGl0VmFyICYmIG1faFNwbGl0VmFyW3It
MV0gPT0gdHJ1ZSkgbV9oU3BsaXQgPSByLTE7Ci0jaWZkZWYgREVCVUdfTEFZT1VUCi0gICAgICAg
ICAgICBrZERlYnVnKCA2MDMxICkgPDwgImhzcGxpdHZhciA9ICIgPDwgbV9oU3BsaXRWYXIgPDwg
ZW5kbDsKLSAgICAgICAgICAgIGtkRGVidWcoIDYwMzEgKSA8PCAiaHNwbGl0ISIgPDwgZW5kbDsK
LSNlbmRpZgogICAgICAgICAgICAgcmVzID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgfQogICAgICAgICAgICAgcG9zICs9IG1fZ3JpZExheW91dFswXVtyXSArIGVsZW1l
bnQoKS0+Ym9yZGVyKCk7CiAgICAgICAgIH0KLSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICAgICAg
a2REZWJ1ZyggNjAzMSApIDw8IG1faFNwbGl0IDw8ICIvIiA8PCBtX3ZTcGxpdCA8PCBlbmRsOwot
I2VuZGlmCi0gICAgICAgIAorCiAgICAgICAgIFFDdXJzb3IgY3Vyc29yOwogICAgICAgICBpZiht
X2hTcGxpdCAhPSAtMSAmJiBtX3ZTcGxpdCAhPSAtMSkKICAgICAgICAgewpAQCAtNTM2LDE4ICs1
MDUsMTIgQEAgYm9vbCBSZW5kZXJGcmFtZVNldDo6dXNlclJlc2l6ZSggTW91c2VFdgogICAgICAg
ICAKICAgICAgICAgaWYobV92U3BsaXQgIT0gLTEgKQogICAgICAgICB7Ci0gICAgICAgICNpZmRl
ZiBERUJVR19MQVlPVVQKLSAgICAgICAgICAgIGtkRGVidWcoIDYwMzEgKSA8PCAic3BsaXQgeHBv
cz0iIDw8IF94IDw8IGVuZGw7Ci0jZW5kaWYKICAgICAgICAgICAgIGludCBkZWx0YSA9IG1fdlNw
bGl0UG9zIC0gX3g7CiAgICAgICAgICAgICBtX2dyaWREZWx0YVsxXVttX3ZTcGxpdF0gLT0gZGVs
dGE7CiAgICAgICAgICAgICBtX2dyaWREZWx0YVsxXVttX3ZTcGxpdCsxXSArPSBkZWx0YTsKICAg
ICAgICAgfQogICAgICAgICBpZihtX2hTcGxpdCAhPSAtMSApCiAgICAgICAgIHsKLSNpZmRlZiBE
RUJVR19MQVlPVVQKLSAgICAgICAgICAgIGtkRGVidWcoIDYwMzEgKSA8PCAic3BsaXQgeXBvcz0i
IDw8IF95IDw8IGVuZGw7Ci0jZW5kaWYKICAgICAgICAgICAgIGludCBkZWx0YSA9IG1faFNwbGl0
UG9zIC0gX3k7CiAgICAgICAgICAgICBtX2dyaWREZWx0YVswXVttX2hTcGxpdF0gLT0gZGVsdGE7
CiAgICAgICAgICAgICBtX2dyaWREZWx0YVswXVttX2hTcGxpdCsxXSArPSBkZWx0YTsKQEAgLTY2
MiwxMCArNjI1LDYgQEAgUmVuZGVyUGFydDo6flJlbmRlclBhcnQoKQogCiB2b2lkIFJlbmRlclBh
cnQ6OnNldFdpZGdldCggUVdpZGdldCAqd2lkZ2V0ICkKIHsKLSNpZmRlZiBERUJVR19MQVlPVVQK
LSAgICBrZERlYnVnKDYwMzEpIDw8ICJSZW5kZXJQYXJ0OjpzZXRXaWRnZXQoKSIgPDwgZW5kbDsK
LSNlbmRpZgotICAgIAogICAgIGlmICh3aWRnZXQgPT0gbV93aWRnZXQpIHsKIAlyZXR1cm47CiAg
ICAgfQpAQCAtNzAzLDkgKzY2Miw2IEBAIFJlbmRlckZyYW1lOjpSZW5kZXJGcmFtZSggRE9NOjpI
VE1MRnJhbWUKIHZvaWQgUmVuZGVyRnJhbWU6OnNsb3RWaWV3Q2xlYXJlZCgpCiB7CiAgICAgaWYg
KGVsZW1lbnQoKSAmJiBtX3dpZGdldCAmJiBtX3dpZGdldC0+aW5oZXJpdHMoIlFTY3JvbGxWaWV3
IikpIHsKLSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICAgICAga2REZWJ1Zyg2MDMxKSA8PCAiZnJh
bWUgaXMgYSBzY3JvbGx2aWV3ISIgPDwgZW5kbDsKLSNlbmRpZgogICAgICAgICBRU2Nyb2xsVmll
dyAqdmlldyA9IHN0YXRpY19jYXN0PFFTY3JvbGxWaWV3ICo+KG1fd2lkZ2V0KTsKICAgICAgICAg
aWYoIWVsZW1lbnQoKS0+bV9mcmFtZUJvcmRlciB8fCAhKHN0YXRpY19jYXN0PEhUTUxGcmFtZVNl
dEVsZW1lbnRJbXBsICo+KGVsZW1lbnQoKS0+cGFyZW50Tm9kZSgpKSktPmZyYW1lQm9yZGVyKCkp
CiAgICAgICAgICAgICB2aWV3LT5zZXRGcmFtZVN0eWxlKFFGcmFtZTo6Tm9GcmFtZSk7CkBAIC03
MTUsOSArNjcxLDYgQEAgdm9pZCBSZW5kZXJGcmFtZTo6c2xvdFZpZXdDbGVhcmVkKCkKIAogCiAg
ICAgICAgIGlmKHZpZXctPmluaGVyaXRzKCJLSFRNTFZpZXciKSkgewotI2lmZGVmIERFQlVHX0xB
WU9VVAotICAgICAgICAgICAga2REZWJ1Zyg2MDMxKSA8PCAiZnJhbWUgaXMgYSBLSFRNTHZpZXch
IiA8PCBlbmRsOwotI2VuZGlmCiAgICAgICAgICAgICBLSFRNTFZpZXcgKmh0bWxWaWV3ID0gc3Rh
dGljX2Nhc3Q8S0hUTUxWaWV3ICo+KHZpZXcpOwogICAgICAgICAgICAgaWYoZWxlbWVudCgpLT5t
X21hcmdpbldpZHRoICE9IC0xKSBodG1sVmlldy0+c2V0TWFyZ2luV2lkdGgoZWxlbWVudCgpLT5t
X21hcmdpbldpZHRoKTsKICAgICAgICAgICAgIGlmKGVsZW1lbnQoKS0+bV9tYXJnaW5IZWlnaHQg
IT0gLTEpIGh0bWxWaWV3LT5zZXRNYXJnaW5IZWlnaHQoZWxlbWVudCgpLT5tX21hcmdpbkhlaWdo
dCk7CkBAIC05NjcsOSArOTIwLDYgQEAgdm9pZCBSZW5kZXJQYXJ0T2JqZWN0OjpsYXlvdXQoICkK
IHZvaWQgUmVuZGVyUGFydE9iamVjdDo6c2xvdFZpZXdDbGVhcmVkKCkKIHsKICAgaWYoZWxlbWVu
dCgpICYmIG1fd2lkZ2V0ICYmIG1fd2lkZ2V0LT5pbmhlcml0cygiUVNjcm9sbFZpZXciKSApIHsK
LSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICAgIGtkRGVidWcoNjAzMSkgPDwgImlmcmFtZSBpcyBh
IHNjcm9sbHZpZXchIiA8PCBlbmRsOwotI2VuZGlmCiAgICAgICBRU2Nyb2xsVmlldyAqdmlldyA9
IHN0YXRpY19jYXN0PFFTY3JvbGxWaWV3ICo+KG1fd2lkZ2V0KTsKICAgICAgIGludCBmcmFtZVN0
eWxlID0gUUZyYW1lOjpOb0ZyYW1lOwogICAgICAgUVNjcm9sbFZpZXc6OlNjcm9sbEJhck1vZGUg
c2Nyb2xsID0gUVNjcm9sbFZpZXc6OkF1dG87CkBAIC05ODcsOSArOTM3LDYgQEAgdm9pZCBSZW5k
ZXJQYXJ0T2JqZWN0OjpzbG90Vmlld0NsZWFyZWQoKQogCiAKICAgICAgIGlmKHZpZXctPmluaGVy
aXRzKCJLSFRNTFZpZXciKSkgewotI2lmZGVmIERFQlVHX0xBWU9VVAotICAgICAgICAgIGtkRGVi
dWcoNjAzMSkgPDwgImZyYW1lIGlzIGEgS0hUTUx2aWV3ISIgPDwgZW5kbDsKLSNlbmRpZgogICAg
ICAgICAgIEtIVE1MVmlldyAqaHRtbFZpZXcgPSBzdGF0aWNfY2FzdDxLSFRNTFZpZXcgKj4odmll
dyk7CiAgICAgICAgICAgaHRtbFZpZXctPnNldElnbm9yZVdoZWVsRXZlbnRzKGVsZW1lbnQoKS0+
aGFzVGFnTmFtZShpZnJhbWVUYWcpKTsKICAgICAgICAgICBpZihtYXJnaW53ICE9IC0xKSBodG1s
Vmlldy0+c2V0TWFyZ2luV2lkdGgobWFyZ2ludyk7CkluZGV4OiBraHRtbC9yZW5kZXJpbmcvcmVu
ZGVyX2lubGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0
bWwvcmVuZGVyaW5nL3JlbmRlcl9pbmxpbmUuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQ3
CmRpZmYgLXAgLXUgLXIxLjQ3IGtodG1sL3JlbmRlcmluZy9yZW5kZXJfaW5saW5lLmNwcAotLS0g
a2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9pbmxpbmUuY3BwCTMgT2N0IDIwMDUgMjE6MTI6MzkgLTAw
MDAJMS40NworKysga2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9pbmxpbmUuY3BwCTQgRGVjIDIwMDUg
MTQ6NDI6MzggLTAwMDAKQEAgLTI3NywxMCArMjc3LDYgQEAgdm9pZCBSZW5kZXJJbmxpbmU6OmNh
bGNNaW5NYXhXaWR0aCgpCiB7CiAgICAgS0hUTUxBc3NlcnQoICFtaW5NYXhLbm93bigpICk7CiAK
LSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICBrZERlYnVnKCA2MDQwICkgPDwgcmVuZGVyTmFtZSgp
IDw8ICIoUmVuZGVySW5saW5lKTo6Y2FsY01pbk1heFdpZHRoKCkgdGhpcz0iIDw8IHRoaXMgPDwg
ZW5kbDsKLSNlbmRpZgotCiAgICAgLy8gSXJyZWxldmFudCwgc2luY2Ugc29tZSBlbmNsb3Npbmcg
YmxvY2sgd2lsbCBhY3R1YWxseSBtZWFzdXJlIHVzIGFuZCBvdXIgY2hpbGRyZW4uCiAgICAgbV9t
aW5XaWR0aCA9IDA7CiAgICAgbV9tYXhXaWR0aCA9IDA7CkluZGV4OiBraHRtbC9yZW5kZXJpbmcv
cmVuZGVyX2xpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2to
dG1sL3JlbmRlcmluZy9yZW5kZXJfbGlzdC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNzMK
ZGlmZiAtcCAtdSAtcjEuNzMga2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9saXN0LmNwcAotLS0ga2h0
bWwvcmVuZGVyaW5nL3JlbmRlcl9saXN0LmNwcAkyMSBOb3YgMjAwNSAwMToyMDoyNiAtMDAwMAkx
LjczCisrKyBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX2xpc3QuY3BwCTQgRGVjIDIwMDUgMTQ6NDI6
NDIgLTAwMDAKQEAgLTI4MSw5ICsyODEsNiBAQCB2b2lkIFJlbmRlckxpc3RJdGVtOjpwYWludChQ
YWludEluZm8mIGksCiAgICAgaWYgKCFtX2hlaWdodCkKICAgICAgICAgcmV0dXJuOwogCi0jaWZk
ZWYgREVCVUdfTEFZT1VUCi0gICAga2REZWJ1ZyggNjA0MCApIDw8IG5vZGVOYW1lKCkucXN0cmlu
ZygpIDw8ICIoTEkpOjpwYWludCgpIiA8PCBlbmRsOwotI2VuZGlmCiAgICAgUmVuZGVyQmxvY2s6
OnBhaW50KGksIF90eCwgX3R5KTsKIH0KIApAQCAtMzcyLDEwICszNjksNiBAQCB2b2lkIFJlbmRl
ckxpc3RNYXJrZXI6OnBhaW50KFBhaW50SW5mbyYgCiAgICAgaWYgKHNob3VsZFBhaW50QmFja2dy
b3VuZE9yQm9yZGVyKCkpIAogICAgICAgICBwYWludEJveERlY29yYXRpb25zKGksIF90eCwgX3R5
KTsKIAotI2lmZGVmIERFQlVHX0xBWU9VVAotICAgIGtkRGVidWcoIDYwNDAgKSA8PCBub2RlTmFt
ZSgpLnFzdHJpbmcoKSA8PCAiKExpc3RNYXJrZXIpOjpwYWludE9iamVjdCgiIDw8IF90eCA8PCAi
LCAiIDw8IF90eSA8PCAiKSIgPDwgZW5kbDsKLSNlbmRpZgotCiAgICAgUVBhaW50ZXIqIHAgPSBp
LnA7CiAgICAgcC0+c2V0Rm9udChzdHlsZSgpLT5mb250KCkpOwogICAgIGNvbnN0IFFGb250TWV0
cmljcyBmbSA9IHAtPmZvbnRNZXRyaWNzKCk7CkluZGV4OiBraHRtbC9yZW5kZXJpbmcvcmVuZGVy
X29iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwv
cmVuZGVyaW5nL3JlbmRlcl9vYmplY3QuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIyOQpk
aWZmIC1wIC11IC1yMS4yMjkga2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9vYmplY3QuY3BwCi0tLSBr
aHRtbC9yZW5kZXJpbmcvcmVuZGVyX29iamVjdC5jcHAJMjkgTm92IDIwMDUgMTE6MjA6NDYgLTAw
MDAJMS4yMjkKKysrIGtodG1sL3JlbmRlcmluZy9yZW5kZXJfb2JqZWN0LmNwcAk0IERlYyAyMDA1
IDE0OjQyOjQ0IC0wMDAwCkBAIC0yMjUzLDEwICsyMjUzLDYgQEAgdm9pZCBSZW5kZXJPYmplY3Q6
OnJlY2FsY01pbk1heFdpZHRocygpCiB7CiAgICAgS0hUTUxBc3NlcnQoIG1fcmVjYWxjTWluTWF4
ICk7CiAKLSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICBrZERlYnVnKCA2MDQwICkgPDwgcmVuZGVy
TmFtZSgpIDw8ICIgcmVjYWxjTWluTWF4V2lkdGhzKCkgdGhpcz0iIDw8IHRoaXMgPDxlbmRsOwot
I2VuZGlmCi0KICAgICBpZiAobV9yZWNhbGNNaW5NYXgpCiAgICAgICAgIHVwZGF0ZUZpcnN0TGV0
dGVyKCk7CiAgICAgCkluZGV4OiBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX3JlcGxhY2VkLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9yZW5kZXJpbmcvcmVu
ZGVyX3JlcGxhY2VkLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45NQpkaWZmIC1wIC11IC1y
MS45NSBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX3JlcGxhY2VkLmNwcAotLS0ga2h0bWwvcmVuZGVy
aW5nL3JlbmRlcl9yZXBsYWNlZC5jcHAJMyBEZWMgMjAwNSAwMTowNjo0NSAtMDAwMAkxLjk1Cisr
KyBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX3JlcGxhY2VkLmNwcAk0IERlYyAyMDA1IDE0OjQyOjQ1
IC0wMDAwCkBAIC05NSwxMCArOTUsNiBAQCB2b2lkIFJlbmRlclJlcGxhY2VkOjpjYWxjTWluTWF4
V2lkdGgoKQogewogICAgIEtIVE1MQXNzZXJ0KCAhbWluTWF4S25vd24oKSk7CiAKLSNpZmRlZiBE
RUJVR19MQVlPVVQKLSAgICBrZERlYnVnKCA2MDQwICkgPDwgIlJlbmRlclJlcGxhY2VkOjpjYWxj
TWluTWF4V2lkdGgoKSBrbm93bj0iIDw8IG1pbk1heEtub3duKCkgPDwgZW5kbDsKLSNlbmRpZgot
CiAgICAgaW50IHdpZHRoID0gY2FsY1JlcGxhY2VkV2lkdGgoKSArIHBhZGRpbmdMZWZ0KCkgKyBw
YWRkaW5nUmlnaHQoKSArIGJvcmRlckxlZnQoKSArIGJvcmRlclJpZ2h0KCk7CiAgICAgaWYgKHN0
eWxlKCktPndpZHRoKCkuaXNQZXJjZW50KCkgfHwgKHN0eWxlKCktPndpZHRoKCkuaXNBdXRvKCkg
JiYgc3R5bGUoKS0+aGVpZ2h0KCkuaXNQZXJjZW50KCkpKSB7CiAgICAgICAgIG1fbWluV2lkdGgg
PSAwOwpJbmRleDoga2h0bWwvcmVuZGVyaW5nL3JlbmRlcl90ZXh0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9yZW5kZXJpbmcvcmVuZGVyX3RleHQuY3Bw
LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIwOQpkaWZmIC1wIC11IC1yMS4yMDkga2h0bWwvcmVu
ZGVyaW5nL3JlbmRlcl90ZXh0LmNwcAotLS0ga2h0bWwvcmVuZGVyaW5nL3JlbmRlcl90ZXh0LmNw
cAkyIERlYyAyMDA1IDAzOjQ4OjA4IC0wMDAwCTEuMjA5CisrKyBraHRtbC9yZW5kZXJpbmcvcmVu
ZGVyX3RleHQuY3BwCTQgRGVjIDIwMDUgMTQ6NDI6NTEgLTAwMDAKQEAgLTc5NCwxMSArNzk0LDYg
QEAgUmVuZGVyVGV4dDo6UmVuZGVyVGV4dChET006Ok5vZGVJbXBsKiBubwogICAgIG1fZmlyc3RU
ZXh0Qm94ID0gbV9sYXN0VGV4dEJveCA9IDA7CiAgICAgCiAgICAgbV9zZWxlY3Rpb25TdGF0ZSA9
IFNlbGVjdGlvbk5vbmU7Ci0KLSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICBRQ29uc3RTdHJpbmcg
Y3N0cihzdHItPnMsIHN0ci0+bCk7Ci0gICAga2REZWJ1ZyggNjA0MCApIDw8ICJSZW5kZXJUZXh0
IGN0ciggIjw8IGNzdHIucXN0cmluZygpLmxlbmd0aCgpIDw8ICIgKSAgJyIgPDwgY3N0ci5xc3Ry
aW5nKCkgPDwgIiciIDw8IGVuZGw7Ci0jZW5kaWYKIH0KIAogdm9pZCBSZW5kZXJUZXh0OjpzZXRT
dHlsZShSZW5kZXJTdHlsZSAqX3N0eWxlKQpAQCAtMTY2MSwxMiArMTY1Niw2IEBAIHZvaWQgUmVu
ZGVyVGV4dDo6cG9zaXRpb24oSW5saW5lQm94KiBib3gKICAgICByZXZlcnNlID0gcmV2ZXJzZSAm
JiAhc3R5bGUoKS0+dmlzdWFsbHlPcmRlcmVkKCk7CiAgICAgbV9jb250YWluc1JldmVyc2VkVGV4
dCB8PSByZXZlcnNlOwogCi0jaWZkZWYgREVCVUdfTEFZT1VUCi0gICAgUUNoYXIgKmNoID0gc3Ry
LT5zK2Zyb207Ci0gICAgUUNvbnN0U3RyaW5nIGNzdHIoY2gsIGxlbik7Ci0gICAgcURlYnVnKCJz
ZXR0aW5nIHJ1biB0ZXh0IHRvIColcyosIGxlbj0lZCwgdyk9JWQiICwgY3N0ci5xc3RyaW5nKCku
bGF0aW4xKCksIGxlbiwgd2lkdGggKTsvLyIgPDwgeSA8PCAiKSIgPDwgIiBoZWlnaHQ9IiA8PCBs
aW5lSGVpZ2h0KGZhbHNlKSA8PCAiIGZvbnRIZWlnaHQ9IiA8PCBtZXRyaWNzKGZhbHNlKS5oZWln
aHQoKSA8PCAiIGFzY2VudCA9IiA8PCBtZXRyaWNzKGZhbHNlKS5hc2NlbnQoKSA8PCBlbmRsOwot
I2VuZGlmCi0KICAgICBzLT5tX3JldmVyc2VkID0gcmV2ZXJzZTsKICAgICBzLT5tX2Rpck92ZXJy
aWRlID0gb3ZlcnJpZGUgfHwgc3R5bGUoKS0+dmlzdWFsbHlPcmRlcmVkKCk7CiAgICAgcy0+bV9z
dGFydCA9IGZyb207CkluZGV4OiBraHRtbC9yZW5kZXJpbmcvdGFibGVfbGF5b3V0LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9yZW5kZXJpbmcvdGFibGVf
bGF5b3V0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yOApkaWZmIC1wIC11IC1yMS4yOCBr
aHRtbC9yZW5kZXJpbmcvdGFibGVfbGF5b3V0LmNwcAotLS0ga2h0bWwvcmVuZGVyaW5nL3RhYmxl
X2xheW91dC5jcHAJMyBEZWMgMjAwNSAwMjoyODo1OSAtMDAwMAkxLjI4CisrKyBraHRtbC9yZW5k
ZXJpbmcvdGFibGVfbGF5b3V0LmNwcAk0IERlYyAyMDA1IDE0OjQyOjUyIC0wMDAwCkBAIC0xMDEs
MTEgKzEwMSw2IEBAIGludCBGaXhlZFRhYmxlTGF5b3V0OjpjYWxjV2lkdGhBcnJheShpbnQKICAg
ICB3aWR0aC5yZXNpemUoIG5FZmZDb2xzICk7CiAgICAgd2lkdGguZmlsbCggTGVuZ3RoKCBBdXRv
ICkgKTsKIAotI2lmZGVmIERFQlVHX0xBWU9VVAotICAgIHFEZWJ1ZygiRml4ZWRUYWJsZUxheW91
dDo6Y2FsY1dpZHRoQXJyYXkoICVkICkiLCB0YWJsZVdpZHRoICk7Ci0gICAgcURlYnVnKCIgICAg
Y29sIGVsZW1lbnRzOiIpOwotI2VuZGlmCi0KICAgICBMZW5ndGggZ3JwV2lkdGg7CiAgICAgd2hp
bGUgKCBjaGlsZCApIHsKIAlpZiAoIGNoaWxkLT5pc1RhYmxlQ29sKCkgKSB7CkBAIC0xMjAsMTEg
KzExNSw3IEBAIGludCBGaXhlZFRhYmxlTGF5b3V0OjpjYWxjV2lkdGhBcnJheShpbnQKIAkJaW50
IGVmZldpZHRoID0gMDsKIAkJaWYgKCB3LnR5cGUgPT0gRml4ZWQgJiYgdy52YWx1ZSA+IDAgKQog
ICAgICAgICAgICAgICAgICAgICBlZmZXaWR0aCA9IHcudmFsdWU7Ci0JCQotI2lmZGVmIERFQlVH
X0xBWU9VVAotCQlxRGVidWcoIiAgICBjb2wgZWxlbWVudDogZWZmQ29sPSVkLCBzcGFuPSVkOiAl
ZCB3PSVkIHR5cGU9JWQiLAotCQkgICAgICAgY0NvbCwgc3BhbiwgZWZmV2lkdGgsICB3LnZhbHVl
LCB3LnR5cGUpOwotI2VuZGlmCisKIAkJaW50IHVzZWRTcGFuID0gMDsKIAkJaW50IGkgPSAwOwog
CQl3aGlsZSAoIHVzZWRTcGFuIDwgc3BhbiApIHsKQEAgLTEzOCwxMCArMTI5LDYgQEAgaW50IEZp
eGVkVGFibGVMYXlvdXQ6OmNhbGNXaWR0aEFycmF5KGludAogCQkgICAgaWYgKCAody50eXBlID09
IEZpeGVkIHx8IHcudHlwZSA9PSBQZXJjZW50KSAmJiB3LnZhbHVlID4gMCApIHsKIAkJCXdpZHRo
W2NDb2wraV0gPSBMZW5ndGgoIHcudmFsdWUgKiBlU3Bhbiwgdy50eXBlICk7CiAJCQl1c2VkV2lk
dGggKz0gZWZmV2lkdGggKiBlU3BhbjsKLSNpZmRlZiBERUJVR19MQVlPVVQKLQkJCXFEZWJ1Zygi
ICAgIHNldHRpbmcgZWZmQ29sICVkIChzcGFuPSVkKSB0byB3aWR0aCAlZCh0eXBlPSVkKSIsCi0J
CQkgICAgICAgY0NvbCtpLCBlU3Bhbiwgd2lkdGhbY0NvbCtpXS52YWx1ZSwgd2lkdGhbY0NvbCtp
XS50eXBlICk7Ci0jZW5kaWYKIAkJICAgIH0KIAkJICAgIHVzZWRTcGFuICs9IGVTcGFuOwogCQkg
ICAgaSsrOwpAQCAtMTYyLDkgKzE0OSw2IEBAIGludCBGaXhlZFRhYmxlTGF5b3V0OjpjYWxjV2lk
dGhBcnJheShpbnQKIAljaGlsZCA9IG5leHQ7CiAgICAgfQogCi0jaWZkZWYgREVCVUdfTEFZT1VU
Ci0gICAgcURlYnVnKCIgICAgZmlyc3Qgcm93OiIpOwotI2VuZGlmCiAgICAgLy8gaXRlcmF0ZSBv
dmVyIHRoZSBmaXJzdCByb3cgaW4gY2FzZSBzb21lIGFyZSB1bnNwZWNpZmllZC4KICAgICBSZW5k
ZXJUYWJsZVNlY3Rpb24gKnNlY3Rpb24gPSB0YWJsZS0+aGVhZDsKICAgICBpZiAoICFzZWN0aW9u
ICkKQEAgLTE4NiwxMCArMTcwLDcgQEAgaW50IEZpeGVkVGFibGVMYXlvdXQ6OmNhbGNXaWR0aEFy
cmF5KGludAogCQlpbnQgZWZmV2lkdGggPSAwOwogCQlpZiAoICh3LnR5cGUgPT0gRml4ZWQgfHwg
dy50eXBlID09IFBlcmNlbnQpICYmIHcudmFsdWUgPiAwICkKICAgICAgICAgICAgICAgICAgICAg
ZWZmV2lkdGggPSB3LnZhbHVlOwotICAgICAgICAgICAgICAgIAotI2lmZGVmIERFQlVHX0xBWU9V
VAotCQlxRGVidWcoIiAgICB0YWJsZSBjZWxsOiBlZmZDb2w9JWQsIHNwYW49JWQ6ICVkIiwgIGND
b2wsIHNwYW4sIGVmZldpZHRoKTsKLSNlbmRpZgorCiAJCWludCB1c2VkU3BhbiA9IDA7CiAJCWlu
dCBpID0gMDsKIAkJd2hpbGUgKCB1c2VkU3BhbiA8IHNwYW4gKSB7CkBAIC0xOTksMTYgKzE4MCw3
IEBAIGludCBGaXhlZFRhYmxlTGF5b3V0OjpjYWxjV2lkdGhBcnJheShpbnQKIAkJICAgIGlmICgg
d2lkdGhbY0NvbCtpXS50eXBlID09IEF1dG8gJiYgdy50eXBlICE9IEF1dG8gKSB7CiAJCQl3aWR0
aFtjQ29sK2ldID0gTGVuZ3RoKCB3LnZhbHVlKmVTcGFuLCB3LnR5cGUgKTsKIAkJCXVzZWRXaWR0
aCArPSBlZmZXaWR0aCplU3BhbjsKLSNpZmRlZiBERUJVR19MQVlPVVQKLQkJCXFEZWJ1ZygiICAg
IHNldHRpbmcgZWZmQ29sICVkIChzcGFuPSVkKSB0byB3aWR0aCAlZCh0eXBlPSVkKSIsCi0JCQkg
ICAgICAgY0NvbCtpLCBlU3Bhbiwgd2lkdGhbY0NvbCtpXS52YWx1ZSwgd2lkdGhbY0NvbCtpXS50
eXBlICk7Ci0jZW5kaWYKIAkJICAgIH0KLSNpZmRlZiBERUJVR19MQVlPVVQKLQkJICAgIGVsc2Ug
ewotCQkJcURlYnVnKCIgICAgd2lkdGggb2YgY29sICVkIGFscmVhZHkgZGVmaW5lZCAoc3Bhbj0l
ZCkiLCBjQ29sLCB0YWJsZS0+c3Bhbk9mRWZmQ29sKCBjQ29sICkgKTsKLQkJICAgIH0KLSNlbmRp
ZgogCQkgICAgdXNlZFNwYW4gKz0gZVNwYW47CiAJCSAgICBpKys7CiAJCX0KQEAgLTI1MCwxMSAr
MjIyLDYgQEAgdm9pZCBGaXhlZFRhYmxlTGF5b3V0OjpsYXlvdXQoKQogICAgIGludCBhdmFpbGFi
bGUgPSB0YWJsZVdpZHRoOwogICAgIGludCBuRWZmQ29scyA9IHRhYmxlLT5udW1FZmZDb2xzKCk7
CiAgICAgaW50IHRvdGFsUGVyY2VudCA9IDA7Ci0gICAgCi0jaWZkZWYgREVCVUdfTEFZT1VUCi0g
ICAgcURlYnVnKCJGaXhlZFRhYmxlTGF5b3V0OjpsYXlvdXQ6IHRhYmxlV2lkdGg9JWQsIG51bUVm
ZkNvbHM9JWQiLCAgdGFibGVXaWR0aCwgbkVmZkNvbHMpOwotI2VuZGlmCi0KIAogICAgIFFNZW1B
cnJheTxpbnQ+IGNhbGNXaWR0aDsKICAgICBjYWxjV2lkdGgucmVzaXplKCBuRWZmQ29scyApOwpA
QCAtMjczLDkgKzI0MCw2IEBAIHZvaWQgRml4ZWRUYWJsZUxheW91dDo6bGF5b3V0KCkKICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgdG90YWxQZXJjZW50ID0gMTAwOwogCi0jaWZkZWYgREVCVUdf
TEFZT1VUCi0gICAgICAgIHFEZWJ1ZygiRml4ZWRUYWJsZUxheW91dDo6bGF5b3V0OiBhc3NpZ25p
bmcgcGVyY2VudCB3aWR0aCwgYmFzZT0lZCwgdG90YWxQZXJjZW50PSVkIiwgYmFzZSwgdG90YWxQ
ZXJjZW50KTsKLSNlbmRpZgogICAgICAgICBmb3IgKCBpbnQgaSA9IDA7IGF2YWlsYWJsZSA+IDAg
JiYgaSA8IG5FZmZDb2xzOyBpKysgKSB7CiAgICAgICAgICAgICBpZiAoIHdpZHRoW2ldLnR5cGUg
PT0gUGVyY2VudCApIHsKICAgICAgICAgICAgICAgICBpbnQgdyA9IGJhc2UgKiB3aWR0aFtpXS52
YWx1ZSAvIHRvdGFsUGVyY2VudDsKQEAgLTMzMCw5ICsyOTQsNiBAQCB2b2lkIEZpeGVkVGFibGVM
YXlvdXQ6OmxheW91dCgpCiAgICAgaW50IHBvcyA9IDA7CiAgICAgaW50IGhzcGFjaW5nID0gdGFi
bGUtPmhCb3JkZXJTcGFjaW5nKCk7CiAgICAgZm9yICggaW50IGkgPSAwOyBpIDwgbkVmZkNvbHM7
IGkrKyApIHsKLSNpZmRlZiBERUJVR19MQVlPVVQKLQlxRGVidWcoImNvbCAlZDogJWQgKHdpZHRo
ICVkKSIsIGksIHBvcywgY2FsY1dpZHRoW2ldICk7Ci0jZW5kaWYKIAl0YWJsZS0+Y29sdW1uUG9z
W2ldID0gcG9zOwogCXBvcyArPSBjYWxjV2lkdGhbaV0gKyBoc3BhY2luZzsKICAgICB9CkBAIC00
NTUsOSArNDE2LDYgQEAgdm9pZCBBdXRvVGFibGVMYXlvdXQ6OnJlY2FsY0NvbHVtbiggaW50IAog
ICAgIH0KIAogICAgIGwubWF4V2lkdGggPSBrTWF4KGwubWF4V2lkdGgsIGwubWluV2lkdGgpOwot
I2lmZGVmIERFQlVHX0xBWU9VVAotICAgIHFEZWJ1ZygiY29sICVkLCBmaW5hbCBtaW49JWQsIG1h
eD0lZCwgd2lkdGg9JWQoJWQpIiwgZWZmQ29sLCBsLm1pbldpZHRoLCBsLm1heFdpZHRoLCBsLndp
ZHRoLnZhbHVlLCAgbC53aWR0aC50eXBlICk7Ci0jZW5kaWYKIAogICAgIC8vICMjIyB3ZSBuZWVk
IHRvIGFkZCBjb2wgZWxlbWVudHMgYXN3ZWxsCiB9CkBAIC00OTEsOSArNDQ5LDYgQEAgdm9pZCBB
dXRvVGFibGVMYXlvdXQ6OmZ1bGxSZWNhbGMoKQogCQkgICAgICh3LnR5cGUgPT0gUGVyY2VudCAm
JiB3LnZhbHVlID09IDApICkKIAkJICAgIHcgPSBMZW5ndGgoKTsKIAkJaW50IGNFZmZDb2wgPSB0
YWJsZS0+Y29sVG9FZmZDb2woIGNDb2wgKTsKLSNpZmRlZiBERUJVR19MQVlPVVQKLQkJcURlYnVn
KCIgICAgY29sIGVsZW1lbnQgJWQgKGVmZj0lZCk6IExlbmd0aD0lZCglZCksIHNwYW49JWQsIGVm
ZkNvbFNwYW49JWQiLCAgY0NvbCwgY0VmZkNvbCwgdy52YWx1ZSwgdy50eXBlLCBzcGFuLCB0YWJs
ZS0+c3Bhbk9mRWZmQ29sKGNFZmZDb2wgKSApOwotI2VuZGlmCiAJCWlmICggKGludCl3LnR5cGUg
IT0gQXV0byAmJiBzcGFuID09IDEgJiYgY0VmZkNvbCA8IG5FZmZDb2xzICkgewogCQkgICAgaWYg
KCB0YWJsZS0+c3Bhbk9mRWZmQ29sKCBjRWZmQ29sICkgPT0gMSApIHsKIAkJCWxheW91dFN0cnVj
dFtjRWZmQ29sXS53aWR0aCA9IHc7CkBAIC01NTcsOSArNTEyLDYgQEAgc3RhdGljIGJvb2wgc2hv
dWxkU2NhbGVDb2x1bW5zKFJlbmRlclRhYgogCiB2b2lkIEF1dG9UYWJsZUxheW91dDo6Y2FsY01p
bk1heFdpZHRoKCkKIHsKLSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICBxRGVidWcoIkF1dG9UYWJs
ZUxheW91dDo6Y2FsY01pbk1heFdpZHRoIik7Ci0jZW5kaWYKICAgICBmdWxsUmVjYWxjKCk7CiAK
ICAgICBpbnQgc3Bhbk1heFdpZHRoID0gY2FsY0VmZmVjdGl2ZVdpZHRoKCk7CkBAIC02MDIsOSAr
NTU0LDYgQEAgdm9pZCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNNaW5NYXhXaWR0aCgpCiAKICAgICB0
YWJsZS0+bV9tYXhXaWR0aCA9IG1heFdpZHRoOwogICAgIHRhYmxlLT5tX21pbldpZHRoID0gbWlu
V2lkdGg7Ci0jaWZkZWYgREVCVUdfTEFZT1VUCi0gICAgcURlYnVnKCIgICAgbWluV2lkdGg9JWQs
IG1heFdpZHRoPSVkIiwgdGFibGUtPm1fbWluV2lkdGgsIHRhYmxlLT5tX21heFdpZHRoICk7Ci0j
ZW5kaWYKIH0KIAogLyoKQEAgLTYxNyw5ICs1NjYsNiBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0Ojpj
YWxjRWZmZWN0aXZlV2lkdGgoCiAKICAgICB1bnNpZ25lZCBpbnQgbkVmZkNvbHMgPSBsYXlvdXRT
dHJ1Y3Quc2l6ZSgpOwogICAgIGludCBoc3BhY2luZyA9IHRhYmxlLT5oQm9yZGVyU3BhY2luZygp
OwotI2lmZGVmIERFQlVHX0xBWU9VVAotICAgIHFEZWJ1ZygiQXV0b1RhYmxlTGF5b3V0OjpjYWxj
RWZmZWN0aXZlV2lkdGggZm9yICVkIGNvbHMiLCBuRWZmQ29scyApOwotI2VuZGlmCiAgICAgZm9y
ICggdW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbkVmZkNvbHM7IGkrKyApIHsKIAlsYXlvdXRTdHJ1
Y3RbaV0uZWZmV2lkdGggPSBsYXlvdXRTdHJ1Y3RbaV0ud2lkdGg7CiAJbGF5b3V0U3RydWN0W2ld
LmVmZk1pbldpZHRoID0gbGF5b3V0U3RydWN0W2ldLm1pbldpZHRoOwpAQCAtNjQ3LDkgKzU5Myw2
IEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVXaWR0aCgKIAlib29sIGFsbENv
bHNBcmVGaXhlZCA9IHRydWU7CiAJYm9vbCBoYXZlQXV0byA9IGZhbHNlOwogCWludCBmaXhlZFdp
ZHRoID0gMDsKLSNpZmRlZiBERUJVR19MQVlPVVQKLQlpbnQgY1NwYW4gPSBzcGFuOwotI2VuZGlm
CiAJd2hpbGUgKCBsYXN0Q29sIDwgbkVmZkNvbHMgJiYgc3BhbiA+IDAgKSB7CiAJICAgIHN3aXRj
aCggbGF5b3V0U3RydWN0W2xhc3RDb2xdLndpZHRoLnR5cGUgKSB7CiAJICAgIGNhc2UgUGVyY2Vu
dDoKQEAgLTY5MSw5ICs2MzQsNiBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZl
V2lkdGgoCiAJICAgIGNNaW5XaWR0aCAtPSBoc3BhY2luZzsKIAkgICAgY01heFdpZHRoIC09IGhz
cGFjaW5nOwogCX0KLSNpZmRlZiBERUJVR19MQVlPVVQKLQlxRGVidWcoIiAgICBjb2xzcGFuIGNl
bGwgJXAgYXQgZWZmQ29sICVkLCBzcGFuICVkLCB0eXBlICVkLCB2YWx1ZSAlZCBjbWluPSVkIG1p
bj0lZCBmaXhlZHdpZHRoPSVkIiwgY2VsbCwgY29sLCBjU3Bhbiwgdy50eXBlLCB3LnZhbHVlLCBj
TWluV2lkdGgsIG1pbldpZHRoLCBmaXhlZFdpZHRoICk7Ci0jZW5kaWYKIAogCS8vIGFkanVzdCB0
YWJsZSBtYXggd2lkdGggaWYgbmVlZGVkCiAJaWYgKCB3LnR5cGUgPT0gUGVyY2VudCApIHsKQEAg
LTcwMiw5ICs2NDIsNiBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZmZWN0aXZlV2lkdGgo
CiAJCXcgPSBMZW5ndGgoKTsKIAkgICAgfSBlbHNlIHsKIAkJaW50IHNwYW5NYXggPSBrTWF4KCBt
YXhXaWR0aCwgY01heFdpZHRoICk7Ci0jaWZkZWYgREVCVUdfTEFZT1VUCi0JCXFEZWJ1ZygiICAg
IGFkanVzdGluZyB0TWF4V2lkdGggKCVkKTogc3Bhbk1heD0lZCwgdmFsdWU9JWQsIHRvdGFsUGVy
Y2VudD0lZCIsIHRNYXhXaWR0aCwgc3Bhbk1heCwgdy52YWx1ZSwgdG90YWxQZXJjZW50ICk7Ci0j
ZW5kaWYKIAkJdE1heFdpZHRoID0ga01heCggdE1heFdpZHRoLCBzcGFuTWF4ICogMTAwIC8gdy52
YWx1ZSApOwogCiAJCS8vIGFsbCBub24gcGVyY2VudCBjb2x1bW5zIGluIHRoZSBzcGFuIGdldCBw
ZXJjZW50IHZsYXVlcyB0byBzdW0gdXAgY29ycmVjdGx5LgpAQCAtNzE4LDkgKzY1NSw2IEBAIGlu
dCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVXaWR0aCgKIAkJZm9yICggdW5zaWduZWQg
aW50IHBvcyA9IGNvbDsgcG9zIDwgbGFzdENvbCAmJiB0b3RhbFdpZHRoID4gMDsgcG9zKysgKSB7
CiAJCSAgICBpZiAoICEobGF5b3V0U3RydWN0W3Bvc10ud2lkdGgudHlwZSA9PSBQZXJjZW50ICkg
KSB7CiAJCQlpbnQgcGVyY2VudCA9IHBlcmNlbnRNaXNzaW5nICogbGF5b3V0U3RydWN0W3Bvc10u
ZWZmTWF4V2lkdGggLyB0b3RhbFdpZHRoOwotI2lmZGVmIERFQlVHX0xBWU9VVAotCQkJcURlYnVn
KCIgICBjb2wgJWQ6IHNldHRpbmcgcGVyY2VudCB2YWx1ZSAlZCBlZmZNYXhXaWR0aD0lZCB0b3Rh
bFdpZHRoPSVkIiwgcG9zLCBwZXJjZW50LCBsYXlvdXRTdHJ1Y3RbcG9zXS5lZmZNYXhXaWR0aCwg
dG90YWxXaWR0aCApOwotI2VuZGlmCiAJCQl0b3RhbFdpZHRoIC09IGxheW91dFN0cnVjdFtwb3Nd
LmVmZk1heFdpZHRoOwogCQkJcGVyY2VudE1pc3NpbmcgLT0gcGVyY2VudDsKIAkJCWlmICggcGVy
Y2VudCA+IDAgKQpAQCAtNzM2LDIzICs2NzAsMTQgQEAgaW50IEF1dG9UYWJsZUxheW91dDo6Y2Fs
Y0VmZmVjdGl2ZVdpZHRoKAogCS8vIG1ha2Ugc3VyZSBtaW5XaWR0aCBhbmQgbWF4V2lkdGggb2Yg
dGhlIHNwYW5uaW5nIGNlbGwgYXJlIGhvbm91cmVkCiAJaWYgKCBjTWluV2lkdGggPiBtaW5XaWR0
aCApIHsKICAgICAgICAgICAgIGlmICggYWxsQ29sc0FyZUZpeGVkICkgewotI2lmZGVmIERFQlVH
X0xBWU9VVAotCQlxRGVidWcoImV4dGVuZGluZyBtaW5XaWR0aCBvZiBjb2xzICVkLSVkIHRvICVk
cHggY3VycmVudE1pbj0lZCBhY2Nyb2RpbmcgdG8gZml4ZWQgc3VtICVkIiwgY29sLCBsYXN0Q29s
LTEsIGNNaW5XaWR0aCwgbWluV2lkdGgsIGZpeGVkV2lkdGggKTsKLSNlbmRpZgogCQlmb3IgKCB1
bnNpZ25lZCBpbnQgcG9zID0gY29sOyBmaXhlZFdpZHRoID4gMCAmJiBwb3MgPCBsYXN0Q29sOyBw
b3MrKyApIHsKIAkJICAgIGludCB3ID0ga01heCggbGF5b3V0U3RydWN0W3Bvc10uZWZmTWluV2lk
dGgsIGNNaW5XaWR0aCAqIGxheW91dFN0cnVjdFtwb3NdLndpZHRoLnZhbHVlIC8gZml4ZWRXaWR0
aCApOwotI2lmZGVmIERFQlVHX0xBWU9VVAotCQkgICAgcURlYnVnKCIgICBjb2wgJWQ6IG1pbj0l
ZCwgZWZmTWluPSVkLCBuZXc9JWQiLCBwb3MsIGxheW91dFN0cnVjdFtwb3NdLmVmZk1pbldpZHRo
LCBsYXlvdXRTdHJ1Y3RbcG9zXS5lZmZNaW5XaWR0aCwgdyApOwotI2VuZGlmCiAJCSAgICBmaXhl
ZFdpZHRoIC09IGxheW91dFN0cnVjdFtwb3NdLndpZHRoLnZhbHVlOwogCQkgICAgY01pbldpZHRo
IC09IHc7CiAgICAgICAgICAgICAgICAgICAgIGxheW91dFN0cnVjdFtwb3NdLmVmZk1pbldpZHRo
ID0gdzsKIAkJfQogCiAJICAgIH0gZWxzZSB7Ci0jaWZkZWYgREVCVUdfTEFZT1VUCi0JCXFEZWJ1
ZygiZXh0ZW5kaW5nIG1pbldpZHRoIG9mIGNvbHMgJWQtJWQgdG8gJWRweCBjdXJyZW50TWluPSVk
IiwgY29sLCBsYXN0Q29sLTEsIGNNaW5XaWR0aCwgbWluV2lkdGggKTsKLSNlbmRpZgogCQlpbnQg
bWF4dyA9IG1heFdpZHRoOwogICAgICAgICAgICAgICAgIGludCBtaW53ID0gbWluV2lkdGg7CiAg
ICAgICAgICAgICAgICAgCkBAIC03NjIsOSArNjg3LDYgQEAgaW50IEF1dG9UYWJsZUxheW91dDo6
Y2FsY0VmZmVjdGl2ZVdpZHRoKAogCQkJaW50IHcgPSBrTWF4KCBsYXlvdXRTdHJ1Y3RbcG9zXS5l
ZmZNaW5XaWR0aCwgbGF5b3V0U3RydWN0W3Bvc10ud2lkdGgudmFsdWUgKTsKIAkJCWZpeGVkV2lk
dGggLT0gbGF5b3V0U3RydWN0W3Bvc10ud2lkdGgudmFsdWU7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBtaW53IC09IGxheW91dFN0cnVjdFtwb3NdLmVmZk1pbldpZHRoOwotI2lmZGVmIERFQlVH
X0xBWU9VVAotICAgICAgICAgICAgICAgICAgICAgICAgcURlYnVnKCIgICBjb2wgJWQ6IG1pbj0l
ZCwgZWZmTWluPSVkLCBuZXc9JWQiLCBwb3MsIGxheW91dFN0cnVjdFtwb3NdLmVmZk1pbldpZHRo
LCBsYXlvdXRTdHJ1Y3RbcG9zXS5lZmZNaW5XaWR0aCwgdyApOwotI2VuZGlmCiAgICAgICAgICAg
ICAgICAgICAgICAgICBtYXh3IC09IGxheW91dFN0cnVjdFtwb3NdLmVmZk1heFdpZHRoOwogICAg
ICAgICAgICAgICAgICAgICAgICAgY01pbldpZHRoIC09IHc7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBsYXlvdXRTdHJ1Y3RbcG9zXS5lZmZNaW5XaWR0aCA9IHc7CkBAIC03NzUsMTAgKzY5Nyw3
IEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVXaWR0aCgKIAkJICAgIGlmICgg
IShsYXlvdXRTdHJ1Y3RbcG9zXS53aWR0aC50eXBlID09IEZpeGVkICYmIGhhdmVBdXRvICYmIGZp
eGVkV2lkdGggPD0gY01pbldpZHRoKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3
ID0ga01heCggbGF5b3V0U3RydWN0W3Bvc10uZWZmTWluV2lkdGgsIG1heHcgPyAoY01pbldpZHRo
ICogbGF5b3V0U3RydWN0W3Bvc10uZWZmTWF4V2lkdGggLyBtYXh3KSA6IGNNaW5XaWR0aCApOwog
ICAgICAgICAgICAgICAgICAgICAgICAgdyA9IGtNaW4obGF5b3V0U3RydWN0W3Bvc10uZWZmTWlu
V2lkdGgrKGNNaW5XaWR0aC1taW53KSwgdyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKLSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHFEZWJ1ZygiICAgY29sICVkOiBtaW49JWQsIGVmZk1pbj0lZCwgbmV3PSVkIiwg
cG9zLCBsYXlvdXRTdHJ1Y3RbcG9zXS5lZmZNaW5XaWR0aCwgbGF5b3V0U3RydWN0W3Bvc10uZWZm
TWluV2lkdGgsIHcgKTsKLSNlbmRpZgorCiAgICAgICAgICAgICAgICAgICAgICAgICBtYXh3IC09
IGxheW91dFN0cnVjdFtwb3NdLmVmZk1heFdpZHRoOwogICAgICAgICAgICAgICAgICAgICAgICAg
bWludyAtPSBsYXlvdXRTdHJ1Y3RbcG9zXS5lZmZNaW5XaWR0aDsKICAgICAgICAgICAgICAgICAg
ICAgICAgIGNNaW5XaWR0aCAtPSB3OwpAQCAtNzg5LDE0ICs3MDgsOCBAQCBpbnQgQXV0b1RhYmxl
TGF5b3V0OjpjYWxjRWZmZWN0aXZlV2lkdGgoCiAJfQogCWlmICggISh3LnR5cGUgPT0gUGVyY2Vu
dCApICkgewogCSAgICBpZiAoIGNNYXhXaWR0aCA+IG1heFdpZHRoICkgewotI2lmZGVmIERFQlVH
X0xBWU9VVAotCQlxRGVidWcoImV4dGVuZGluZyBtYXhXaWR0aCBvZiBjb2xzICVkLSVkIHRvICVk
cHgiLCBjb2wsIGxhc3RDb2wtMSwgY01heFdpZHRoICk7Ci0jZW5kaWYKIAkJZm9yICggdW5zaWdu
ZWQgaW50IHBvcyA9IGNvbDsgbWF4V2lkdGggPj0gMCAmJiBwb3MgPCBsYXN0Q29sOyBwb3MrKyAp
IHsKIAkJICAgIGludCB3ID0ga01heCggbGF5b3V0U3RydWN0W3Bvc10uZWZmTWF4V2lkdGgsIG1h
eFdpZHRoID8gKGNNYXhXaWR0aCAqIGxheW91dFN0cnVjdFtwb3NdLmVmZk1heFdpZHRoIC8gbWF4
V2lkdGgpIDogY01heFdpZHRoICk7Ci0jaWZkZWYgREVCVUdfTEFZT1VUCi0JCSAgICBxRGVidWco
IiAgIGNvbCAlZDogbWF4PSVkLCBlZmZNYXg9JWQsIG5ldz0lZCIsIHBvcywgbGF5b3V0U3RydWN0
W3Bvc10uZWZmTWF4V2lkdGgsIGxheW91dFN0cnVjdFtwb3NdLmVmZk1heFdpZHRoLCB3ICk7Ci0j
ZW5kaWYKIAkJICAgIG1heFdpZHRoIC09IGxheW91dFN0cnVjdFtwb3NdLmVmZk1heFdpZHRoOwog
CQkgICAgY01heFdpZHRoIC09IHc7CiAJCSAgICBsYXlvdXRTdHJ1Y3RbcG9zXS5lZmZNYXhXaWR0
aCA9IHc7CkBAIC04NTIsMjUgKzc2NSwxMCBAQCB2b2lkIEF1dG9UYWJsZUxheW91dDo6bGF5b3V0
KCkKIAlmdWxsUmVjYWxjKCk7CiAJbkVmZkNvbHMgPSB0YWJsZS0+bnVtRWZmQ29scygpOwogICAg
IH0KLSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICBxRGVidWcoIkF1dG9UYWJsZUxheW91dDo6bGF5
b3V0KCkiKTsKLSNlbmRpZgogCiAgICAgaWYgKCBlZmZXaWR0aERpcnR5ICkKIAljYWxjRWZmZWN0
aXZlV2lkdGgoKTsKIAotI2lmZGVmIERFQlVHX0xBWU9VVAotICAgIHFEZWJ1ZygiICAgIHRhYmxl
V2lkdGg9JWQsICBuRWZmQ29scz0lZCIsIHRhYmxlV2lkdGgsICBuRWZmQ29scyApOwotICAgIGZv
ciAoIGludCBpID0gMDsgaSA8IG5FZmZDb2xzOyBpKysgKSB7Ci0JcURlYnVnKCIgICAgZWZmY29s
ICVkIGlzIG9mIHR5cGUgJWQgdmFsdWUgJWQsIG1pbldpZHRoPSVkLCBtYXhXaWR0aD0lZCIsCi0J
ICAgICAgIGksIGxheW91dFN0cnVjdFtpXS53aWR0aC50eXBlLCBsYXlvdXRTdHJ1Y3RbaV0ud2lk
dGgudmFsdWUsCi0JICAgICAgIGxheW91dFN0cnVjdFtpXS5taW5XaWR0aCwgbGF5b3V0U3RydWN0
W2ldLm1heFdpZHRoICk7Ci0JcURlYnVnKCIgICAgICAgIGVmZmVjdGl2ZTogdHlwZSAlZCB2YWx1
ZSAlZCwgbWluV2lkdGg9JWQsIG1heFdpZHRoPSVkIiwKLQkgICAgICAgbGF5b3V0U3RydWN0W2ld
LmVmZldpZHRoLnR5cGUsIGxheW91dFN0cnVjdFtpXS5lZmZXaWR0aC52YWx1ZSwKLQkgICAgICAg
bGF5b3V0U3RydWN0W2ldLmVmZk1pbldpZHRoLCBsYXlvdXRTdHJ1Y3RbaV0uZWZmTWF4V2lkdGgg
KTsKLSAgICB9Ci0jZW5kaWYKLQogICAgIGJvb2wgaGF2ZVBlcmNlbnQgPSBmYWxzZTsKICAgICBi
b29sIGhhdmVSZWxhdGl2ZSA9IGZhbHNlOwogICAgIGludCB0b3RhbFJlbGF0aXZlID0gMDsKQEAg
LTkzOCwxMCArODM2LDcgQEAgdm9pZCBBdXRvVGFibGVMYXlvdXQ6OmxheW91dCgpCiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0jaWZkZWYgREVCVUdfTEFZT1VUCi0gICAgcURlYnVn
KCJwZXJjZW50IHNhdGlzZmllZDogYXZhaWxhYmxlIGlzICVkIiwgYXZhaWxhYmxlKTsKLSNlbmRp
ZgotICAgIAorCiAgICAgLy8gdGhlbiBhbGxvY2F0ZSB3aWR0aCB0byBmaXhlZCBjb2xzCiAgICAg
aWYgKCBhdmFpbGFibGUgPiAwICkgewogCWZvciAoIGludCBpID0gMDsgaSA8IG5FZmZDb2xzOyAr
K2kgKSB7CkBAIC05NTIsOSArODQ3LDYgQEAgdm9pZCBBdXRvVGFibGVMYXlvdXQ6OmxheW91dCgp
CiAgICAgICAgICAgICB9CiAJfQogICAgIH0KLSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICBxRGVi
dWcoImZpeGVkIHNhdGlzZmllZDogYXZhaWxhYmxlIGlzICVkIiwgYXZhaWxhYmxlKTsKLSNlbmRp
ZgogCiAgICAgLy8gbm93IHNhdGlzZnkgcmVsYXRpdmUKICAgICBpZiAoIGF2YWlsYWJsZSA+IDAg
KSB7CkBAIC05ODQsOSArODc2LDYgQEAgdm9pZCBBdXRvVGFibGVMYXlvdXQ6OmxheW91dCgpCiAJ
ICAgIH0KIAl9CiAgICAgfQotI2lmZGVmIERFQlVHX0xBWU9VVAotICAgIHFEZWJ1ZygidmFyaWFi
bGUgc2F0aXNmaWVkOiBhdmFpbGFibGUgaXMgJWQiLCAgYXZhaWxhYmxlICk7Ci0jZW5kaWYKIAog
ICAgIC8vIHNwcmVhZCBvdmVyIGZpeGVkIGNvbHVtbnMKICAgICBpZiAoYXZhaWxhYmxlID4gMCAm
JiBudW1GaXhlZCkgewpAQCAtMTAwMSwxMSArODkwLDcgQEAgdm9pZCBBdXRvVGFibGVMYXlvdXQ6
OmxheW91dCgpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0gICAgCi0jaWZkZWYg
REVCVUdfTEFZT1VUCi0gICAgcURlYnVnKCJhZnRlciBmaXhlZCBkaXN0cmlidXRpb246IGF2YWls
YWJsZT0lZCIsICBhdmFpbGFibGUgKTsKLSNlbmRpZgotICAgIAorCiAgICAgLy8gc3ByZWFkIG92
ZXIgcGVyY2VudCBjb2x1bXMKICAgICBpZiAoYXZhaWxhYmxlID4gMCAmJiBoYXNQZXJjZW50ICYm
IHRvdGFsUGVyY2VudCA8IDEwMCkgewogICAgICAgICAvLyBzdGlsbCBoYXZlIHNvbWUgd2lkdGgg
dG8gc3ByZWFkLCBkaXN0cmlidXRlIHdlaWdodGVkIHRvIHBlcmNlbnQgY29sdW1ucwpAQCAtMTAy
MSwxMCArOTA2LDYgQEAgdm9pZCBBdXRvVGFibGVMYXlvdXQ6OmxheW91dCgpCiAgICAgICAgIH0K
ICAgICB9CiAKLSNpZmRlZiBERUJVR19MQVlPVVQKLSAgICBxRGVidWcoImFmdGVyIHBlcmNlbnQg
ZGlzdHJpYnV0aW9uOiBhdmFpbGFibGU9JWQiLCAgYXZhaWxhYmxlICk7Ci0jZW5kaWYKLQogICAg
IC8vIHNwcmVhZCBvdmVyIHRoZSByZXN0CiAgICAgaWYgKCBhdmFpbGFibGUgPiAwICkgewogICAg
ICAgICBpbnQgdG90YWwgPSBuRWZmQ29sczsKQEAgLTEwMzgsOSArOTE5LDYgQEAgdm9pZCBBdXRv
VGFibGVMYXlvdXQ6OmxheW91dCgpCiAgICAgICAgIH0KICAgICB9CiAKLSNpZmRlZiBERUJVR19M
QVlPVVQKLSAgICBxRGVidWcoImFmdGVyIGVxdWFsIGRpc3RyaWJ1dGlvbjogYXZhaWxhYmxlPSVk
IiwgIGF2YWlsYWJsZSApOwotI2VuZGlmCiAgICAgLy8gaWYgd2UgaGF2ZSBvdmVyYWxsb2NhdGVk
LCByZWR1Y2UgZXZlcnkgY2VsbCBhY2NvcmRpbmcgdG8gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBk
ZXNpcmVkIHdpZHRoIGFuZCBtaW53aWR0aAogICAgIC8vIHRoaXMgc2VlbXMgdG8gcHJvZHVjZSB0
byB0aGUgcGl4ZWwgZXhheHQgcmVzdWx0cyB3aXRoIElFLiBXb25kZXIgaXMgc29tZSBvZiB0aGlz
IGFsc28gaG9sZHMgZm9yIHdpZHRoIGRpc3RyaWJ1dGluZy4KICAgICBpZiAoIGF2YWlsYWJsZSA8
IDAgKSB7CkBAIC0xMTQzLDkgKzEwMjEsNiBAQCB2b2lkIEF1dG9UYWJsZUxheW91dDo6bGF5b3V0
KCkKIAogICAgIGludCBwb3MgPSAwOwogICAgIGZvciAoIGludCBpID0gMDsgaSA8IG5FZmZDb2xz
OyBpKysgKSB7Ci0jaWZkZWYgREVCVUdfTEFZT1VUCi0JcURlYnVnKCJjb2wgJWQ6ICVkICh3aWR0
aCAlZCkiLCBpLCBwb3MsIGxheW91dFN0cnVjdFtpXS5jYWxjV2lkdGggKTsKLSNlbmRpZgogCXRh
YmxlLT5jb2x1bW5Qb3NbaV0gPSBwb3M7CiAJcG9zICs9IGxheW91dFN0cnVjdFtpXS5jYWxjV2lk
dGggKyB0YWJsZS0+aEJvcmRlclNwYWNpbmcoKTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4944</attachid>
            <date>2005-12-04 13:32:43 -0800</date>
            <delta_ts>2005-12-18 15:30:17 -0800</delta_ts>
            <desc>FORMS_DEBUG removal patch</desc>
            <filename>FORMS_DEBUG.patch</filename>
            <type>text/plain</type>
            <size>1611</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2h0bWwvaHRtbF9mb3JtaW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9yb290L1dlYkNvcmUva2h0bWwvaHRtbC9odG1sX2Zvcm1pbXBsLmNwcCx2CnJldHJpZXZp
bmcgcmV2aXNpb24gMS4yMDYKZGlmZiAtcCAtdSAtcjEuMjA2IGtodG1sL2h0bWwvaHRtbF9mb3Jt
aW1wbC5jcHAKLS0tIGtodG1sL2h0bWwvaHRtbF9mb3JtaW1wbC5jcHAJMSBEZWMgMjAwNSAxMDoz
MjoxOCAtMDAwMAkxLjIwNgorKysga2h0bWwvaHRtbC9odG1sX2Zvcm1pbXBsLmNwcAk0IERlYyAy
MDA1IDE0OjQ1OjU0IC0wMDAwCkBAIC0zMDQsMTAgKzMwNCw2IEBAIHN0YXRpYyBRQ1N0cmluZyBm
aXhMaW5lQnJlYWtzKGNvbnN0IFFDU3QKIAogYm9vbCBIVE1MRm9ybUVsZW1lbnRJbXBsOjpmb3Jt
RGF0YShGb3JtRGF0YSAmZm9ybV9kYXRhKSBjb25zdAogewotI2lmZGVmIEZPUk1TX0RFQlVHCi0g
ICAga2REZWJ1ZyggNjAzMCApIDw8ICJmb3JtOiBmb3JtRGF0YSgpIiA8PCBlbmRsOwotI2VuZGlm
Ci0KICAgICBRQ1N0cmluZyBlbmNfc3RyaW5nID0gIiI7IC8vIHVzZWQgZm9yIG5vbi1tdWx0aXBh
cnQgZGF0YQogCiAgICAgLy8gZmluZCBvdXQgdGhlIFFUZXh0Y29kZWMgdG8gdXNlCkBAIC00Nzks
MTAgKzQ3NSw2IEBAIHZvaWQgSFRNTEZvcm1FbGVtZW50SW1wbDo6c3VibWl0KCBib29sIGEKIAog
ICAgIG1faW5zdWJtaXQgPSB0cnVlOwogCi0jaWZkZWYgRk9STVNfREVCVUcKLSAgICBrZERlYnVn
KCA2MDMwICkgPDwgInN1Ym1pdHRpbmchIiA8PCBlbmRsOwotI2VuZGlmCi0KICAgICBIVE1MR2Vu
ZXJpY0Zvcm1FbGVtZW50SW1wbCogZmlyc3RTdWNjZXNzZnVsU3VibWl0QnV0dG9uID0gMDsKICAg
ICBib29sIG5lZWRCdXR0b25BY3RpdmF0aW9uID0gYWN0aXZhdGVTdWJtaXRCdXR0b247CS8vIGRv
IHdlIG5lZWQgdG8gYWN0aXZhdGUgYSBzdWJtaXQgYnV0dG9uPwogICAgIApAQCAtNTQ0LDEwICs1
MzYsNiBAQCB2b2lkIEhUTUxGb3JtRWxlbWVudEltcGw6OnJlc2V0KCAgKQogCiAgICAgbV9pbnJl
c2V0ID0gdHJ1ZTsKIAotI2lmZGVmIEZPUk1TX0RFQlVHCi0gICAga2REZWJ1ZyggNjAzMCApIDw8
ICJyZXNldCBwcmVzc2VkISIgPDwgZW5kbDsKLSNlbmRpZgotCiAgICAgLy8gIyMjIERPTTIgbGFi
ZWxzIHRoaXMgZXZlbnQgYXMgbm90IGNhbmNlbGFibGUsIGhvd2V2ZXIKICAgICAvLyBjb21tb24g
YnJvd3NlcnMoIHNpY2shICkgYWxsb3cgaXQgYmUgY2FuY2VsbGVkLgogICAgIGlmICggIWRpc3Bh
dGNoSFRNTEV2ZW50KHJlc2V0RXZlbnQsdHJ1ZSwgdHJ1ZSkgKSB7CkBAIC04NzUsOSArODYzLDYg
QEAgSFRNTEZvcm1FbGVtZW50SW1wbCAqSFRNTEdlbmVyaWNGb3JtRWxlbQogICAgICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PEhUTUxGb3JtRWxlbWVudEltcGwgKj4ocCk7CiAgICAgICAgIHAg
PSBwLT5wYXJlbnROb2RlKCk7CiAgICAgfQotI2lmZGVmIEZPUk1TX0RFQlVHCi0gICAga2REZWJ1
ZyggNjAzMCApIDw8ICJjb3VsZG4ndCBmaW5kIGZvcm0hIiA8PCBlbmRsOwotI2VuZGlmCiAgICAg
cmV0dXJuIDA7CiB9CiAK
</data>
<flag name="review"
          id="952"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4945</attachid>
            <date>2005-12-04 13:33:01 -0800</date>
            <delta_ts>2005-12-11 00:59:16 -0800</delta_ts>
            <desc>KJS_VERBOSE removal patch</desc>
            <filename>KJS_VERBOSE.patch</filename>
            <type>text/plain</type>
            <size>8291</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2todG1sX3BhcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9v
dC9XZWJDb3JlL2todG1sL2todG1sX3BhcnQuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM2
MwpkaWZmIC1wIC11IC1yMS4zNjMga2h0bWwva2h0bWxfcGFydC5jcHAKLS0tIGtodG1sL2todG1s
X3BhcnQuY3BwCTQgRGVjIDIwMDUgMTE6MzU6MDIgLTAwMDAJMS4zNjMKKysrIGtodG1sL2todG1s
X3BhcnQuY3BwCTQgRGVjIDIwMDUgMTQ6NDg6NTAgLTAwMDAKQEAgLTU5OSw5ICs1OTksNiBAQCBR
VmFyaWFudCBLSFRNTFBhcnQ6OmV4ZWN1dGVTY3JpcHQoIGNvbnN0CiAKIFFWYXJpYW50IEtIVE1M
UGFydDo6ZXhlY3V0ZVNjcmlwdCggRE9NOjpOb2RlSW1wbCAqbiwgY29uc3QgUVN0cmluZyAmc2Ny
aXB0LCBib29sIGZvcmNlVXNlckdlc3R1cmUgKQogewotI2lmZGVmIEtKU19WRVJCT1NFCi0gIGtk
RGVidWcoNjA3MCkgPDwgIktIVE1MUGFydDo6ZXhlY3V0ZVNjcmlwdCBuPSIgPDwgbi5ub2RlTmFt
ZSgpLnFzdHJpbmcoKS5sYXRpbjEoKSA8PCAiKCIgPDwgKG4uaXNOdWxsKCkgPyAwIDogbi5ub2Rl
VHlwZSgpKSA8PCAiKSAiIDw8IHNjcmlwdCA8PCBlbmRsOwotI2VuZGlmCiAgIEtKU1Byb3h5ICpw
cm94eSA9IGpTY3JpcHQoKTsKIAogICBpZiAoIXByb3h5IHx8IHByb3h5LT5wYXVzZWQoKSkKQEAg
LTYxNiw5ICs2MTMsNiBAQCBRVmFyaWFudCBLSFRNTFBhcnQ6OmV4ZWN1dGVTY3JpcHQoIERPTTo6
CiAgICAgICBzdWJtaXRGb3JtQWdhaW4oKTsKICAgICBEb2N1bWVudEltcGw6OnVwZGF0ZURvY3Vt
ZW50c1JlbmRlcmluZygpOwogCi0jaWZkZWYgS0pTX1ZFUkJPU0UKLSAga2REZWJ1Zyg2MDcwKSA8
PCAiS0hUTUxQYXJ0OjpleGVjdXRlU2NyaXB0IC0gZG9uZSIgPDwgZW5kbDsKLSNlbmRpZgogICBy
ZXR1cm4gcmV0OwogfQogCkBAIC0yOTI0LDkgKzI5MTgsNiBAQCB2b2lkIEtIVE1MUGFydDo6Y2xl
YXJUeXBpbmdTdHlsZSgpCiAKIFFWYXJpYW50IEtIVE1MUGFydDo6ZXhlY3V0ZVNjcmlwdChRU3Ry
aW5nIGZpbGVuYW1lLCBpbnQgYmFzZUxpbmUsIE5vZGVJbXBsICpuLCBjb25zdCBRU3RyaW5nICZz
Y3JpcHQpCiB7Ci0jaWZkZWYgS0pTX1ZFUkJPU0UKLSAga2REZWJ1Zyg2MDcwKSA8PCAiZXhlY3V0
ZVNjcmlwdDogZmlsZW5hbWU9IiA8PCBmaWxlbmFtZSA8PCAiIGJhc2VMaW5lPSIgPDwgYmFzZUxp
bmUgPDwgIiBzY3JpcHQ9IiA8PCBzY3JpcHQgPDwgZW5kbDsKLSNlbmRpZgogICBLSlNQcm94eSAq
cHJveHkgPSBqU2NyaXB0KCk7CiAKICAgaWYgKCFwcm94eSB8fCBwcm94eS0+cGF1c2VkKCkpCklu
ZGV4OiBraHRtbC9lY21hL2tqc19iaW5kaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3Zz
L3Jvb3QvV2ViQ29yZS9raHRtbC9lY21hL2tqc19iaW5kaW5nLmNwcCx2CnJldHJpZXZpbmcgcmV2
aXNpb24gMS40NwpkaWZmIC1wIC11IC1yMS40NyBraHRtbC9lY21hL2tqc19iaW5kaW5nLmNwcAot
LS0ga2h0bWwvZWNtYS9ranNfYmluZGluZy5jcHAJMjEgTm92IDIwMDUgMDE6MTk6NTQgLTAwMDAJ
MS40NworKysga2h0bWwvZWNtYS9ranNfYmluZGluZy5jcHAJNCBEZWMgMjAwNSAxNDo0OTowMyAt
MDAwMApAQCAtODAsMTYgKzgwLDEwIEBAIFNjcmlwdEludGVycHJldGVyOjpTY3JpcHRJbnRlcnBy
ZXRlciggT2IKICAgOiBJbnRlcnByZXRlciggZ2xvYmFsICksIG1fcGFydCggcGFydCApLAogICAg
IG1fZXZ0KCAwTCApLCBtX2lubGluZUNvZGUoZmFsc2UpLCBtX3RpbWVyQ2FsbGJhY2soZmFsc2Up
CiB7Ci0jaWZkZWYgS0pTX1ZFUkJPU0UKLSAga2REZWJ1Zyg2MDcwKSA8PCAiU2NyaXB0SW50ZXJw
cmV0ZXI6OlNjcmlwdEludGVycHJldGVyICIgPDwgdGhpcyA8PCAiIGZvciBwYXJ0PSIgPDwgbV9w
YXJ0IDw8IGVuZGw7Ci0jZW5kaWYKIH0KIAogU2NyaXB0SW50ZXJwcmV0ZXI6On5TY3JpcHRJbnRl
cnByZXRlcigpCiB7Ci0jaWZkZWYgS0pTX1ZFUkJPU0UKLSAga2REZWJ1Zyg2MDcwKSA8PCAiU2Ny
aXB0SW50ZXJwcmV0ZXI6On5TY3JpcHRJbnRlcnByZXRlciAiIDw8IHRoaXMgPDwgIiBmb3IgcGFy
dD0iIDw8IG1fcGFydCA8PCBlbmRsOwotI2VuZGlmCiB9CiAKIERPTU9iamVjdCogU2NyaXB0SW50
ZXJwcmV0ZXI6OmdldERPTU9iamVjdCh2b2lkKiBvYmplY3RIYW5kbGUpIApJbmRleDoga2h0bWwv
ZWNtYS9ranNfY3NzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9r
aHRtbC9lY21hL2tqc19jc3MuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjQwCmRpZmYgLXAg
LXUgLXIxLjQwIGtodG1sL2VjbWEva2pzX2Nzcy5jcHAKLS0tIGtodG1sL2VjbWEva2pzX2Nzcy5j
cHAJMjEgTm92IDIwMDUgMDE6MTk6NTQgLTAwMDAJMS40MAorKysga2h0bWwvZWNtYS9ranNfY3Nz
LmNwcAk0IERlYyAyMDA1IDE0OjQ5OjA1IC0wMDAwCkBAIC0yMDQsOSArMjA0LDYgQEAgVmFsdWVJ
bXAgKkRPTUNTU1N0eWxlRGVjbGFyYXRpb246OmdldFZhbAogCiB2b2lkIERPTUNTU1N0eWxlRGVj
bGFyYXRpb246OnB1dChFeGVjU3RhdGUgKmV4ZWMsIGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5
TmFtZSwgVmFsdWVJbXAgKnZhbHVlLCBpbnQgYXR0ciApCiB7Ci0jaWZkZWYgS0pTX1ZFUkJPU0UK
LSAga2REZWJ1Zyg2MDcwKSA8PCAiRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbjo6cHV0ICIgPDwgcHJv
cGVydHlOYW1lLnFzdHJpbmcoKSA8PCBlbmRsOwotI2VuZGlmCiAgIERPTUV4Y2VwdGlvblRyYW5z
bGF0b3IgZXhjZXB0aW9uKGV4ZWMpOwogICBDU1NTdHlsZURlY2xhcmF0aW9uSW1wbCAmc3R5bGVE
ZWNsID0gKm1faW1wbDsKICAgaWYgKHByb3BlcnR5TmFtZSA9PSAiY3NzVGV4dCIpIHsKQEAgLTIx
OCw5ICsyMTUsNiBAQCB2b2lkIERPTUNTU1N0eWxlRGVjbGFyYXRpb246OnB1dChFeGVjU3RhCiAg
ICAgICBRU3RyaW5nIHByb3B2YWx1ZSA9IHZhbHVlLT50b1N0cmluZyhleGVjKS5xc3RyaW5nKCk7
CiAgICAgICBpZiAocGl4ZWxPclBvcykKIAlwcm9wdmFsdWUgKz0gInB4IjsKLSNpZmRlZiBLSlNf
VkVSQk9TRQotICAgICAga2REZWJ1Zyg2MDcwKSA8PCAiRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbjog
cHJvcD0iIDw8IHByb3AgPDwgIiBwcm9wdmFsdWU9IiA8PCBwcm9wdmFsdWUgPDwgZW5kbDsKLSNl
bmRpZgogICAgICAgc3R5bGVEZWNsLnJlbW92ZVByb3BlcnR5KHByb3AsIGV4Y2VwdGlvbik7CiAg
ICAgICBpZiAoIWV4Y2VwdGlvbiAmJiAhcHJvcHZhbHVlLmlzRW1wdHkoKSkgewogICAgICAgICAv
LyBXZSBoYXZlIHRvIGlnbm9yZSBleGNlcHRpb25zIGhlcmUsIGJlY2F1c2Ugb2YgdGhlIGZvbGxv
d2luZyB1bmZvcnR1bmF0ZSBzaXR1YXRpb246CkluZGV4OiBraHRtbC9lY21hL2tqc19kb20uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2VjbWEva2pzX2Rv
bS5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTE2CmRpZmYgLXAgLXUgLXIxLjExNiBraHRt
bC9lY21hL2tqc19kb20uY3BwCi0tLSBraHRtbC9lY21hL2tqc19kb20uY3BwCTIgRGVjIDIwMDUg
MDM6NDg6MDUgLTAwMDAJMS4xMTYKKysrIGtodG1sL2VjbWEva2pzX2RvbS5jcHAJNCBEZWMgMjAw
NSAxNDo0OTowNyAtMDAwMApAQCAtNDQxLDkgKzQ0MSw2IEBAIFZhbHVlSW1wICpET01Ob2RlOjpn
ZXRWYWx1ZVByb3BlcnR5KEV4ZWMKIAogdm9pZCBET01Ob2RlOjpwdXQoRXhlY1N0YXRlICpleGVj
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIFZhbHVlSW1wICp2YWx1ZSwgaW50IGF0
dHIpCiB7Ci0jaWZkZWYgS0pTX1ZFUkJPU0UKLSAga2REZWJ1Zyg2MDcwKSA8PCAiRE9NTm9kZTo6
cHV0ICIgPDwgcHJvcGVydHlOYW1lLnFzdHJpbmcoKSA8PCBlbmRsOwotI2VuZGlmCiAgIGxvb2t1
cFB1dDxET01Ob2RlLERPTU9iamVjdD4oZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRE9NTm9kZVRhYmxlLCB0
aGlzICk7CiB9CkBAIC04NTAsOSArODQ3LDYgQEAgVmFsdWVJbXAgKkRPTUF0dHI6OmdldFZhbHVl
UHJvcGVydHkoRXhlYwogCiB2b2lkIERPTUF0dHI6OnB1dChFeGVjU3RhdGUgKmV4ZWMsIGNvbnN0
IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSwgVmFsdWVJbXAgKnZhbHVlLCBpbnQgYXR0cikKIHsK
LSNpZmRlZiBLSlNfVkVSQk9TRQotICBrZERlYnVnKDYwNzApIDw8ICJET01BdHRyOjpwdXQgIiA8
PCBwcm9wZXJ0eU5hbWUucXN0cmluZygpIDw8IGVuZGw7Ci0jZW5kaWYKICAgbG9va3VwUHV0PERP
TUF0dHIsRE9NTm9kZT4oZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0ciwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkRPTUF0dHJUYWJsZSwgdGhpcyApOwogfQpA
QCAtMTAwMiw5ICs5OTYsNiBAQCBWYWx1ZUltcCAqRE9NRG9jdW1lbnQ6OmdldFZhbHVlUHJvcGVy
dHkoCiAKIHZvaWQgRE9NRG9jdW1lbnQ6OnB1dChFeGVjU3RhdGUgKmV4ZWMsIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZSwgVmFsdWVJbXAgKnZhbHVlLCBpbnQgYXR0cikKIHsKLSNpZmRl
ZiBLSlNfVkVSQk9TRQotICBrZERlYnVnKDYwNzApIDw8ICJET01Eb2N1bWVudDo6cHV0ICIgPDwg
cHJvcGVydHlOYW1lLnFzdHJpbmcoKSA8PCBlbmRsOwotI2VuZGlmCiAgIGxvb2t1cFB1dDxET01E
b2N1bWVudCxET01Ob2RlPihleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyLCAmRE9NRG9j
dW1lbnRUYWJsZSwgdGhpcyApOwogfQogCkluZGV4OiBraHRtbC9lY21hL2tqc19odG1sLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9lY21hL2tqc19odG1s
LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNTEKZGlmZiAtcCAtdSAtcjEuMTUxIGtodG1s
L2VjbWEva2pzX2h0bWwuY3BwCi0tLSBraHRtbC9lY21hL2tqc19odG1sLmNwcAkzIERlYyAyMDA1
IDIwOjI2OjAwIC0wMDAwCTEuMTUxCisrKyBraHRtbC9lY21hL2tqc19odG1sLmNwcAk0IERlYyAy
MDA1IDE0OjQ5OjEzIC0wMDAwCkBAIC0zOTgsOSArMzk4LDYgQEAgYm9vbCBIVE1MRG9jdW1lbnQ6
OmdldE93blByb3BlcnR5U2xvdChFeAogCiB2b2lkIEtKUzo6SFRNTERvY3VtZW50OjpwdXQoRXhl
Y1N0YXRlICpleGVjLCBjb25zdCBJZGVudGlmaWVyICZwcm9wZXJ0eU5hbWUsIFZhbHVlSW1wICp2
YWx1ZSwgaW50IGF0dHIpCiB7Ci0jaWZkZWYgS0pTX1ZFUkJPU0UKLSAga2REZWJ1Zyg2MDcwKSA8
PCAiS0pTOjpIVE1MRG9jdW1lbnQ6OnB1dCAiIDw8IHByb3BlcnR5TmFtZS5xc3RyaW5nKCkgPDwg
ZW5kbDsKLSNlbmRpZgogICBsb29rdXBQdXQ8SFRNTERvY3VtZW50LCBET01Eb2N1bWVudD4oIGV4
ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHIsICZIVE1MRG9jdW1lbnRUYWJsZSwgdGhpcyAp
OwogfQogCkBAIC0yNTI0LDE1ICsyNTIxLDcgQEAgVmFsdWVJbXAgKktKUzo6SFRNTEVsZW1lbnRG
dW5jdGlvbjo6Y2FsbAogCiB2b2lkIEtKUzo6SFRNTEVsZW1lbnQ6OnB1dChFeGVjU3RhdGUgKmV4
ZWMsIGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSwgVmFsdWVJbXAgKnZhbHVlLCBpbnQg
YXR0cikKIHsKLSNpZmRlZiBLSlNfVkVSQk9TRQotICAgIERPTTo6RE9NU3RyaW5nIHN0ciA9IHZh
bHVlLmlzTnVsbCgpID8gRE9NOjpET01TdHJpbmcoKSA6IHZhbHVlLT50b1N0cmluZyhleGVjKS5k
b21TdHJpbmcoKTsKLSNlbmRpZgogICAgIEhUTUxFbGVtZW50SW1wbCAmZWxlbWVudCA9ICpzdGF0
aWNfY2FzdDxIVE1MRWxlbWVudEltcGwgKj4oaW1wbCgpKTsKLSNpZmRlZiBLSlNfVkVSQk9TRQot
ICAgIGtkRGVidWcoNjA3MCkgPDwgIktKUzo6SFRNTEVsZW1lbnQ6OnRyeVB1dCAiIDw8IHByb3Bl
cnR5TmFtZS5xc3RyaW5nKCkKLSAgICAgICAgICAgICAgICAgIDw8ICIgdGhpc1RhZz0iIDw8IGVs
ZW1lbnQudGFnTmFtZSgpLnFzdHJpbmcoKQotICAgICAgICAgICAgICAgICAgPDwgIiBzdHI9IiA8
PCBzdHIucXN0cmluZygpIDw8IGVuZGw7Ci0jZW5kaWYKICAgICAvLyBGaXJzdCBsb29rIGF0IGR5
bmFtaWMgcHJvcGVydGllcwogICAgIGlmIChlbGVtZW50Lmhhc0xvY2FsTmFtZShzZWxlY3RUYWcp
KSB7CiAgICAgICAgIEhUTUxTZWxlY3RFbGVtZW50SW1wbCAmc2VsZWN0ID0gc3RhdGljX2Nhc3Q8
SFRNTFNlbGVjdEVsZW1lbnRJbXBsICY+KGVsZW1lbnQpOwpAQCAtMzQwNywxNyArMzM5NiwxMSBA
QCBWYWx1ZUltcCAqS0pTOjpIVE1MQ29sbGVjdGlvbjo6Y2FsbEFzRnVuCiAKIFZhbHVlSW1wICpL
SlM6OkhUTUxDb2xsZWN0aW9uOjpnZXROYW1lZEl0ZW1zKEV4ZWNTdGF0ZSAqZXhlYywgY29uc3Qg
SWRlbnRpZmllciAmcHJvcGVydHlOYW1lKSBjb25zdAogewotI2lmZGVmIEtKU19WRVJCT1NFCi0g
IGtkRGVidWcoNjA3MCkgPDwgIktKUzo6SFRNTENvbGxlY3Rpb246OmdldE5hbWVkSXRlbXMgIiA8
PCBwcm9wZXJ0eU5hbWUuYXNjaWkoKSA8PCBlbmRsOwotI2VuZGlmCiAgIERPTTo6RE9NU3RyaW5n
IHBzdHIgPSBwcm9wZXJ0eU5hbWUuZG9tU3RyaW5nKCk7CiAKICAgUVZhbHVlTGlzdDwgUmVmUHRy
PE5vZGVJbXBsPiA+IG5hbWVkSXRlbXMgPSBtX2ltcGwtPm5hbWVkSXRlbXMocHN0cik7CiAKICAg
aWYgKG5hbWVkSXRlbXMuaXNFbXB0eSgpKSB7Ci0jaWZkZWYgS0pTX1ZFUkJPU0UKLSAgICBrZERl
YnVnKDYwNzApIDw8ICJub3QgZm91bmQiIDw8IGVuZGw7Ci0jZW5kaWYKICAgICByZXR1cm4gVW5k
ZWZpbmVkKCk7CiAgIH0KIApAQCAtMzQ3MSw5ICszNDU0LDYgQEAgYm9vbCBIVE1MU2VsZWN0Q29s
bGVjdGlvbjo6Z2V0T3duUHJvcGVydAogCiB2b2lkIEtKUzo6SFRNTFNlbGVjdENvbGxlY3Rpb246
OnB1dChFeGVjU3RhdGUgKmV4ZWMsIGNvbnN0IElkZW50aWZpZXIgJnByb3BlcnR5TmFtZSwgVmFs
dWVJbXAgKnZhbHVlLCBpbnQpCiB7Ci0jaWZkZWYgS0pTX1ZFUkJPU0UKLSAga2REZWJ1Zyg2MDcw
KSA8PCAiS0pTOjpIVE1MU2VsZWN0Q29sbGVjdGlvbjo6cHV0ICIgPDwgcHJvcGVydHlOYW1lLnFz
dHJpbmcoKSA8PCBlbmRsOwotI2VuZGlmCiAgIGlmICggcHJvcGVydHlOYW1lID09ICJzZWxlY3Rl
ZEluZGV4IiApIHsKICAgICBtX2VsZW1lbnQtPnNldFNlbGVjdGVkSW5kZXgoIHZhbHVlLT50b0lu
dDMyKCBleGVjICkgKTsKICAgICByZXR1cm47CkluZGV4OiBraHRtbC9lY21hL2tqc193aW5kb3cu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2VjbWEva2pz
X3dpbmRvdy5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTkzCmRpZmYgLXAgLXUgLXIxLjE5
MyBraHRtbC9lY21hL2tqc193aW5kb3cuY3BwCi0tLSBraHRtbC9lY21hL2tqc193aW5kb3cuY3Bw
CTQgRGVjIDIwMDUgMDA6MzI6MzQgLTAwMDAJMS4xOTMKKysrIGtodG1sL2VjbWEva2pzX3dpbmRv
dy5jcHAJNCBEZWMgMjAwNSAxNDo0OToxNyAtMDAwMApAQCAtMzk5LDkgKzM5OSw2IEBAIFZhbHVl
SW1wICpXaW5kb3c6OnJldHJpZXZlKEtIVE1MUGFydCAqcCkKICAgYXNzZXJ0KHApOwogICBLSlNQ
cm94eSAqcHJveHkgPSBLSlNQcm94eTo6cHJveHkoIHAgKTsKICAgaWYgKHByb3h5KSB7Ci0jaWZk
ZWYgS0pTX1ZFUkJPU0UKLSAgICBrZERlYnVnKDYwNzApIDw8ICJXaW5kb3c6OnJldHJpZXZlIHBh
cnQ9IiA8PCBwIDw8ICIgaW50ZXJwcmV0ZXI9IiA8PCBwcm94eS0+aW50ZXJwcmV0ZXIoKSA8PCAi
IHdpbmRvdz0iIDw8IHByb3h5LT5pbnRlcnByZXRlcigpLT5nbG9iYWxPYmplY3QoKSA8PCBlbmRs
OwotI2VuZGlmCiAgICAgcmV0dXJuIHByb3h5LT5pbnRlcnByZXRlcigpLT5nbG9iYWxPYmplY3Qo
KTsgLy8gdGhlIEdsb2JhbCBvYmplY3QgaXMgdGhlICJ3aW5kb3ciCiAgIH0gZWxzZQogICAgIHJl
dHVybiBVbmRlZmluZWQoKTsgLy8gVGhpcyBjYW4gaGFwcGVuIHdpdGggSlMgZGlzYWJsZWQgb24g
dGhlIGRvbWFpbiBvZiB0aGF0IHdpbmRvdwo=
</data>
<flag name="review"
          id="953"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4946</attachid>
            <date>2005-12-04 13:33:28 -0800</date>
            <delta_ts>2005-12-18 15:30:33 -0800</delta_ts>
            <desc>CSS_STYLESHEET_DEBUG removal patch</desc>
            <filename>CSS_STYLESHEET_DEBUG.patch</filename>
            <type>text/plain</type>
            <size>1248</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2Nzcy9jc3Nfc3R5bGVzaGVldGltcGwuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL2Nzcy9jc3Nfc3R5bGVzaGVldGltcGwuY3BwLHYK
cmV0cmlldmluZyByZXZpc2lvbiAxLjE5CmRpZmYgLXAgLXUgLXIxLjE5IGtodG1sL2Nzcy9jc3Nf
c3R5bGVzaGVldGltcGwuY3BwCi0tLSBraHRtbC9jc3MvY3NzX3N0eWxlc2hlZXRpbXBsLmNwcAky
NSBPY3QgMjAwNSAwMDowNzo0NSAtMDAwMAkxLjE5CisrKyBraHRtbC9jc3MvY3NzX3N0eWxlc2hl
ZXRpbXBsLmNwcAk0IERlYyAyMDA1IDE0OjU2OjI5IC0wMDAwCkBAIC0yMzQsMTAgKzIzNCw2IEBA
IGNvbnN0IEF0b21pY1N0cmluZyYgQ1NTU3R5bGVTaGVldEltcGw6OmQKIAogYm9vbCBDU1NTdHls
ZVNoZWV0SW1wbDo6cGFyc2VTdHJpbmcoY29uc3QgRE9NU3RyaW5nICZzdHJpbmcsIGJvb2wgc3Ry
aWN0KQogewotI2lmZGVmIENTU19TVFlMRVNIRUVUX0RFQlVHCi0gICAga2REZWJ1ZyggNjA4MCAp
IDw8ICJwYXJzaW5nIHNoZWV0LCBsZW49IiA8PCBzdHJpbmcubGVuZ3RoKCkgPDwgIiwgc2hlZXQg
aXMgIiA8PCBzdHJpbmcucXN0cmluZygpIDw8IGVuZGw7Ci0jZW5kaWYKLQogICAgIHN0cmljdFBh
cnNpbmcgPSBzdHJpY3Q7CiAgICAgQ1NTUGFyc2VyIHAoIHN0cmljdCApOwogICAgIHAucGFyc2VT
aGVldCggdGhpcywgc3RyaW5nICk7CkBAIC0yNTIsMTQgKzI0OCw4IEBAIGJvb2wgQ1NTU3R5bGVT
aGVldEltcGw6OmlzTG9hZGluZygpCiAgICAgICAgIGlmIChydWxlLT5pc0ltcG9ydFJ1bGUoKSkK
ICAgICAgICAgewogICAgICAgICAgICAgQ1NTSW1wb3J0UnVsZUltcGwgKmltcG9ydCA9IHN0YXRp
Y19jYXN0PENTU0ltcG9ydFJ1bGVJbXBsICo+KHJ1bGUpOwotI2lmZGVmIENTU19TVFlMRVNIRUVU
X0RFQlVHCi0gICAgICAgICAgICBrZERlYnVnKCA2MDgwICkgPDwgImZvdW5kIGltcG9ydCIgPDwg
ZW5kbDsKLSNlbmRpZgogICAgICAgICAgICAgaWYgKGltcG9ydC0+aXNMb2FkaW5nKCkpCiAgICAg
ICAgICAgICB7Ci0jaWZkZWYgQ1NTX1NUWUxFU0hFRVRfREVCVUcKLSAgICAgICAgICAgICAgICBr
ZERlYnVnKCA2MDgwICkgPDwgIi0tPiBub3QgbG9hZGVkIiA8PCBlbmRsOwotI2VuZGlmCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
</data>
<flag name="review"
          id="954"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4950</attachid>
            <date>2005-12-04 21:45:19 -0800</date>
            <delta_ts>2005-12-05 06:41:58 -0800</delta_ts>
            <desc>SPEED_DEBUG removal patch</desc>
            <filename>SPEED_DEBUG.patch</filename>
            <type>text/plain</type>
            <size>2761</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2todG1sX3BhcnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9v
dC9XZWJDb3JlL2todG1sL2todG1sX3BhcnQuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM2
MwpkaWZmIC1wIC11IC1yMS4zNjMga2h0bWwva2h0bWxfcGFydC5jcHAKLS0tIGtodG1sL2todG1s
X3BhcnQuY3BwCTQgRGVjIDIwMDUgMTE6MzU6MDIgLTAwMDAJMS4zNjMKKysrIGtodG1sL2todG1s
X3BhcnQuY3BwCTQgRGVjIDIwMDUgMjI6NTI6NDYgLTAwMDAKQEAgLTgxNSw5ICs4MTUsNiBAQCB2
b2lkIEtIVE1MUGFydDo6Y2xlYXIoKQogCiAgIGlmICggIWQtPm1faGF2ZUVuY29kaW5nICkKICAg
ICBkLT5tX2VuY29kaW5nID0gUVN0cmluZzo6bnVsbDsKLSNpZmRlZiBTUEVFRF9ERUJVRwotICBk
LT5tX3BhcnNldGltZS5yZXN0YXJ0KCk7Ci0jZW5kaWYKIH0KIAogYm9vbCBLSFRNTFBhcnQ6Om9w
ZW5GaWxlKCkKQEAgLTEyNTYsMTEgKzEyNTMsNiBAQCB2b2lkIEtIVE1MUGFydDo6Y2hlY2tDb21w
bGV0ZWQoKQogICAgIGVsc2UKICAgICAgIGVtaXQgY29tcGxldGVkKCk7CiAgIH0KLQotCi0jaWZk
ZWYgU1BFRURfREVCVUcKLSAga2REZWJ1Zyg2MDUwKSA8PCAiRE9ORTogIiA8PGQtPm1fcGFyc2V0
aW1lLmVsYXBzZWQoKSA8PCBlbmRsOwotI2VuZGlmCiB9CiAKIHZvaWQgS0hUTUxQYXJ0OjpjaGVj
a0VtaXRMb2FkRXZlbnQoKQpJbmRleDoga2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9jYW52YXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3JlbmRlcmluZy9y
ZW5kZXJfY2FudmFzLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4zNwpkaWZmIC1wIC11IC1y
MS4zNyBraHRtbC9yZW5kZXJpbmcvcmVuZGVyX2NhbnZhcy5jcHAKLS0tIGtodG1sL3JlbmRlcmlu
Zy9yZW5kZXJfY2FudmFzLmNwcAkyNyBOb3YgMjAwNSAxMTowMjoxOCAtMDAwMAkxLjM3CisrKyBr
aHRtbC9yZW5kZXJpbmcvcmVuZGVyX2NhbnZhcy5jcHAJNCBEZWMgMjAwNSAyMjo1Mzo1MyAtMDAw
MApAQCAtMTQwLDIxICsxNDAsOSBAQCB2b2lkIFJlbmRlckNhbnZhczo6bGF5b3V0KCkKICAgICBm
b3IgKFJlbmRlck9iamVjdCAqYyA9IGZpcnN0Q2hpbGQoKTsgYzsgYyA9IGMtPm5leHRTaWJsaW5n
KCkpCiAgICAgICAgIGMtPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSk7CiAKLSNpZmRlZiBTUEVF
RF9ERUJVRwotICAgIFFUaW1lIHF0OwotICAgIHF0LnN0YXJ0KCk7Ci0jZW5kaWYKICAgICBpZiAo
IHJlY2FsY01pbk1heCgpICkKIAlyZWNhbGNNaW5NYXhXaWR0aHMoKTsKLSNpZmRlZiBTUEVFRF9E
RUJVRwotICAgIGtkRGVidWcoKSA8PCAiUmVuZGVyQ2FudmFzOjpjYWxjTWluTWF4IHRpbWUgdXNl
ZD0iIDw8IHF0LmVsYXBzZWQoKSA8PCBlbmRsOwotICAgIHF0LnN0YXJ0KCk7Ci0jZW5kaWYKIAot
I2lmZGVmIFNQRUVEX0RFQlVHCi0gICAga2REZWJ1ZygpIDw8ICJSZW5kZXJDYW52YXM6OmxheW91
dCB0aW1lIHVzZWQ9IiA8PCBxdC5lbGFwc2VkKCkgPDwgZW5kbDsKLSAgICBxdC5zdGFydCgpOwot
I2VuZGlmCiAgICAgaWYgKCFtX3ByaW50aW5nTW9kZSkgewogICAgICAgICBtX3ZpZXdwb3J0V2lk
dGggPSBtX3dpZHRoID0gbV92aWV3LT52aXNpYmxlV2lkdGgoKTsKICAgICAgICAgbV92aWV3cG9y
dEhlaWdodCA9IG1faGVpZ2h0ID0gbV92aWV3LT52aXNpYmxlSGVpZ2h0KCk7CkBAIC0xNzcsMTAg
KzE2NSw2IEBAIHZvaWQgUmVuZGVyQ2FudmFzOjpsYXlvdXQoKQogICAgIC8vICMjIyB3ZSBjb3Vs
ZCBtYXliZSBkbyB0aGUgY2FsbCBiZWxvdyBiZXR0ZXIgYW5kIG9ubHkgcGFzcyB0cnVlIGlmIHRo
ZSBkb2NzaXplIGNoYW5nZWQuCiAgICAgbGF5b3V0UG9zaXRpb25lZE9iamVjdHMoIHRydWUgKTsK
IAotI2lmZGVmIFNQRUVEX0RFQlVHCi0gICAga2REZWJ1ZygpIDw8ICJSZW5kZXJDYW52YXM6OmVu
ZCB0aW1lIHVzZWQ9IiA8PCBxdC5lbGFwc2VkKCkgPDwgZW5kbDsKLSNlbmRpZgotCiAgICAgbGF5
ZXIoKS0+c2V0SGVpZ2h0KGtNYXgoZG9jaCwgbV9oZWlnaHQpKTsKICAgICBsYXllcigpLT5zZXRX
aWR0aChrTWF4KGRvY3csIG1fd2lkdGgpKTsKICAgICAKSW5kZXg6IGtodG1sL3htbC9kb21fZWxl
bWVudGltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1s
L3htbC9kb21fZWxlbWVudGltcGwuY3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjk3CmRpZmYg
LXAgLXUgLXIxLjk3IGtodG1sL3htbC9kb21fZWxlbWVudGltcGwuY3BwCi0tLSBraHRtbC94bWwv
ZG9tX2VsZW1lbnRpbXBsLmNwcAkyIERlYyAyMDA1IDAzOjQ4OjEwIC0wMDAwCTEuOTcKKysrIGto
dG1sL3htbC9kb21fZWxlbWVudGltcGwuY3BwCTQgRGVjIDIwMDUgMjI6NTQ6MjEgLTAwMDAKQEAg
LTUzMyw3ICs1MzMsNyBAQCBib29sIEVsZW1lbnRJbXBsOjpyZW5kZXJlcklzTmVlZGVkKGtodG1s
CiAKIHZvaWQgRWxlbWVudEltcGw6OmF0dGFjaCgpCiB7Ci0jaWYgU1BFRURfREVCVUcgPCAxCisj
aWYgMCA8IDEKICAgICBjcmVhdGVSZW5kZXJlcklmTmVlZGVkKCk7CiAjZW5kaWYKICAgICBDb250
YWluZXJOb2RlSW1wbDo6YXR0YWNoKCk7Cg==
</data>
<flag name="review"
          id="958"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>