<?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>82242</bug_id>
          
          <creation_ts>2012-03-26 13:51:09 -0700</creation_ts>
          <short_desc>Remove Document::mappedElementSheet()</short_desc>
          <delta_ts>2012-04-11 20:55:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>82339</dependson>
          <blocked>77745</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>kling</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>588096</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-03-26 13:51:09 -0700</bug_when>
    <thetext>Only thing this is used for anymore is SVGFontFaceElement. That can be handled without confusing extra stylesheets.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588113</commentid>
    <comment_count>1</comment_count>
      <attachid>133889</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-03-26 14:05:51 -0700</bug_when>
    <thetext>Created attachment 133889
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588195</commentid>
    <comment_count>2</comment_count>
      <attachid>133889</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-26 15:31:21 -0700</bug_when>
    <thetext>Comment on attachment 133889
patch

Attachment 133889 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12141126</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588219</commentid>
    <comment_count>3</comment_count>
      <attachid>133889</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-26 15:46:43 -0700</bug_when>
    <thetext>Comment on attachment 133889
patch

Attachment 133889 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12076033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588237</commentid>
    <comment_count>4</comment_count>
      <attachid>133889</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-03-26 15:55:35 -0700</bug_when>
    <thetext>Comment on attachment 133889
patch

TD;DR but it looks pretty good. Fix the build and slap me for an r+ tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588697</commentid>
    <comment_count>5</comment_count>
      <attachid>134010</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-03-27 02:51:19 -0700</bug_when>
    <thetext>Created attachment 134010
Try to fix qt build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588703</commentid>
    <comment_count>6</comment_count>
      <attachid>134010</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-27 03:03:45 -0700</bug_when>
    <thetext>Comment on attachment 134010
Try to fix qt build 

Attachment 134010 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12147392</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588705</commentid>
    <comment_count>7</comment_count>
      <attachid>134010</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-27 03:06:22 -0700</bug_when>
    <thetext>Comment on attachment 134010
Try to fix qt build 

Attachment 134010 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12142409</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588706</commentid>
    <comment_count>8</comment_count>
      <attachid>134010</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-27 03:06:57 -0700</bug_when>
    <thetext>Comment on attachment 134010
Try to fix qt build 

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

&gt; Source/WebCore/dom/Document.h:638
&gt; +    HashSet&lt;SVGFontFaceElement*&gt;&amp; svgFontFaceElements();

As discussed on IRC, this needs ENABLE(SVG) guards, and should be moved right into SVGDocumentExtensions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588734</commentid>
    <comment_count>9</comment_count>
      <attachid>134017</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-03-27 04:02:26 -0700</bug_when>
    <thetext>Created attachment 134017
moved the map to SVGDocumentExtensions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588739</commentid>
    <comment_count>10</comment_count>
      <attachid>134017</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-27 04:14:39 -0700</bug_when>
    <thetext>Comment on attachment 134017
moved the map to SVGDocumentExtensions

Attachment 134017 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/12147423</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588743</commentid>
    <comment_count>11</comment_count>
      <attachid>134017</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-27 04:18:22 -0700</bug_when>
    <thetext>Comment on attachment 134017
moved the map to SVGDocumentExtensions

Attachment 134017 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/12142434</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588749</commentid>
    <comment_count>12</comment_count>
      <attachid>134021</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-03-27 04:29:31 -0700</bug_when>
    <thetext>Created attachment 134021
test SVG_FONTS instead of SVG</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588753</commentid>
    <comment_count>13</comment_count>
      <attachid>134021</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-03-27 04:35:40 -0700</bug_when>
    <thetext>Comment on attachment 134021
test SVG_FONTS instead of SVG

Me gusta.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588758</commentid>
    <comment_count>14</comment_count>
      <attachid>134021</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-27 04:41:30 -0700</bug_when>
    <thetext>Comment on attachment 134021
test SVG_FONTS instead of SVG

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

r=me with comments:

&gt; Source/WebCore/svg/SVGDocumentExtensions.cpp:421
&gt; +void SVGDocumentExtensions::registerSVGFontFaceElement(SVGFontFaceElement* element)

How about checking in the SVGDocExt dtor that this set is empty? I&apos;m not sure we do it for the others, but we should do so to catch missing unregister() calls.
I hope removedFromDocument is guaranteed to be called :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588805</commentid>
    <comment_count>15</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-03-27 05:41:10 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/112258</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588865</commentid>
    <comment_count>16</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-03-27 07:30:01 -0700</bug_when>
    <thetext>Reopen, because it broke debug builds on Qt:
../../../../Source/WebCore/svg/SVGDocumentExtensions.cpp: In destructor ‘WebCore::SVGDocumentExtensions::~SVGDocumentExtensions()’:
../../../../Source/WebCore/svg/SVGDocumentExtensions.cpp:53: error: ‘m_svgFontFaceElements’ was not declared in this scope

Additionally it made almost all tests assert:
STDERR: ASSERTION FAILED: m_svgFontFaceElements.isEmpty()
STDERR: ../../Source/WebCore/svg/SVGDocumentExtensions.cpp(53) : WebCore::SVGDocumentExtensions::~SVGDocumentExtensions()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588901</commentid>
    <comment_count>17</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-03-27 08:03:16 -0700</bug_when>
    <thetext>Removed the assert in ~SVGDocumentExtensions in http://trac.webkit.org/changeset/112269. It seems insertedInto/removedFromDocument don&apos;t always pair.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133889</attachid>
            <date>2012-03-26 14:05:51 -0700</date>
            <delta_ts>2012-03-27 02:51:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>remove-mapped-element-sheet.patch</filename>
            <type>text/plain</type>
            <size>12156</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMjE0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTAzLTI2ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgRG9jdW1lbnQ6Om1h
cHBlZEVsZW1lbnRTaGVldCgpIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODIyNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgb25seSB0aGluZyB0aGlzIGlzIHVzZWQgZm9yIGFueW1vcmUgaXMgU1ZH
Rm9udEZhY2VFbGVtZW50LiBUaGF0IGNhbiBiZSBoYW5kbGVkIHdpdGhvdXQKKyAgICAgICAgdGhl
IGNvbmZ1c2luZyBleHRyYSBzdHlsZXNoZWV0LgorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVT
ZWxlY3Rvcik6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAgKENT
U1N0eWxlU2VsZWN0b3IpOgorCisgICAgICAgICAgICAtIEFkZCBmb250IGZhY2UgcnVsZXMgZnJv
bSByZWdpc3RlcmVkIFNWR0ZvbnRGYWNlRWxlbWVudHMuCisgICAgICAgICAgICAtIFNpbXBsaWZ5
IHRoZSBjb25zdHJ1Y3RvciBzaWduYXR1cmUuIFN0eWxlc2hlZXRzIGFyZSBwYXJ0IG9mIHRoZSBk
b2N1bWVudC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVh
dGVTdHlsZVNlbGVjdG9yKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnVwZGF0ZUJhc2VVUkwpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZG9jdW1lbnRVc2Vy
U2hlZXRzKToKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpzdmdGb250RmFjZUVsZW1lbnRzKToKKyAgICAgICAgCisgICAgICAgICAgICAtIFJlbW92ZSBt
YXBwZWRFbGVtZW50U2hlZXQsIGFkZCBzdmdGb250RmFjZUVsZW1lbnRzIG1hcC4KKyAgICAgICAg
ICAgIC0gQWRhcHQgdG8gdGhlIENTU1N0eWxlU2VsZWN0b3IgY29uc3RydWN0b3Igc2lnbmF0dXJl
IGNoYW5nZXMuCisgICAgICAgIAorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9udEZhY2VFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdGb250RmFjZUVsZW1lbnQ6OnJlbW92ZWRGcm9t
RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNl
RWxlbWVudC5oOgorICAgICAgICAoU1ZHRm9udEZhY2VFbGVtZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0ZvbnRGYWNlRWxlbWVudDo6Zm9udEZhY2VSdWxlKToKKyAgICAgICAgCisgICAgICAg
ICAgIC0gU3dpdGNoIHRvIHVwZGF0aW5nIHN2Z0ZvbnRGYWNlRWxlbWVudHMgbWFwLgorICAgICAg
ICAgICAtIFVzZSBlbGVtZW50U2hlZXQgYXMgdGhlIHBhcmVudCBzaGVldCAobm90aGluZyBpcyBl
dmVyIGFkZGVkIHRvIHRoZSBlbGVtZW50U2hlZXQsIGl0IGlzIHVzZWQgZm9yCisgICAgICAgICAg
ICAgcmVzb2x2aW5nIHJlbGF0aXZlIFVSTHMgb25seSkuCisKIDIwMTItMDMtMjYgIE5hdGUgQ2hh
cGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBTaW1wbGlmeSBzZXR0aW5nIGxv
YWRpbmcgc3RhdGUgaW4gRG9jdW1lbnRMb2FkZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAJKHJldmlzaW9uIDExMjA3NikKKysrIFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEsNyBAQAog
I2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUm90YXRlVHJhbnNmb3JtT3BlcmF0
aW9uLmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNW
R0ZvbnRGYWNlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLmgi
CiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAt
MzIxLDEzICszMjIsMTEgQEAgc3RhdGljIFN0eWxlUHJvcGVydHlTZXQqIHJpZ2h0VG9MZWZ0RGVj
bAogICAgIHJldHVybiByaWdodFRvTGVmdERlY2wuZ2V0KCk7CiB9CiAKLUNTU1N0eWxlU2VsZWN0
b3I6OkNTU1N0eWxlU2VsZWN0b3IoRG9jdW1lbnQqIGRvY3VtZW50LCBTdHlsZVNoZWV0TGlzdCog
c3R5bGVTaGVldHMsIENTU1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRTaGVldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVTaGVldCogcGFnZVVzZXJTaGVldCwg
Y29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KiBwYWdlR3JvdXBVc2VyU2hlZXRz
LCBjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4qIGRvY3VtZW50VXNlclNoZWV0
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBzdHJpY3RQYXJzaW5n
LCBib29sIG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcykKK0NTU1N0eWxlU2VsZWN0b3I6OkNTU1N0
eWxlU2VsZWN0b3IoRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIG1hdGNoQXV0aG9yQW5kVXNlclN0
eWxlcykKICAgICA6IG1faGFzVUFBcHBlYXJhbmNlKGZhbHNlKQogICAgICwgbV9iYWNrZ3JvdW5k
RGF0YShCYWNrZ3JvdW5kRmlsbExheWVyKQogICAgICwgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hl
QWRkaXRpb25zU2luY2VMYXN0U3dlZXAoMCkKLSAgICAsIG1fY2hlY2tlcihkb2N1bWVudCwgc3Ry
aWN0UGFyc2luZykKKyAgICAsIG1fY2hlY2tlcihkb2N1bWVudCwgIWRvY3VtZW50LT5pblF1aXJr
c01vZGUoKSkKICAgICAsIG1fcGFyZW50U3R5bGUoMCkKICAgICAsIG1fcm9vdEVsZW1lbnRTdHls
ZSgwKQogICAgICwgbV9lbGVtZW50KDApCkBAIC0zODYsOSArMzg1LDkgQEAgQ1NTU3R5bGVTZWxl
Y3Rvcjo6Q1NTU3R5bGVTZWxlY3RvcihEb2N1bQogCiAgICAgLy8gRklYTUU6IFRoaXMgc3Vja3Mh
IFRoZSB1c2VyIHNoZWV0IGlzIHJlcGFyc2VkIGV2ZXJ5IHRpbWUhCiAgICAgT3duUHRyPFJ1bGVT
ZXQ+IHRlbXBVc2VyU3R5bGUgPSBhZG9wdFB0cihuZXcgUnVsZVNldCk7Ci0gICAgaWYgKHBhZ2VV
c2VyU2hlZXQpCisgICAgaWYgKENTU1N0eWxlU2hlZXQqIHBhZ2VVc2VyU2hlZXQgPSBkb2N1bWVu
dC0+cGFnZVVzZXJTaGVldCgpKQogICAgICAgICB0ZW1wVXNlclN0eWxlLT5hZGRSdWxlc0Zyb21T
aGVldChwYWdlVXNlclNoZWV0LCAqbV9tZWRpdW0sIHRoaXMpOwotICAgIGlmIChwYWdlR3JvdXBV
c2VyU2hlZXRzKSB7CisgICAgaWYgKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4g
PiogcGFnZUdyb3VwVXNlclNoZWV0cyA9IGRvY3VtZW50LT5wYWdlR3JvdXBVc2VyU2hlZXRzKCkp
IHsKICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gcGFnZUdyb3VwVXNlclNoZWV0cy0+c2l6ZSgp
OwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAg
ICAgICAgIGlmIChwYWdlR3JvdXBVc2VyU2hlZXRzLT5hdChpKS0+aXNVc2VyU3R5bGVTaGVldCgp
KQpAQCAtMzk3LDcgKzM5Niw3IEBAIENTU1N0eWxlU2VsZWN0b3I6OkNTU1N0eWxlU2VsZWN0b3Io
RG9jdW0KICAgICAgICAgICAgICAgICBtX2F1dGhvclN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChw
YWdlR3JvdXBVc2VyU2hlZXRzLT5hdChpKS5nZXQoKSwgKm1fbWVkaXVtLCB0aGlzKTsKICAgICAg
ICAgfQogICAgIH0KLSAgICBpZiAoZG9jdW1lbnRVc2VyU2hlZXRzKSB7CisgICAgaWYgKGNvbnN0
IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogZG9jdW1lbnRVc2VyU2hlZXRzID0gZG9j
dW1lbnQtPmRvY3VtZW50VXNlclNoZWV0cygpKSB7CiAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9
IGRvY3VtZW50VXNlclNoZWV0cy0+c2l6ZSgpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgIGlmIChkb2N1bWVudFVzZXJTaGVldHMt
PmF0KGkpLT5pc1VzZXJTdHlsZVNoZWV0KCkpCkBAIC00MTAsMTQgKzQwOSwxMSBAQCBDU1NTdHls
ZVNlbGVjdG9yOjpDU1NTdHlsZVNlbGVjdG9yKERvY3VtCiAgICAgaWYgKHRlbXBVc2VyU3R5bGUt
Pm1fcnVsZUNvdW50ID4gMCB8fCB0ZW1wVXNlclN0eWxlLT5tX3BhZ2VSdWxlcy5zaXplKCkgPiAw
KQogICAgICAgICBtX3VzZXJTdHlsZSA9IHRlbXBVc2VyU3R5bGUucmVsZWFzZSgpOwogCi0gICAg
Ly8gQWRkIHJ1bGVzIGZyb20gZWxlbWVudHMgbGlrZSBTVkcncyA8Zm9udC1mYWNlPgotICAgIGlm
IChtYXBwZWRFbGVtZW50U2hlZXQpIHsKLSAgICAgICAgLy8gRklYTUU6IHNlZSBpZiBzdHlsZSBz
Y29wZXMgY2FuL3Nob3VsZCBiZSBhZGRlZCBoZXJlLgotICAgICAgICBtX2F1dGhvclN0eWxlLT5h
ZGRSdWxlc0Zyb21TaGVldChtYXBwZWRFbGVtZW50U2hlZXQsICptX21lZGl1bSwgdGhpcyk7Ci0g
ICAgfQorICAgIEhhc2hTZXQ8U1ZHRm9udEZhY2VFbGVtZW50Kj46Oml0ZXJhdG9yIGVuZCA9IGRv
Y3VtZW50LT5zdmdGb250RmFjZUVsZW1lbnRzKCkuZW5kKCk7CisgICAgZm9yIChIYXNoU2V0PFNW
R0ZvbnRGYWNlRWxlbWVudCo+OjppdGVyYXRvciBpdCA9IGRvY3VtZW50LT5zdmdGb250RmFjZUVs
ZW1lbnRzKCkuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICBmb250U2VsZWN0b3Io
KS0+YWRkRm9udEZhY2VSdWxlKCgqaXQpLT5mb250RmFjZVJ1bGUoKSk7CiAKLSAgICAvLyBhZGQg
c3R5bGVzaGVldHMgZnJvbSBkb2N1bWVudAotICAgIGFwcGVuZEF1dGhvclN0eWxlc2hlZXRzKDAs
IHN0eWxlU2hlZXRzLT52ZWN0b3IoKSk7CisgICAgYXBwZW5kQXV0aG9yU3R5bGVzaGVldHMoMCwg
ZG9jdW1lbnQtPnN0eWxlU2hlZXRzKCktPnZlY3RvcigpKTsKIH0KICAgICAKIHN0YXRpYyBQYXNz
T3duUHRyPFJ1bGVTZXQ+IG1ha2VSdWxlU2V0KGNvbnN0IFZlY3RvcjxDU1NTdHlsZVNlbGVjdG9y
OjpSdWxlU2VsZWN0b3JQYWlyPiYgcnVsZXMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmgJKHJldmlzaW9uIDExMjAzNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw5ICsxMDQsNyBAQCBwdWJsaWM6
CiBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NT
dHlsZVNlbGVjdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgQ1NT
U3R5bGVTZWxlY3RvcihEb2N1bWVudCosIFN0eWxlU2hlZXRMaXN0KiBhdXRob3JTaGVldHMsIENT
U1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRTaGVldCwKLSAgICAgICAgICAgICAgICAgICAgIENT
U1N0eWxlU2hlZXQqIHBhZ2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVT
aGVldD4gPiogcGFnZUdyb3VwVXNlclNoZWV0cywgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHls
ZVNoZWV0PiA+KiBkb2N1bWVudFVzZXJTaGVldHMsCi0gICAgICAgICAgICAgICAgICAgICBib29s
IHN0cmljdFBhcnNpbmcsIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKTsKKyAgICBDU1NT
dHlsZVNlbGVjdG9yKERvY3VtZW50KiwgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpOwog
ICAgIH5DU1NTdHlsZVNlbGVjdG9yKCk7CiAKICAgICAvLyBVc2luZyB0aGVzZSBkdXJpbmcgdHJl
ZSB3YWxrIHdpbGwgYWxsb3cgc3R5bGUgc2VsZWN0b3IgdG8gb3B0aW1pemUgY2hpbGQgYW5kIGRl
c2NlbmRhbnQgc2VsZWN0b3IgbG9va3Vwcy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAko
cmV2aXNpb24gMTEyMDM3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTU2LDggKzU1Niw2IEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogCiAg
ICAgaWYgKG1fZWxlbVNoZWV0KQogICAgICAgICBtX2VsZW1TaGVldC0+Y2xlYXJPd25lck5vZGUo
KTsKLSAgICBpZiAobV9tYXBwZWRFbGVtZW50U2hlZXQpCi0gICAgICAgIG1fbWFwcGVkRWxlbWVu
dFNoZWV0LT5jbGVhck93bmVyTm9kZSgpOwogICAgIGlmIChtX3BhZ2VVc2VyU2hlZXQpCiAgICAg
ICAgIG1fcGFnZVVzZXJTaGVldC0+Y2xlYXJPd25lck5vZGUoKTsKICAgICBpZiAobV9wYWdlR3Jv
dXBVc2VyU2hlZXRzKSB7CkBAIC0xODU2LDExICsxODU0LDEwIEBAIHZvaWQgRG9jdW1lbnQ6OmNy
ZWF0ZVN0eWxlU2VsZWN0b3IoKQogICAgIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzID0g
dHJ1ZTsKICAgICBpZiAoU2V0dGluZ3MqIGRvY1NldHRpbmdzID0gc2V0dGluZ3MoKSkKICAgICAg
ICAgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzID0gZG9jU2V0dGluZ3MtPmF1dGhvckFuZFVzZXJT
dHlsZXNFbmFibGVkKCk7Ci0gICAgbV9zdHlsZVNlbGVjdG9yID0gYWRvcHRQdHIobmV3IENTU1N0
eWxlU2VsZWN0b3IodGhpcywgbV9zdHlsZVNoZWV0cy5nZXQoKSwgbV9tYXBwZWRFbGVtZW50U2hl
ZXQuZ2V0KCksIHBhZ2VVc2VyU2hlZXQoKSwgcGFnZUdyb3VwVXNlclNoZWV0cygpLCBtX3VzZXJT
aGVldHMuZ2V0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIWluUXVpcmtzTW9kZSgpLCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpKTsKKyAg
ICBtX3N0eWxlU2VsZWN0b3IgPSBhZG9wdFB0cihuZXcgQ1NTU3R5bGVTZWxlY3Rvcih0aGlzLCBt
YXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpKTsKICAgICBjb21iaW5lQ1NTRmVhdHVyZUZsYWdzKCk7
CiB9Ci0gICAgCisKIGlubGluZSB2b2lkIERvY3VtZW50OjpjbGVhclN0eWxlU2VsZWN0b3IoKQog
ewogICAgIG1fc3R5bGVTZWxlY3Rvci5jbGVhcigpOwpAQCAtMjUyMyw4ICsyNTIwLDYgQEAgdm9p
ZCBEb2N1bWVudDo6dXBkYXRlQmFzZVVSTCgpCiAKICAgICBpZiAobV9lbGVtU2hlZXQpCiAgICAg
ICAgIG1fZWxlbVNoZWV0LT5zZXRGaW5hbFVSTChtX2Jhc2VVUkwpOwotICAgIGlmIChtX21hcHBl
ZEVsZW1lbnRTaGVldCkKLSAgICAgICAgbV9tYXBwZWRFbGVtZW50U2hlZXQtPnNldEZpbmFsVVJM
KG1fYmFzZVVSTCk7CiAgICAgCiAgICAgaWYgKCFlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlm
aWVyKG9sZEJhc2VVUkwsIG1fYmFzZVVSTCkpIHsKICAgICAgICAgLy8gQmFzZSBVUkwgY2hhbmdl
IGNoYW5nZXMgYW55IHJlbGF0aXZlIHZpc2l0ZWQgbGlua3MuCkBAIC0yNjkzLDEzICsyNjg4LDYg
QEAgQ1NTU3R5bGVTaGVldCogRG9jdW1lbnQ6OmVsZW1lbnRTaGVldCgpCiAgICAgcmV0dXJuIG1f
ZWxlbVNoZWV0LmdldCgpOwogfQogCi1DU1NTdHlsZVNoZWV0KiBEb2N1bWVudDo6bWFwcGVkRWxl
bWVudFNoZWV0KCkKLXsKLSAgICBpZiAoIW1fbWFwcGVkRWxlbWVudFNoZWV0KQotICAgICAgICBt
X21hcHBlZEVsZW1lbnRTaGVldCA9IENTU1N0eWxlU2hlZXQ6OmNyZWF0ZUlubGluZSh0aGlzLCBt
X2Jhc2VVUkwpOwotICAgIHJldHVybiBtX21hcHBlZEVsZW1lbnRTaGVldC5nZXQoKTsKLX0KLQog
aW50IERvY3VtZW50Ojpub2RlQWJzSW5kZXgoTm9kZSAqbm9kZSkKIHsKICAgICBBU1NFUlQobm9k
ZS0+ZG9jdW1lbnQoKSA9PSB0aGlzKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lv
biAxMTIwMzcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMTI5LDYgKzEyOSw3IEBAIGNsYXNzIFNlZ21lbnRlZFN0cmluZzsKIGNsYXNzIFNldHRp
bmdzOwogY2xhc3MgU3R5bGVTaGVldDsKIGNsYXNzIFN0eWxlU2hlZXRMaXN0OworY2xhc3MgU1ZH
Rm9udEZhY2VFbGVtZW50OwogY2xhc3MgVGV4dDsKIGNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7
CiBjbGFzcyBEb2N1bWVudFBhcnNlcjsKQEAgLTYyOSwxMCArNjMwLDEyIEBAIHB1YmxpYzoKICAg
ICB2b2lkIGNsZWFyUGFnZUdyb3VwVXNlclNoZWV0cygpOwogICAgIHZvaWQgdXBkYXRlUGFnZUdy
b3VwVXNlclNoZWV0cygpOwogCisgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0
PiA+KiBkb2N1bWVudFVzZXJTaGVldHMoKSBjb25zdCB7IHJldHVybiBtX3VzZXJTaGVldHMuZ2V0
KCk7IH0KICAgICB2b2lkIGFkZFVzZXJTaGVldChQYXNzUmVmUHRyPENTU1N0eWxlU2hlZXQ+IHVz
ZXJTaGVldCk7CiAKICAgICBDU1NTdHlsZVNoZWV0KiBlbGVtZW50U2hlZXQoKTsKLSAgICBDU1NT
dHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hlZXQoKTsKKworICAgIEhhc2hTZXQ8U1ZHRm9udEZh
Y2VFbGVtZW50Kj4mIHN2Z0ZvbnRGYWNlRWxlbWVudHMoKSB7IHJldHVybiBtX3N2Z0ZvbnRGYWNl
RWxlbWVudHM7IH0KICAgICAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RG9jdW1lbnRQYXJzZXI+
IGNyZWF0ZVBhcnNlcigpOwogICAgIERvY3VtZW50UGFyc2VyKiBwYXJzZXIoKSBjb25zdCB7IHJl
dHVybiBtX3BhcnNlci5nZXQoKTsgfQpAQCAtMTI1NSw3ICsxMjU4LDYgQEAgcHJpdmF0ZToKICAg
ICBib29sIG1faGFzTm9kZXNXaXRoUGxhY2Vob2xkZXJTdHlsZTsKIAogICAgIFJlZlB0cjxDU1NT
dHlsZVNoZWV0PiBtX2VsZW1TaGVldDsKLSAgICBSZWZQdHI8Q1NTU3R5bGVTaGVldD4gbV9tYXBw
ZWRFbGVtZW50U2hlZXQ7CiAgICAgUmVmUHRyPENTU1N0eWxlU2hlZXQ+IG1fcGFnZVVzZXJTaGVl
dDsKICAgICBtdXRhYmxlIE93blB0cjxWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4gPiBt
X3BhZ2VHcm91cFVzZXJTaGVldHM7CiAgICAgT3duUHRyPFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVT
aGVldD4gPiA+IG1fdXNlclNoZWV0czsKQEAgLTE0MDQsNiArMTQwNiw3IEBAIHByaXZhdGU6CiAj
ZW5kaWYKIAogICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8SFRNTENhbnZhc0VsZW1lbnQ+ID4g
bV9jc3NDYW52YXNFbGVtZW50czsKKyAgICBIYXNoU2V0PFNWR0ZvbnRGYWNlRWxlbWVudCo+IG1f
c3ZnRm9udEZhY2VFbGVtZW50czsKIAogICAgIGJvb2wgbV9jcmVhdGVSZW5kZXJlcnM7CiAgICAg
Ym9vbCBtX2luUGFnZUNhY2hlOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNl
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNl
RWxlbWVudC5jcHAJKHJldmlzaW9uIDExMjAzNykKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250RmFjZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTgsMTYgKzMxOCwyMSBAQCB2
b2lkIFNWR0ZvbnRGYWNlRWxlbWVudDo6cmVidWlsZEZvbnRGYWNlCiB2b2lkIFNWR0ZvbnRGYWNl
RWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKQogewogICAgIFNWR0VsZW1lbnQ6Omluc2Vy
dGVkSW50b0RvY3VtZW50KCk7Ci0gICAgZG9jdW1lbnQoKS0+bWFwcGVkRWxlbWVudFNoZWV0KCkt
PmFwcGVuZChtX2ZvbnRGYWNlUnVsZSk7Ci0gICAgbV9mb250RmFjZVJ1bGUtPnNldFBhcmVudFN0
eWxlU2hlZXQoZG9jdW1lbnQoKS0+bWFwcGVkRWxlbWVudFNoZWV0KCkpOworCisgICAgZG9jdW1l
bnQoKS0+c3ZnRm9udEZhY2VFbGVtZW50cygpLmFkZCh0aGlzKTsKKyAgICBtX2ZvbnRGYWNlUnVs
ZS0+c2V0UGFyZW50U3R5bGVTaGVldChkb2N1bWVudCgpLT5lbGVtZW50U2hlZXQoKSk7CisKICAg
ICByZWJ1aWxkRm9udEZhY2UoKTsKIH0KIAogdm9pZCBTVkdGb250RmFjZUVsZW1lbnQ6OnJlbW92
ZWRGcm9tRG9jdW1lbnQoKQogewotICAgIHJlbW92ZUZyb21NYXBwZWRFbGVtZW50U2hlZXQoKTsK
ICAgICBTVkdFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCk7CisKICAgICBtX2ZvbnRGYWNl
UnVsZS0+ZGVjbGFyYXRpb24oKS0+cGFyc2VEZWNsYXJhdGlvbihlbXB0eVN0cmluZygpLCAwKTsK
KyAgICBkb2N1bWVudCgpLT5zdmdGb250RmFjZUVsZW1lbnRzKCkucmVtb3ZlKHRoaXMpOworCisg
ICAgZG9jdW1lbnQoKS0+c3R5bGVTZWxlY3RvckNoYW5nZWQoRGVmZXJSZWNhbGNTdHlsZSk7CiB9
CiAKIHZvaWQgU1ZHRm9udEZhY2VFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2Vk
QnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGls
ZENvdW50RGVsdGEpCkBAIC0zMzYsMjEgKzM0MSw2IEBAIHZvaWQgU1ZHRm9udEZhY2VFbGVtZW50
OjpjaGlsZHJlbkNoYW5nZWQKICAgICByZWJ1aWxkRm9udEZhY2UoKTsKIH0KIAotdm9pZCBTVkdG
b250RmFjZUVsZW1lbnQ6OnJlbW92ZUZyb21NYXBwZWRFbGVtZW50U2hlZXQoKQotewotICAgIENT
U1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRTaGVldCA9IGRvY3VtZW50KCktPm1hcHBlZEVsZW1l
bnRTaGVldCgpOwotICAgIGlmICghbWFwcGVkRWxlbWVudFNoZWV0KQotICAgICAgICByZXR1cm47
Ci0KLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbWFwcGVkRWxlbWVudFNoZWV0LT5sZW5n
dGgoKTsgKytpKSB7Ci0gICAgICAgIGlmIChtYXBwZWRFbGVtZW50U2hlZXQtPml0ZW0oaSkgPT0g
bV9mb250RmFjZVJ1bGUpIHsKLSAgICAgICAgICAgIG1hcHBlZEVsZW1lbnRTaGVldC0+cmVtb3Zl
KGkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZG9jdW1lbnQo
KS0+c3R5bGVTZWxlY3RvckNoYW5nZWQoRGVmZXJSZWNhbGNTdHlsZSk7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTVkdfRk9OVFMpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCShyZXZpc2lvbiAxMTIwMzcpCisrKyBT
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ4LDcgKzQ4LDggQEAgcHVibGljOgogCiAgICAgU1ZHRm9udEVsZW1lbnQqIGFzc29jaWF0ZWRG
b250RWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgcmVidWlsZEZvbnRGYWNlKCk7Ci0gICAgdm9p
ZCByZW1vdmVGcm9tTWFwcGVkRWxlbWVudFNoZWV0KCk7CisgICAgCisgICAgQ1NTRm9udEZhY2VS
dWxlKiBmb250RmFjZVJ1bGUoKSBjb25zdCB7IHJldHVybiBtX2ZvbnRGYWNlUnVsZS5nZXQoKTsg
fQogCiBwcml2YXRlOgogICAgIFNWR0ZvbnRGYWNlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsK
</data>
<flag name="commit-queue"
          id="138024"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134010</attachid>
            <date>2012-03-27 02:51:19 -0700</date>
            <delta_ts>2012-03-27 04:02:26 -0700</delta_ts>
            <desc>Try to fix qt build </desc>
            <filename>remove-mapped-element-sheet-2.patch</filename>
            <type>text/plain</type>
            <size>12482</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMjE0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDEyLTAzLTI2ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgRG9jdW1lbnQ6Om1h
cHBlZEVsZW1lbnRTaGVldCgpIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODIyNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgb25seSB0aGluZyB0aGlzIGlzIHVzZWQgZm9yIGFueW1vcmUgaXMgU1ZH
Rm9udEZhY2VFbGVtZW50LiBUaGF0IGNhbiBiZSBoYW5kbGVkIHdpdGhvdXQKKyAgICAgICAgdGhl
IGNvbmZ1c2luZyBleHRyYSBzdHlsZXNoZWV0LgorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVT
ZWxlY3Rvcik6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAgKENT
U1N0eWxlU2VsZWN0b3IpOgorCisgICAgICAgICAgICAtIEFkZCBmb250IGZhY2UgcnVsZXMgZnJv
bSByZWdpc3RlcmVkIFNWR0ZvbnRGYWNlRWxlbWVudHMuCisgICAgICAgICAgICAtIFNpbXBsaWZ5
IHRoZSBjb25zdHJ1Y3RvciBzaWduYXR1cmUuIFN0eWxlc2hlZXRzIGFyZSBwYXJ0IG9mIHRoZSBk
b2N1bWVudC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVh
dGVTdHlsZVNlbGVjdG9yKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnQ6OnVwZGF0ZUJhc2VVUkwpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZG9jdW1lbnRVc2Vy
U2hlZXRzKToKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpzdmdGb250RmFjZUVsZW1lbnRzKToKKyAgICAgICAgCisgICAgICAgICAgICAtIFJlbW92ZSBt
YXBwZWRFbGVtZW50U2hlZXQsIGFkZCBzdmdGb250RmFjZUVsZW1lbnRzIG1hcC4KKyAgICAgICAg
ICAgIC0gQWRhcHQgdG8gdGhlIENTU1N0eWxlU2VsZWN0b3IgY29uc3RydWN0b3Igc2lnbmF0dXJl
IGNoYW5nZXMuCisgICAgICAgIAorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9udEZhY2VFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdGb250RmFjZUVsZW1lbnQ6OnJlbW92ZWRGcm9t
RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNl
RWxlbWVudC5oOgorICAgICAgICAoU1ZHRm9udEZhY2VFbGVtZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0ZvbnRGYWNlRWxlbWVudDo6Zm9udEZhY2VSdWxlKToKKyAgICAgICAgCisgICAgICAg
ICAgIC0gU3dpdGNoIHRvIHVwZGF0aW5nIHN2Z0ZvbnRGYWNlRWxlbWVudHMgbWFwLgorICAgICAg
ICAgICAtIFVzZSBlbGVtZW50U2hlZXQgYXMgdGhlIHBhcmVudCBzaGVldCAobm90aGluZyBpcyBl
dmVyIGFkZGVkIHRvIHRoZSBlbGVtZW50U2hlZXQsIGl0IGlzIHVzZWQgZm9yCisgICAgICAgICAg
ICAgcmVzb2x2aW5nIHJlbGF0aXZlIFVSTHMgb25seSkuCisKIDIwMTItMDMtMjYgIE5hdGUgQ2hh
cGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBTaW1wbGlmeSBzZXR0aW5nIGxv
YWRpbmcgc3RhdGUgaW4gRG9jdW1lbnRMb2FkZXIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5jcHAJKHJldmlzaW9uIDExMjA3NikKKysrIFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTEsNiArOTEsNyBAQAog
I2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUm90YXRlVHJhbnNmb3JtT3BlcmF0
aW9uLmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNW
R0ZvbnRGYWNlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNjYWxlVHJhbnNmb3JtT3BlcmF0aW9uLmgi
CiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAt
MzIxLDEzICszMjIsMTEgQEAgc3RhdGljIFN0eWxlUHJvcGVydHlTZXQqIHJpZ2h0VG9MZWZ0RGVj
bAogICAgIHJldHVybiByaWdodFRvTGVmdERlY2wuZ2V0KCk7CiB9CiAKLUNTU1N0eWxlU2VsZWN0
b3I6OkNTU1N0eWxlU2VsZWN0b3IoRG9jdW1lbnQqIGRvY3VtZW50LCBTdHlsZVNoZWV0TGlzdCog
c3R5bGVTaGVldHMsIENTU1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRTaGVldCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NTU3R5bGVTaGVldCogcGFnZVVzZXJTaGVldCwg
Y29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KiBwYWdlR3JvdXBVc2VyU2hlZXRz
LCBjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4qIGRvY3VtZW50VXNlclNoZWV0
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBzdHJpY3RQYXJzaW5n
LCBib29sIG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcykKK0NTU1N0eWxlU2VsZWN0b3I6OkNTU1N0
eWxlU2VsZWN0b3IoRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIG1hdGNoQXV0aG9yQW5kVXNlclN0
eWxlcykKICAgICA6IG1faGFzVUFBcHBlYXJhbmNlKGZhbHNlKQogICAgICwgbV9iYWNrZ3JvdW5k
RGF0YShCYWNrZ3JvdW5kRmlsbExheWVyKQogICAgICwgbV9tYXRjaGVkUHJvcGVydGllc0NhY2hl
QWRkaXRpb25zU2luY2VMYXN0U3dlZXAoMCkKLSAgICAsIG1fY2hlY2tlcihkb2N1bWVudCwgc3Ry
aWN0UGFyc2luZykKKyAgICAsIG1fY2hlY2tlcihkb2N1bWVudCwgIWRvY3VtZW50LT5pblF1aXJr
c01vZGUoKSkKICAgICAsIG1fcGFyZW50U3R5bGUoMCkKICAgICAsIG1fcm9vdEVsZW1lbnRTdHls
ZSgwKQogICAgICwgbV9lbGVtZW50KDApCkBAIC0zODYsOSArMzg1LDkgQEAgQ1NTU3R5bGVTZWxl
Y3Rvcjo6Q1NTU3R5bGVTZWxlY3RvcihEb2N1bQogCiAgICAgLy8gRklYTUU6IFRoaXMgc3Vja3Mh
IFRoZSB1c2VyIHNoZWV0IGlzIHJlcGFyc2VkIGV2ZXJ5IHRpbWUhCiAgICAgT3duUHRyPFJ1bGVT
ZXQ+IHRlbXBVc2VyU3R5bGUgPSBhZG9wdFB0cihuZXcgUnVsZVNldCk7Ci0gICAgaWYgKHBhZ2VV
c2VyU2hlZXQpCisgICAgaWYgKENTU1N0eWxlU2hlZXQqIHBhZ2VVc2VyU2hlZXQgPSBkb2N1bWVu
dC0+cGFnZVVzZXJTaGVldCgpKQogICAgICAgICB0ZW1wVXNlclN0eWxlLT5hZGRSdWxlc0Zyb21T
aGVldChwYWdlVXNlclNoZWV0LCAqbV9tZWRpdW0sIHRoaXMpOwotICAgIGlmIChwYWdlR3JvdXBV
c2VyU2hlZXRzKSB7CisgICAgaWYgKGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4g
PiogcGFnZUdyb3VwVXNlclNoZWV0cyA9IGRvY3VtZW50LT5wYWdlR3JvdXBVc2VyU2hlZXRzKCkp
IHsKICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gcGFnZUdyb3VwVXNlclNoZWV0cy0+c2l6ZSgp
OwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAg
ICAgICAgIGlmIChwYWdlR3JvdXBVc2VyU2hlZXRzLT5hdChpKS0+aXNVc2VyU3R5bGVTaGVldCgp
KQpAQCAtMzk3LDcgKzM5Niw3IEBAIENTU1N0eWxlU2VsZWN0b3I6OkNTU1N0eWxlU2VsZWN0b3Io
RG9jdW0KICAgICAgICAgICAgICAgICBtX2F1dGhvclN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChw
YWdlR3JvdXBVc2VyU2hlZXRzLT5hdChpKS5nZXQoKSwgKm1fbWVkaXVtLCB0aGlzKTsKICAgICAg
ICAgfQogICAgIH0KLSAgICBpZiAoZG9jdW1lbnRVc2VyU2hlZXRzKSB7CisgICAgaWYgKGNvbnN0
IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogZG9jdW1lbnRVc2VyU2hlZXRzID0gZG9j
dW1lbnQtPmRvY3VtZW50VXNlclNoZWV0cygpKSB7CiAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9
IGRvY3VtZW50VXNlclNoZWV0cy0+c2l6ZSgpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgIGlmIChkb2N1bWVudFVzZXJTaGVldHMt
PmF0KGkpLT5pc1VzZXJTdHlsZVNoZWV0KCkpCkBAIC00MTAsMTQgKzQwOSwxMSBAQCBDU1NTdHls
ZVNlbGVjdG9yOjpDU1NTdHlsZVNlbGVjdG9yKERvY3VtCiAgICAgaWYgKHRlbXBVc2VyU3R5bGUt
Pm1fcnVsZUNvdW50ID4gMCB8fCB0ZW1wVXNlclN0eWxlLT5tX3BhZ2VSdWxlcy5zaXplKCkgPiAw
KQogICAgICAgICBtX3VzZXJTdHlsZSA9IHRlbXBVc2VyU3R5bGUucmVsZWFzZSgpOwogCi0gICAg
Ly8gQWRkIHJ1bGVzIGZyb20gZWxlbWVudHMgbGlrZSBTVkcncyA8Zm9udC1mYWNlPgotICAgIGlm
IChtYXBwZWRFbGVtZW50U2hlZXQpIHsKLSAgICAgICAgLy8gRklYTUU6IHNlZSBpZiBzdHlsZSBz
Y29wZXMgY2FuL3Nob3VsZCBiZSBhZGRlZCBoZXJlLgotICAgICAgICBtX2F1dGhvclN0eWxlLT5h
ZGRSdWxlc0Zyb21TaGVldChtYXBwZWRFbGVtZW50U2hlZXQsICptX21lZGl1bSwgdGhpcyk7Ci0g
ICAgfQorICAgIEhhc2hTZXQ8U1ZHRm9udEZhY2VFbGVtZW50Kj46Oml0ZXJhdG9yIGVuZCA9IGRv
Y3VtZW50LT5zdmdGb250RmFjZUVsZW1lbnRzKCkuZW5kKCk7CisgICAgZm9yIChIYXNoU2V0PFNW
R0ZvbnRGYWNlRWxlbWVudCo+OjppdGVyYXRvciBpdCA9IGRvY3VtZW50LT5zdmdGb250RmFjZUVs
ZW1lbnRzKCkuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICBmb250U2VsZWN0b3Io
KS0+YWRkRm9udEZhY2VSdWxlKCgqaXQpLT5mb250RmFjZVJ1bGUoKSk7CiAKLSAgICAvLyBhZGQg
c3R5bGVzaGVldHMgZnJvbSBkb2N1bWVudAotICAgIGFwcGVuZEF1dGhvclN0eWxlc2hlZXRzKDAs
IHN0eWxlU2hlZXRzLT52ZWN0b3IoKSk7CisgICAgYXBwZW5kQXV0aG9yU3R5bGVzaGVldHMoMCwg
ZG9jdW1lbnQtPnN0eWxlU2hlZXRzKCktPnZlY3RvcigpKTsKIH0KICAgICAKIHN0YXRpYyBQYXNz
T3duUHRyPFJ1bGVTZXQ+IG1ha2VSdWxlU2V0KGNvbnN0IFZlY3RvcjxDU1NTdHlsZVNlbGVjdG9y
OjpSdWxlU2VsZWN0b3JQYWlyPiYgcnVsZXMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmgJKHJldmlzaW9uIDExMjAzNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNCw5ICsxMDQsNyBAQCBwdWJsaWM6
CiBjbGFzcyBDU1NTdHlsZVNlbGVjdG9yIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDU1NT
dHlsZVNlbGVjdG9yKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgQ1NT
U3R5bGVTZWxlY3RvcihEb2N1bWVudCosIFN0eWxlU2hlZXRMaXN0KiBhdXRob3JTaGVldHMsIENT
U1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRTaGVldCwKLSAgICAgICAgICAgICAgICAgICAgIENT
U1N0eWxlU2hlZXQqIHBhZ2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVT
aGVldD4gPiogcGFnZUdyb3VwVXNlclNoZWV0cywgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHls
ZVNoZWV0PiA+KiBkb2N1bWVudFVzZXJTaGVldHMsCi0gICAgICAgICAgICAgICAgICAgICBib29s
IHN0cmljdFBhcnNpbmcsIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKTsKKyAgICBDU1NT
dHlsZVNlbGVjdG9yKERvY3VtZW50KiwgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpOwog
ICAgIH5DU1NTdHlsZVNlbGVjdG9yKCk7CiAKICAgICAvLyBVc2luZyB0aGVzZSBkdXJpbmcgdHJl
ZSB3YWxrIHdpbGwgYWxsb3cgc3R5bGUgc2VsZWN0b3IgdG8gb3B0aW1pemUgY2hpbGQgYW5kIGRl
c2NlbmRhbnQgc2VsZWN0b3IgbG9va3Vwcy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAko
cmV2aXNpb24gMTEyMDM3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTI5LDYgKzEyOSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRy
b2wuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0Lmgi
CisjaW5jbHVkZSAiU1ZHRm9udEZhY2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0
cnkuaCIKICNpbmNsdWRlICJTY29wZWRFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiU2NyaXB0Q2Fs
bFN0YWNrLmgiCkBAIC01NTYsOCArNTU3LDYgQEAgRG9jdW1lbnQ6On5Eb2N1bWVudCgpCiAKICAg
ICBpZiAobV9lbGVtU2hlZXQpCiAgICAgICAgIG1fZWxlbVNoZWV0LT5jbGVhck93bmVyTm9kZSgp
OwotICAgIGlmIChtX21hcHBlZEVsZW1lbnRTaGVldCkKLSAgICAgICAgbV9tYXBwZWRFbGVtZW50
U2hlZXQtPmNsZWFyT3duZXJOb2RlKCk7CiAgICAgaWYgKG1fcGFnZVVzZXJTaGVldCkKICAgICAg
ICAgbV9wYWdlVXNlclNoZWV0LT5jbGVhck93bmVyTm9kZSgpOwogICAgIGlmIChtX3BhZ2VHcm91
cFVzZXJTaGVldHMpIHsKQEAgLTE4NTYsMTEgKzE4NTUsMTAgQEAgdm9pZCBEb2N1bWVudDo6Y3Jl
YXRlU3R5bGVTZWxlY3RvcigpCiAgICAgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMgPSB0
cnVlOwogICAgIGlmIChTZXR0aW5ncyogZG9jU2V0dGluZ3MgPSBzZXR0aW5ncygpKQogICAgICAg
ICBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMgPSBkb2NTZXR0aW5ncy0+YXV0aG9yQW5kVXNlclN0
eWxlc0VuYWJsZWQoKTsKLSAgICBtX3N0eWxlU2VsZWN0b3IgPSBhZG9wdFB0cihuZXcgQ1NTU3R5
bGVTZWxlY3Rvcih0aGlzLCBtX3N0eWxlU2hlZXRzLmdldCgpLCBtX21hcHBlZEVsZW1lbnRTaGVl
dC5nZXQoKSwgcGFnZVVzZXJTaGVldCgpLCBwYWdlR3JvdXBVc2VyU2hlZXRzKCksIG1fdXNlclNo
ZWV0cy5nZXQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAhaW5RdWlya3NNb2RlKCksIG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcykpOworICAg
IG1fc3R5bGVTZWxlY3RvciA9IGFkb3B0UHRyKG5ldyBDU1NTdHlsZVNlbGVjdG9yKHRoaXMsIG1h
dGNoQXV0aG9yQW5kVXNlclN0eWxlcykpOwogICAgIGNvbWJpbmVDU1NGZWF0dXJlRmxhZ3MoKTsK
IH0KLSAgICAKKwogaW5saW5lIHZvaWQgRG9jdW1lbnQ6OmNsZWFyU3R5bGVTZWxlY3RvcigpCiB7
CiAgICAgbV9zdHlsZVNlbGVjdG9yLmNsZWFyKCk7CkBAIC0yNTIzLDggKzI1MjEsNiBAQCB2b2lk
IERvY3VtZW50Ojp1cGRhdGVCYXNlVVJMKCkKIAogICAgIGlmIChtX2VsZW1TaGVldCkKICAgICAg
ICAgbV9lbGVtU2hlZXQtPnNldEZpbmFsVVJMKG1fYmFzZVVSTCk7Ci0gICAgaWYgKG1fbWFwcGVk
RWxlbWVudFNoZWV0KQotICAgICAgICBtX21hcHBlZEVsZW1lbnRTaGVldC0+c2V0RmluYWxVUkwo
bV9iYXNlVVJMKTsKICAgICAKICAgICBpZiAoIWVxdWFsSWdub3JpbmdGcmFnbWVudElkZW50aWZp
ZXIob2xkQmFzZVVSTCwgbV9iYXNlVVJMKSkgewogICAgICAgICAvLyBCYXNlIFVSTCBjaGFuZ2Ug
Y2hhbmdlcyBhbnkgcmVsYXRpdmUgdmlzaXRlZCBsaW5rcy4KQEAgLTI2OTIsMTIgKzI2ODgsMTAg
QEAgQ1NTU3R5bGVTaGVldCogRG9jdW1lbnQ6OmVsZW1lbnRTaGVldCgpCiAgICAgICAgIG1fZWxl
bVNoZWV0ID0gQ1NTU3R5bGVTaGVldDo6Y3JlYXRlSW5saW5lKHRoaXMsIG1fYmFzZVVSTCk7CiAg
ICAgcmV0dXJuIG1fZWxlbVNoZWV0LmdldCgpOwogfQotCi1DU1NTdHlsZVNoZWV0KiBEb2N1bWVu
dDo6bWFwcGVkRWxlbWVudFNoZWV0KCkKKyAgICAKK0hhc2hTZXQ8U1ZHRm9udEZhY2VFbGVtZW50
Kj4mIERvY3VtZW50OjpzdmdGb250RmFjZUVsZW1lbnRzKCkKIHsKLSAgICBpZiAoIW1fbWFwcGVk
RWxlbWVudFNoZWV0KQotICAgICAgICBtX21hcHBlZEVsZW1lbnRTaGVldCA9IENTU1N0eWxlU2hl
ZXQ6OmNyZWF0ZUlubGluZSh0aGlzLCBtX2Jhc2VVUkwpOwotICAgIHJldHVybiBtX21hcHBlZEVs
ZW1lbnRTaGVldC5nZXQoKTsKKyAgICByZXR1cm4gbV9zdmdGb250RmFjZUVsZW1lbnRzOwogfQog
CiBpbnQgRG9jdW1lbnQ6Om5vZGVBYnNJbmRleChOb2RlICpub2RlKQpJbmRleDogU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgJKHJldmlzaW9uIDExMjAzNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjksNiArMTI5LDcgQEAgY2xhc3MgU2VnbWVudGVkU3Ry
aW5nOwogY2xhc3MgU2V0dGluZ3M7CiBjbGFzcyBTdHlsZVNoZWV0OwogY2xhc3MgU3R5bGVTaGVl
dExpc3Q7CitjbGFzcyBTVkdGb250RmFjZUVsZW1lbnQ7CiBjbGFzcyBUZXh0OwogY2xhc3MgVGV4
dFJlc291cmNlRGVjb2RlcjsKIGNsYXNzIERvY3VtZW50UGFyc2VyOwpAQCAtNjI5LDEwICs2MzAs
MTIgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJQYWdlR3JvdXBVc2VyU2hlZXRzKCk7CiAgICAg
dm9pZCB1cGRhdGVQYWdlR3JvdXBVc2VyU2hlZXRzKCk7CiAKKyAgICBjb25zdCBWZWN0b3I8UmVm
UHRyPENTU1N0eWxlU2hlZXQ+ID4qIGRvY3VtZW50VXNlclNoZWV0cygpIGNvbnN0IHsgcmV0dXJu
IG1fdXNlclNoZWV0cy5nZXQoKTsgfQogICAgIHZvaWQgYWRkVXNlclNoZWV0KFBhc3NSZWZQdHI8
Q1NTU3R5bGVTaGVldD4gdXNlclNoZWV0KTsKIAogICAgIENTU1N0eWxlU2hlZXQqIGVsZW1lbnRT
aGVldCgpOwotICAgIENTU1N0eWxlU2hlZXQqIG1hcHBlZEVsZW1lbnRTaGVldCgpOworCisgICAg
SGFzaFNldDxTVkdGb250RmFjZUVsZW1lbnQqPiYgc3ZnRm9udEZhY2VFbGVtZW50cygpOwogICAg
IAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxEb2N1bWVudFBhcnNlcj4gY3JlYXRlUGFyc2VyKCk7
CiAgICAgRG9jdW1lbnRQYXJzZXIqIHBhcnNlcigpIGNvbnN0IHsgcmV0dXJuIG1fcGFyc2VyLmdl
dCgpOyB9CkBAIC0xMjU1LDcgKzEyNTgsNiBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNOb2Rl
c1dpdGhQbGFjZWhvbGRlclN0eWxlOwogCiAgICAgUmVmUHRyPENTU1N0eWxlU2hlZXQ+IG1fZWxl
bVNoZWV0OwotICAgIFJlZlB0cjxDU1NTdHlsZVNoZWV0PiBtX21hcHBlZEVsZW1lbnRTaGVldDsK
ICAgICBSZWZQdHI8Q1NTU3R5bGVTaGVldD4gbV9wYWdlVXNlclNoZWV0OwogICAgIG11dGFibGUg
T3duUHRyPFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiA+IG1fcGFnZUdyb3VwVXNlclNo
ZWV0czsKICAgICBPd25QdHI8VmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+ID4gbV91c2Vy
U2hlZXRzOwpAQCAtMTQwNCw2ICsxNDA2LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgSGFz
aE1hcDxTdHJpbmcsIFJlZlB0cjxIVE1MQ2FudmFzRWxlbWVudD4gPiBtX2Nzc0NhbnZhc0VsZW1l
bnRzOworICAgIEhhc2hTZXQ8U1ZHRm9udEZhY2VFbGVtZW50Kj4gbV9zdmdGb250RmFjZUVsZW1l
bnRzOwogCiAgICAgYm9vbCBtX2NyZWF0ZVJlbmRlcmVyczsKICAgICBib29sIG1faW5QYWdlQ2Fj
aGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAkocmV2
aXNpb24gMTEyMDM3KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMxOCwxNiArMzE4LDIxIEBAIHZvaWQgU1ZHRm9udEZhY2VF
bGVtZW50OjpyZWJ1aWxkRm9udEZhY2UKIHZvaWQgU1ZHRm9udEZhY2VFbGVtZW50OjppbnNlcnRl
ZEludG9Eb2N1bWVudCgpCiB7CiAgICAgU1ZHRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQo
KTsKLSAgICBkb2N1bWVudCgpLT5tYXBwZWRFbGVtZW50U2hlZXQoKS0+YXBwZW5kKG1fZm9udEZh
Y2VSdWxlKTsKLSAgICBtX2ZvbnRGYWNlUnVsZS0+c2V0UGFyZW50U3R5bGVTaGVldChkb2N1bWVu
dCgpLT5tYXBwZWRFbGVtZW50U2hlZXQoKSk7CisKKyAgICBkb2N1bWVudCgpLT5zdmdGb250RmFj
ZUVsZW1lbnRzKCkuYWRkKHRoaXMpOworICAgIG1fZm9udEZhY2VSdWxlLT5zZXRQYXJlbnRTdHls
ZVNoZWV0KGRvY3VtZW50KCktPmVsZW1lbnRTaGVldCgpKTsKKwogICAgIHJlYnVpbGRGb250RmFj
ZSgpOwogfQogCiB2b2lkIFNWR0ZvbnRGYWNlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgp
CiB7Ci0gICAgcmVtb3ZlRnJvbU1hcHBlZEVsZW1lbnRTaGVldCgpOwogICAgIFNWR0VsZW1lbnQ6
OnJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKKwogICAgIG1fZm9udEZhY2VSdWxlLT5kZWNsYXJhdGlv
bigpLT5wYXJzZURlY2xhcmF0aW9uKGVtcHR5U3RyaW5nKCksIDApOworICAgIGRvY3VtZW50KCkt
PnN2Z0ZvbnRGYWNlRWxlbWVudHMoKS5yZW1vdmUodGhpcyk7CisKKyAgICBkb2N1bWVudCgpLT5z
dHlsZVNlbGVjdG9yQ2hhbmdlZChEZWZlclJlY2FsY1N0eWxlKTsKIH0KIAogdm9pZCBTVkdGb250
RmFjZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciwgTm9kZSog
YmVmb3JlQ2hhbmdlLCBOb2RlKiBhZnRlckNoYW5nZSwgaW50IGNoaWxkQ291bnREZWx0YSkKQEAg
LTMzNiwyMSArMzQxLDYgQEAgdm9pZCBTVkdGb250RmFjZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdl
ZAogICAgIHJlYnVpbGRGb250RmFjZSgpOwogfQogCi12b2lkIFNWR0ZvbnRGYWNlRWxlbWVudDo6
cmVtb3ZlRnJvbU1hcHBlZEVsZW1lbnRTaGVldCgpCi17Ci0gICAgQ1NTU3R5bGVTaGVldCogbWFw
cGVkRWxlbWVudFNoZWV0ID0gZG9jdW1lbnQoKS0+bWFwcGVkRWxlbWVudFNoZWV0KCk7Ci0gICAg
aWYgKCFtYXBwZWRFbGVtZW50U2hlZXQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBtYXBwZWRFbGVtZW50U2hlZXQtPmxlbmd0aCgpOyArK2kpIHsKLSAg
ICAgICAgaWYgKG1hcHBlZEVsZW1lbnRTaGVldC0+aXRlbShpKSA9PSBtX2ZvbnRGYWNlUnVsZSkg
ewotICAgICAgICAgICAgbWFwcGVkRWxlbWVudFNoZWV0LT5yZW1vdmUoaSk7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLSAgICBkb2N1bWVudCgpLT5zdHlsZVNlbGVjdG9y
Q2hhbmdlZChEZWZlclJlY2FsY1N0eWxlKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKFNWR19GT05UUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250RmFjZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Rm9udEZhY2VFbGVtZW50LmgJKHJldmlzaW9uIDExMjAzNykKKysrIFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdGb250RmFjZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgsOCBAQCBw
dWJsaWM6CiAKICAgICBTVkdGb250RWxlbWVudCogYXNzb2NpYXRlZEZvbnRFbGVtZW50KCkgY29u
c3Q7CiAgICAgdm9pZCByZWJ1aWxkRm9udEZhY2UoKTsKLSAgICB2b2lkIHJlbW92ZUZyb21NYXBw
ZWRFbGVtZW50U2hlZXQoKTsKKyAgICAKKyAgICBDU1NGb250RmFjZVJ1bGUqIGZvbnRGYWNlUnVs
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZm9udEZhY2VSdWxlLmdldCgpOyB9CiAKIHByaXZhdGU6CiAg
ICAgU1ZHRm9udEZhY2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwo=
</data>
<flag name="commit-queue"
          id="138164"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134017</attachid>
            <date>2012-03-27 04:02:26 -0700</date>
            <delta_ts>2012-03-27 04:29:31 -0700</delta_ts>
            <desc>moved the map to SVGDocumentExtensions</desc>
            <filename>remove-mapped-element-sheet-3.patch</filename>
            <type>text/plain</type>
            <size>14932</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMjI0NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU3IEBACisyMDEyLTAzLTI3ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgRG9jdW1lbnQ6Om1h
cHBlZEVsZW1lbnRTaGVldCgpIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODIyNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgb25seSB0aGluZyB0aGlzIGlzIHVzZWQgZm9yIGFueW1vcmUgaXMgU1ZH
Rm9udEZhY2VFbGVtZW50LiBUaGF0IGNhbiBiZSBoYW5kbGVkIHdpdGhvdXQKKyAgICAgICAgdGhl
IGNvbmZ1c2luZyBleHRyYSBzdHlsZXNoZWV0LgorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVT
ZWxlY3Rvcik6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAgKENT
U1N0eWxlU2VsZWN0b3IpOgorICAgICAgICAKKyAgICAgICAgICAgIC0gQWRkIGZvbnQgZmFjZSBy
dWxlcyBmcm9tIHJlZ2lzdGVyZWQgU1ZHRm9udEZhY2VFbGVtZW50cy4KKyAgICAgICAgICAgIC0g
U2ltcGxpZnkgdGhlIGNvbnN0cnVjdG9yIHNpZ25hdHVyZS4gU3R5bGVzaGVldHMgYXJlIHBhcnQg
b2YgdGhlIGRvY3VtZW50LgorICAgICAgICAgICAgCisgICAgICAgICogZG9tL0RvY3VtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp+RG9jdW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmNyZWF0ZVN0eWxlU2VsZWN0b3IpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlQmFzZVVSTCk6CisgICAgICAgICog
ZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50Ojpkb2N1bWVudFVzZXJTaGVldHMpOgorICAgICAgICAoRG9jdW1lbnQpOgorCisgICAg
ICAgICAgICAtIFJlbW92ZSBtYXBwZWRFbGVtZW50U2hlZXQgICAgICAgIAorICAgICAgICAgICAg
LSBBZGFwdCB0byB0aGUgQ1NTU3R5bGVTZWxlY3RvciBjb25zdHJ1Y3RvciBzaWduYXR1cmUgY2hh
bmdlcy4KKworICAgICAgICAqIHN2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpzdmdGb250RmFjZUVsZW1lbnRzKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnRFeHRlbnNp
b25zOjpyZWdpc3RlclNWR0ZvbnRGYWNlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdE
b2N1bWVudEV4dGVuc2lvbnM6OnVucmVnaXN0ZXJTVkdGb250RmFjZUVsZW1lbnQpOgorICAgICAg
ICAqIHN2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKToKKyAgICAgICAgCisgICAgICAgICAgICAtIEFk
ZCBtYXAgZm9yIFNWR0ZvbnRGYWNlRWxlbWVudHMKKworICAgICAgICAqIHN2Zy9TVkdGb250RmFj
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9udEZhY2VFbGVtZW50OjppbnNl
cnRlZEludG9Eb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdGb250RmFjZUVsZW1lbnQ6
OnJlbW92ZWRGcm9tRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogc3Zn
L1NWR0ZvbnRGYWNlRWxlbWVudC5oOgorICAgICAgICAoU1ZHRm9udEZhY2VFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNlRWxlbWVudDo6Zm9udEZhY2VSdWxlKToKKyAgICAg
ICAgCisgICAgICAgICAgICAtIFN3aXRjaCB0byB1cGRhdGluZyBzdmdGb250RmFjZUVsZW1lbnRz
IG1hcC4KKyAgICAgICAgICAgIC0gVXNlIGVsZW1lbnRTaGVldCBhcyB0aGUgcGFyZW50IHNoZWV0
IChub3RoaW5nIGlzIGV2ZXIgYWRkZWQgdG8gdGhlIGVsZW1lbnRTaGVldCwgaXQgaXMgdXNlZCBm
b3IKKyAgICAgICAgICAgICAgcmVzb2x2aW5nIHJlbGF0aXZlIFVSTHMgb25seSkuCisKIDIwMTIt
MDMtMjcgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAg
ICAgRW5hYmxlIGFuaW1WYWwgc3VwcG9ydCBmb3IgU1ZHQW5pbWF0ZWRSZWN0CkBAIC02NzMsNiAr
NzI3LDcgQEAKICAgICAgICAgJFNES1JPT1QgY29udGFpbnMgYSBzcGFjZSBpbiB0aGUgcGF0aC4g
IFJlbW92ZSBub3ctcmVkdW5kYW50CiAgICAgICAgICRnY2NMb2NhdGlvbiB2YXJpYWJsZS4KIAor
Pj4+Pj4+PiAucjExMjI0NwogMjAxMi0wMy0yNiAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBkdXBsaWNhdGUgZXJyb3IoKSBpbXBscyBpbiBDYWNo
ZWRSZXNvdXJjZSBzdWJjbGFzc2VzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCShyZXZpc2lvbiAxMTIwNzYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxLDYgKzkxLDggQEAKICNpbmNsdWRl
ICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgog
I2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTVkdEb2N1bWVu
dEV4dGVuc2lvbnMuaCIKKyNpbmNsdWRlICJTVkdGb250RmFjZUVsZW1lbnQuaCIKICNpbmNsdWRl
ICJTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTMyMSwxMyArMzIzLDExIEBAIHN0YXRpYyBTdHls
ZVByb3BlcnR5U2V0KiByaWdodFRvTGVmdERlY2wKICAgICByZXR1cm4gcmlnaHRUb0xlZnREZWNs
LmdldCgpOwogfQogCi1DU1NTdHlsZVNlbGVjdG9yOjpDU1NTdHlsZVNlbGVjdG9yKERvY3VtZW50
KiBkb2N1bWVudCwgU3R5bGVTaGVldExpc3QqIHN0eWxlU2hlZXRzLCBDU1NTdHlsZVNoZWV0KiBt
YXBwZWRFbGVtZW50U2hlZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENT
U1N0eWxlU2hlZXQqIHBhZ2VVc2VyU2hlZXQsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVT
aGVldD4gPiogcGFnZUdyb3VwVXNlclNoZWV0cywgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHls
ZVNoZWV0PiA+KiBkb2N1bWVudFVzZXJTaGVldHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2wgc3RyaWN0UGFyc2luZywgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHls
ZXMpCitDU1NTdHlsZVNlbGVjdG9yOjpDU1NTdHlsZVNlbGVjdG9yKERvY3VtZW50KiBkb2N1bWVu
dCwgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgOiBtX2hhc1VBQXBwZWFyYW5j
ZShmYWxzZSkKICAgICAsIG1fYmFja2dyb3VuZERhdGEoQmFja2dyb3VuZEZpbGxMYXllcikKICAg
ICAsIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZUFkZGl0aW9uc1NpbmNlTGFzdFN3ZWVwKDApCi0g
ICAgLCBtX2NoZWNrZXIoZG9jdW1lbnQsIHN0cmljdFBhcnNpbmcpCisgICAgLCBtX2NoZWNrZXIo
ZG9jdW1lbnQsICFkb2N1bWVudC0+aW5RdWlya3NNb2RlKCkpCiAgICAgLCBtX3BhcmVudFN0eWxl
KDApCiAgICAgLCBtX3Jvb3RFbGVtZW50U3R5bGUoMCkKICAgICAsIG1fZWxlbWVudCgwKQpAQCAt
Mzg2LDkgKzM4Niw5IEBAIENTU1N0eWxlU2VsZWN0b3I6OkNTU1N0eWxlU2VsZWN0b3IoRG9jdW0K
IAogICAgIC8vIEZJWE1FOiBUaGlzIHN1Y2tzISBUaGUgdXNlciBzaGVldCBpcyByZXBhcnNlZCBl
dmVyeSB0aW1lIQogICAgIE93blB0cjxSdWxlU2V0PiB0ZW1wVXNlclN0eWxlID0gYWRvcHRQdHIo
bmV3IFJ1bGVTZXQpOwotICAgIGlmIChwYWdlVXNlclNoZWV0KQorICAgIGlmIChDU1NTdHlsZVNo
ZWV0KiBwYWdlVXNlclNoZWV0ID0gZG9jdW1lbnQtPnBhZ2VVc2VyU2hlZXQoKSkKICAgICAgICAg
dGVtcFVzZXJTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQocGFnZVVzZXJTaGVldCwgKm1fbWVkaXVt
LCB0aGlzKTsKLSAgICBpZiAocGFnZUdyb3VwVXNlclNoZWV0cykgeworICAgIGlmIChjb25zdCBW
ZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4qIHBhZ2VHcm91cFVzZXJTaGVldHMgPSBkb2N1
bWVudC0+cGFnZUdyb3VwVXNlclNoZWV0cygpKSB7CiAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9
IHBhZ2VHcm91cFVzZXJTaGVldHMtPnNpemUoKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICBpZiAocGFnZUdyb3VwVXNlclNoZWV0
cy0+YXQoaSktPmlzVXNlclN0eWxlU2hlZXQoKSkKQEAgLTM5Nyw3ICszOTcsNyBAQCBDU1NTdHls
ZVNlbGVjdG9yOjpDU1NTdHlsZVNlbGVjdG9yKERvY3VtCiAgICAgICAgICAgICAgICAgbV9hdXRo
b3JTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQocGFnZUdyb3VwVXNlclNoZWV0cy0+YXQoaSkuZ2V0
KCksICptX21lZGl1bSwgdGhpcyk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKGRvY3VtZW50
VXNlclNoZWV0cykgeworICAgIGlmIChjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+
ID4qIGRvY3VtZW50VXNlclNoZWV0cyA9IGRvY3VtZW50LT5kb2N1bWVudFVzZXJTaGVldHMoKSkg
ewogICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBkb2N1bWVudFVzZXJTaGVldHMtPnNpemUoKTsK
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAg
ICAgICBpZiAoZG9jdW1lbnRVc2VyU2hlZXRzLT5hdChpKS0+aXNVc2VyU3R5bGVTaGVldCgpKQpA
QCAtNDEwLDE0ICs0MTAsMTYgQEAgQ1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVTZWxlY3RvcihE
b2N1bQogICAgIGlmICh0ZW1wVXNlclN0eWxlLT5tX3J1bGVDb3VudCA+IDAgfHwgdGVtcFVzZXJT
dHlsZS0+bV9wYWdlUnVsZXMuc2l6ZSgpID4gMCkKICAgICAgICAgbV91c2VyU3R5bGUgPSB0ZW1w
VXNlclN0eWxlLnJlbGVhc2UoKTsKIAotICAgIC8vIEFkZCBydWxlcyBmcm9tIGVsZW1lbnRzIGxp
a2UgU1ZHJ3MgPGZvbnQtZmFjZT4KLSAgICBpZiAobWFwcGVkRWxlbWVudFNoZWV0KSB7Ci0gICAg
ICAgIC8vIEZJWE1FOiBzZWUgaWYgc3R5bGUgc2NvcGVzIGNhbi9zaG91bGQgYmUgYWRkZWQgaGVy
ZS4KLSAgICAgICAgbV9hdXRob3JTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQobWFwcGVkRWxlbWVu
dFNoZWV0LCAqbV9tZWRpdW0sIHRoaXMpOworI2lmIEVOQUJMRShTVkcpCisgICAgaWYgKGRvY3Vt
ZW50LT5zdmdFeHRlbnNpb25zKCkpIHsKKyAgICAgICAgY29uc3QgSGFzaFNldDxTVkdGb250RmFj
ZUVsZW1lbnQqPiYgc3ZnRm9udEZhY2VFbGVtZW50cyA9IGRvY3VtZW50LT5zdmdFeHRlbnNpb25z
KCktPnN2Z0ZvbnRGYWNlRWxlbWVudHMoKTsKKyAgICAgICAgSGFzaFNldDxTVkdGb250RmFjZUVs
ZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gc3ZnRm9udEZhY2VFbGVtZW50cy5lbmQoKTsK
KyAgICAgICAgZm9yIChIYXNoU2V0PFNWR0ZvbnRGYWNlRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRv
ciBpdCA9IHN2Z0ZvbnRGYWNlRWxlbWVudHMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQorICAg
ICAgICAgICAgZm9udFNlbGVjdG9yKCktPmFkZEZvbnRGYWNlUnVsZSgoKml0KS0+Zm9udEZhY2VS
dWxlKCkpOwogICAgIH0KKyNlbmRpZgogCi0gICAgLy8gYWRkIHN0eWxlc2hlZXRzIGZyb20gZG9j
dW1lbnQKLSAgICBhcHBlbmRBdXRob3JTdHlsZXNoZWV0cygwLCBzdHlsZVNoZWV0cy0+dmVjdG9y
KCkpOworICAgIGFwcGVuZEF1dGhvclN0eWxlc2hlZXRzKDAsIGRvY3VtZW50LT5zdHlsZVNoZWV0
cygpLT52ZWN0b3IoKSk7CiB9CiAgICAgCiBzdGF0aWMgUGFzc093blB0cjxSdWxlU2V0PiBtYWtl
UnVsZVNldChjb25zdCBWZWN0b3I8Q1NTU3R5bGVTZWxlY3Rvcjo6UnVsZVNlbGVjdG9yUGFpcj4m
IHJ1bGVzKQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCShyZXZpc2lv
biAxMTIwMzcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDQsOSArMTA0LDcgQEAgcHVibGljOgogY2xhc3MgQ1NTU3R5bGVTZWxl
Y3RvciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIENTU1N0eWxlU2VsZWN0b3IoRG9jdW1l
bnQqLCBTdHlsZVNoZWV0TGlzdCogYXV0aG9yU2hlZXRzLCBDU1NTdHlsZVNoZWV0KiBtYXBwZWRF
bGVtZW50U2hlZXQsCi0gICAgICAgICAgICAgICAgICAgICBDU1NTdHlsZVNoZWV0KiBwYWdlVXNl
clNoZWV0LCBjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4qIHBhZ2VHcm91cFVz
ZXJTaGVldHMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogZG9jdW1lbnRV
c2VyU2hlZXRzLAotICAgICAgICAgICAgICAgICAgICAgYm9vbCBzdHJpY3RQYXJzaW5nLCBib29s
IG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcyk7CisgICAgQ1NTU3R5bGVTZWxlY3RvcihEb2N1bWVu
dCosIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKTsKICAgICB+Q1NTU3R5bGVTZWxlY3Rv
cigpOwogCiAgICAgLy8gVXNpbmcgdGhlc2UgZHVyaW5nIHRyZWUgd2FsayB3aWxsIGFsbG93IHN0
eWxlIHNlbGVjdG9yIHRvIG9wdGltaXplIGNoaWxkIGFuZCBkZXNjZW5kYW50IHNlbGVjdG9yIGxv
b2t1cHMuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDExMjAzNykKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1Niw4
ICs1NTYsNiBAQCBEb2N1bWVudDo6fkRvY3VtZW50KCkKIAogICAgIGlmIChtX2VsZW1TaGVldCkK
ICAgICAgICAgbV9lbGVtU2hlZXQtPmNsZWFyT3duZXJOb2RlKCk7Ci0gICAgaWYgKG1fbWFwcGVk
RWxlbWVudFNoZWV0KQotICAgICAgICBtX21hcHBlZEVsZW1lbnRTaGVldC0+Y2xlYXJPd25lck5v
ZGUoKTsKICAgICBpZiAobV9wYWdlVXNlclNoZWV0KQogICAgICAgICBtX3BhZ2VVc2VyU2hlZXQt
PmNsZWFyT3duZXJOb2RlKCk7CiAgICAgaWYgKG1fcGFnZUdyb3VwVXNlclNoZWV0cykgewpAQCAt
MTg1NiwxMSArMTg1NCwxMCBAQCB2b2lkIERvY3VtZW50OjpjcmVhdGVTdHlsZVNlbGVjdG9yKCkK
ICAgICBib29sIG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcyA9IHRydWU7CiAgICAgaWYgKFNldHRp
bmdzKiBkb2NTZXR0aW5ncyA9IHNldHRpbmdzKCkpCiAgICAgICAgIG1hdGNoQXV0aG9yQW5kVXNl
clN0eWxlcyA9IGRvY1NldHRpbmdzLT5hdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCgpOwotICAg
IG1fc3R5bGVTZWxlY3RvciA9IGFkb3B0UHRyKG5ldyBDU1NTdHlsZVNlbGVjdG9yKHRoaXMsIG1f
c3R5bGVTaGVldHMuZ2V0KCksIG1fbWFwcGVkRWxlbWVudFNoZWV0LmdldCgpLCBwYWdlVXNlclNo
ZWV0KCksIHBhZ2VHcm91cFVzZXJTaGVldHMoKSwgbV91c2VyU2hlZXRzLmdldCgpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpblF1aXJrc01v
ZGUoKSwgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKSk7CisgICAgbV9zdHlsZVNlbGVjdG9yID0g
YWRvcHRQdHIobmV3IENTU1N0eWxlU2VsZWN0b3IodGhpcywgbWF0Y2hBdXRob3JBbmRVc2VyU3R5
bGVzKSk7CiAgICAgY29tYmluZUNTU0ZlYXR1cmVGbGFncygpOwogfQotICAgIAorCiBpbmxpbmUg
dm9pZCBEb2N1bWVudDo6Y2xlYXJTdHlsZVNlbGVjdG9yKCkKIHsKICAgICBtX3N0eWxlU2VsZWN0
b3IuY2xlYXIoKTsKQEAgLTI1MjMsOCArMjUyMCw2IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUJh
c2VVUkwoKQogCiAgICAgaWYgKG1fZWxlbVNoZWV0KQogICAgICAgICBtX2VsZW1TaGVldC0+c2V0
RmluYWxVUkwobV9iYXNlVVJMKTsKLSAgICBpZiAobV9tYXBwZWRFbGVtZW50U2hlZXQpCi0gICAg
ICAgIG1fbWFwcGVkRWxlbWVudFNoZWV0LT5zZXRGaW5hbFVSTChtX2Jhc2VVUkwpOwogICAgIAog
ICAgIGlmICghZXF1YWxJZ25vcmluZ0ZyYWdtZW50SWRlbnRpZmllcihvbGRCYXNlVVJMLCBtX2Jh
c2VVUkwpKSB7CiAgICAgICAgIC8vIEJhc2UgVVJMIGNoYW5nZSBjaGFuZ2VzIGFueSByZWxhdGl2
ZSB2aXNpdGVkIGxpbmtzLgpAQCAtMjY5MywxMyArMjY4OCw2IEBAIENTU1N0eWxlU2hlZXQqIERv
Y3VtZW50OjplbGVtZW50U2hlZXQoKQogICAgIHJldHVybiBtX2VsZW1TaGVldC5nZXQoKTsKIH0K
IAotQ1NTU3R5bGVTaGVldCogRG9jdW1lbnQ6Om1hcHBlZEVsZW1lbnRTaGVldCgpCi17Ci0gICAg
aWYgKCFtX21hcHBlZEVsZW1lbnRTaGVldCkKLSAgICAgICAgbV9tYXBwZWRFbGVtZW50U2hlZXQg
PSBDU1NTdHlsZVNoZWV0OjpjcmVhdGVJbmxpbmUodGhpcywgbV9iYXNlVVJMKTsKLSAgICByZXR1
cm4gbV9tYXBwZWRFbGVtZW50U2hlZXQuZ2V0KCk7Ci19Ci0KIGludCBEb2N1bWVudDo6bm9kZUFi
c0luZGV4KE5vZGUgKm5vZGUpCiB7CiAgICAgQVNTRVJUKG5vZGUtPmRvY3VtZW50KCkgPT0gdGhp
cyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMTEyMDM3KQorKysgU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTYyOSwxMCArNjI5LDEw
IEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFyUGFnZUdyb3VwVXNlclNoZWV0cygpOwogICAgIHZv
aWQgdXBkYXRlUGFnZUdyb3VwVXNlclNoZWV0cygpOwogCisgICAgY29uc3QgVmVjdG9yPFJlZlB0
cjxDU1NTdHlsZVNoZWV0PiA+KiBkb2N1bWVudFVzZXJTaGVldHMoKSBjb25zdCB7IHJldHVybiBt
X3VzZXJTaGVldHMuZ2V0KCk7IH0KICAgICB2b2lkIGFkZFVzZXJTaGVldChQYXNzUmVmUHRyPENT
U1N0eWxlU2hlZXQ+IHVzZXJTaGVldCk7CiAKICAgICBDU1NTdHlsZVNoZWV0KiBlbGVtZW50U2hl
ZXQoKTsKLSAgICBDU1NTdHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hlZXQoKTsKICAgICAKICAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8RG9jdW1lbnRQYXJzZXI+IGNyZWF0ZVBhcnNlcigpOwogICAg
IERvY3VtZW50UGFyc2VyKiBwYXJzZXIoKSBjb25zdCB7IHJldHVybiBtX3BhcnNlci5nZXQoKTsg
fQpAQCAtMTI1NSw3ICsxMjU1LDYgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGFzTm9kZXNXaXRo
UGxhY2Vob2xkZXJTdHlsZTsKIAogICAgIFJlZlB0cjxDU1NTdHlsZVNoZWV0PiBtX2VsZW1TaGVl
dDsKLSAgICBSZWZQdHI8Q1NTU3R5bGVTaGVldD4gbV9tYXBwZWRFbGVtZW50U2hlZXQ7CiAgICAg
UmVmUHRyPENTU1N0eWxlU2hlZXQ+IG1fcGFnZVVzZXJTaGVldDsKICAgICBtdXRhYmxlIE93blB0
cjxWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4gPiBtX3BhZ2VHcm91cFVzZXJTaGVldHM7
CiAgICAgT3duUHRyPFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiA+IG1fdXNlclNoZWV0
czsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3Bw
CShyZXZpc2lvbiAxMTIwMzcpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRl
bnNpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDE4LDYgKzQxOCwxNyBAQCB2b2lkIFNWR0Rv
Y3VtZW50RXh0ZW5zaW9uczo6cmVtb3ZlQWxsRWxlCiAgICAgICAgICgqdmVjdG9ySXQpLT5zdmdB
dHRyaWJ1dGVDaGFuZ2VkKFhMaW5rTmFtZXM6OmhyZWZBdHRyKTsKIH0KIAordm9pZCBTVkdEb2N1
bWVudEV4dGVuc2lvbnM6OnJlZ2lzdGVyU1ZHRm9udEZhY2VFbGVtZW50KFNWR0ZvbnRGYWNlRWxl
bWVudCogZWxlbWVudCkKK3sKKyAgICBtX3N2Z0ZvbnRGYWNlRWxlbWVudHMuYWRkKGVsZW1lbnQp
OworfQorCit2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6dW5yZWdpc3RlclNWR0ZvbnRGYWNl
RWxlbWVudChTVkdGb250RmFjZUVsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgQVNTRVJUKG1fc3Zn
Rm9udEZhY2VFbGVtZW50cy5jb250YWlucyhlbGVtZW50KSk7CisgICAgbV9zdmdGb250RmFjZUVs
ZW1lbnRzLnJlbW92ZShlbGVtZW50KTsKK30KKwogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgJKHJldmlzaW9uIDExMjAzNykKKysr
IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaAkod29ya2luZyBjb3B5
KQpAQCAtMzQsNiArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEb2N1bWVudDsK
IGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwogY2xhc3MgU1ZHRWxlbWVudDsKK2Ns
YXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsKIGNsYXNzIFNWR1Jlc291cmNlc0NhY2hlOwogY2xhc3Mg
U1ZHU01JTEVsZW1lbnQ7CiBjbGFzcyBTVkdTVkdFbGVtZW50OwpAQCAtNzIsMTAgKzczLDE1IEBA
IHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZUFsbFRhcmdldFJlZmVyZW5jZXNGb3JFbGVtZW50KFNW
R0VsZW1lbnQqIHJlZmVyZW5jaW5nRWxlbWVudCk7CiAgICAgdm9pZCByZW1vdmVBbGxFbGVtZW50
UmVmZXJlbmNlc0ZvclRhcmdldChTVkdFbGVtZW50KiByZWZlcmVuY2VkRWxlbWVudCk7CiAKKyAg
ICBjb25zdCBIYXNoU2V0PFNWR0ZvbnRGYWNlRWxlbWVudCo+JiBzdmdGb250RmFjZUVsZW1lbnRz
KCkgY29uc3QgeyByZXR1cm4gbV9zdmdGb250RmFjZUVsZW1lbnRzOyB9CisgICAgdm9pZCByZWdp
c3RlclNWR0ZvbnRGYWNlRWxlbWVudChTVkdGb250RmFjZUVsZW1lbnQqKTsKKyAgICB2b2lkIHVu
cmVnaXN0ZXJTVkdGb250RmFjZUVsZW1lbnQoU1ZHRm9udEZhY2VFbGVtZW50Kik7CisKIHByaXZh
dGU6CiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7IC8vIHdlYWsgcmVmZXJlbmNlCiAgICAgSGFz
aFNldDxTVkdTVkdFbGVtZW50Kj4gbV90aW1lQ29udGFpbmVyczsgLy8gRm9yIFNWRyAxLjIgc3Vw
cG9ydCB0aGlzIHdpbGwgbmVlZCB0byBiZSBtYWRlIG1vcmUgZ2VuZXJhbC4KICAgICBIYXNoTWFw
PFNWR0VsZW1lbnQqLCBIYXNoU2V0PFNWR1NNSUxFbGVtZW50Kj4qID4gbV9hbmltYXRlZEVsZW1l
bnRzOworICAgIEhhc2hTZXQ8U1ZHRm9udEZhY2VFbGVtZW50Kj4gbV9zdmdGb250RmFjZUVsZW1l
bnRzOwogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5l
cio+IG1fcmVzb3VyY2VzOwogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxl
bWVudHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7IC8vIFJlc291cmNlcyB0aGF0IGFyZSBwZW5kaW5n
LgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRp
bmdSZXNvdXJjZXNGb3JSZW1vdmFsOyAvLyBSZXNvdXJjZXMgdGhhdCBhcmUgcGVuZGluZyBhbmQg
c2NoZWR1bGVkIGZvciByZW1vdmFsLgpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDExMjAzNykKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250RmFjZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAj
aW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJGb250LmgiCisjaW5jbHVkZSAiU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgiCiAjaW5jbHVkZSAi
U1ZHRm9udEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdGb250RmFjZVNyY0VsZW1lbnQuaCIKICNp
bmNsdWRlICJTVkdHbHlwaEVsZW1lbnQuaCIKQEAgLTMxOCwxNiArMzE5LDIxIEBAIHZvaWQgU1ZH
Rm9udEZhY2VFbGVtZW50OjpyZWJ1aWxkRm9udEZhY2UKIHZvaWQgU1ZHRm9udEZhY2VFbGVtZW50
OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCiB7CiAgICAgU1ZHRWxlbWVudDo6aW5zZXJ0ZWRJbnRv
RG9jdW1lbnQoKTsKLSAgICBkb2N1bWVudCgpLT5tYXBwZWRFbGVtZW50U2hlZXQoKS0+YXBwZW5k
KG1fZm9udEZhY2VSdWxlKTsKLSAgICBtX2ZvbnRGYWNlUnVsZS0+c2V0UGFyZW50U3R5bGVTaGVl
dChkb2N1bWVudCgpLT5tYXBwZWRFbGVtZW50U2hlZXQoKSk7CisKKyAgICBkb2N1bWVudCgpLT5h
Y2Nlc3NTVkdFeHRlbnNpb25zKCktPnJlZ2lzdGVyU1ZHRm9udEZhY2VFbGVtZW50KHRoaXMpOwor
ICAgIG1fZm9udEZhY2VSdWxlLT5zZXRQYXJlbnRTdHlsZVNoZWV0KGRvY3VtZW50KCktPmVsZW1l
bnRTaGVldCgpKTsKKwogICAgIHJlYnVpbGRGb250RmFjZSgpOwogfQogCiB2b2lkIFNWR0ZvbnRG
YWNlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCiB7Ci0gICAgcmVtb3ZlRnJvbU1hcHBl
ZEVsZW1lbnRTaGVldCgpOwogICAgIFNWR0VsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKTsK
KworICAgIGRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+dW5yZWdpc3RlclNWR0Zv
bnRGYWNlRWxlbWVudCh0aGlzKTsKICAgICBtX2ZvbnRGYWNlUnVsZS0+ZGVjbGFyYXRpb24oKS0+
cGFyc2VEZWNsYXJhdGlvbihlbXB0eVN0cmluZygpLCAwKTsKKworICAgIGRvY3VtZW50KCktPnN0
eWxlU2VsZWN0b3JDaGFuZ2VkKERlZmVyUmVjYWxjU3R5bGUpOwogfQogCiB2b2lkIFNWR0ZvbnRG
YWNlRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBi
ZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQpAQCAt
MzM2LDIxICszNDIsNiBAQCB2b2lkIFNWR0ZvbnRGYWNlRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2Vk
CiAgICAgcmVidWlsZEZvbnRGYWNlKCk7CiB9CiAKLXZvaWQgU1ZHRm9udEZhY2VFbGVtZW50Ojpy
ZW1vdmVGcm9tTWFwcGVkRWxlbWVudFNoZWV0KCkKLXsKLSAgICBDU1NTdHlsZVNoZWV0KiBtYXBw
ZWRFbGVtZW50U2hlZXQgPSBkb2N1bWVudCgpLT5tYXBwZWRFbGVtZW50U2hlZXQoKTsKLSAgICBp
ZiAoIW1hcHBlZEVsZW1lbnRTaGVldCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IG1hcHBlZEVsZW1lbnRTaGVldC0+bGVuZ3RoKCk7ICsraSkgewotICAg
ICAgICBpZiAobWFwcGVkRWxlbWVudFNoZWV0LT5pdGVtKGkpID09IG1fZm9udEZhY2VSdWxlKSB7
Ci0gICAgICAgICAgICBtYXBwZWRFbGVtZW50U2hlZXQtPnJlbW92ZShpKTsKLSAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotICAgIGRvY3VtZW50KCktPnN0eWxlU2VsZWN0b3JD
aGFuZ2VkKERlZmVyUmVjYWxjU3R5bGUpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoU1ZHX0ZPTlRTKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0ZvbnRGYWNlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdG
b250RmFjZUVsZW1lbnQuaAkocmV2aXNpb24gMTEyMDM3KQorKysgU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZvbnRGYWNlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw3ICs0OCw4IEBAIHB1
YmxpYzoKIAogICAgIFNWR0ZvbnRFbGVtZW50KiBhc3NvY2lhdGVkRm9udEVsZW1lbnQoKSBjb25z
dDsKICAgICB2b2lkIHJlYnVpbGRGb250RmFjZSgpOwotICAgIHZvaWQgcmVtb3ZlRnJvbU1hcHBl
ZEVsZW1lbnRTaGVldCgpOworICAgIAorICAgIENTU0ZvbnRGYWNlUnVsZSogZm9udEZhY2VSdWxl
KCkgY29uc3QgeyByZXR1cm4gbV9mb250RmFjZVJ1bGUuZ2V0KCk7IH0KIAogcHJpdmF0ZToKICAg
ICBTVkdGb250RmFjZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Cg==
</data>
<flag name="commit-queue"
          id="138172"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134021</attachid>
            <date>2012-03-27 04:29:31 -0700</date>
            <delta_ts>2012-03-27 07:50:03 -0700</delta_ts>
            <desc>test SVG_FONTS instead of SVG</desc>
            <filename>remove-mapped-element-sheet-4.patch</filename>
            <type>text/plain</type>
            <size>14677</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMjI0NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU3IEBACisyMDEyLTAzLTI3ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgRG9jdW1lbnQ6Om1h
cHBlZEVsZW1lbnRTaGVldCgpIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODIyNDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgb25seSB0aGluZyB0aGlzIGlzIHVzZWQgZm9yIGFueW1vcmUgaXMgU1ZH
Rm9udEZhY2VFbGVtZW50LiBUaGF0IGNhbiBiZSBoYW5kbGVkIHdpdGhvdXQKKyAgICAgICAgdGhl
IGNvbmZ1c2luZyBleHRyYSBzdHlsZXNoZWV0LgorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Q1NTU3R5bGVT
ZWxlY3Rvcik6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAgKENT
U1N0eWxlU2VsZWN0b3IpOgorICAgICAgICAKKyAgICAgICAgICAgIC0gQWRkIGZvbnQgZmFjZSBy
dWxlcyBmcm9tIHJlZ2lzdGVyZWQgU1ZHRm9udEZhY2VFbGVtZW50cy4KKyAgICAgICAgICAgIC0g
U2ltcGxpZnkgdGhlIGNvbnN0cnVjdG9yIHNpZ25hdHVyZS4gU3R5bGVzaGVldHMgYXJlIHBhcnQg
b2YgdGhlIGRvY3VtZW50LgorICAgICAgICAgICAgCisgICAgICAgICogZG9tL0RvY3VtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp+RG9jdW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnQ6OmNyZWF0ZVN0eWxlU2VsZWN0b3IpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6dXBkYXRlQmFzZVVSTCk6CisgICAgICAgICog
ZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50Ojpkb2N1bWVudFVzZXJTaGVldHMpOgorICAgICAgICAoRG9jdW1lbnQpOgorCisgICAg
ICAgICAgICAtIFJlbW92ZSBtYXBwZWRFbGVtZW50U2hlZXQgICAgICAgIAorICAgICAgICAgICAg
LSBBZGFwdCB0byB0aGUgQ1NTU3R5bGVTZWxlY3RvciBjb25zdHJ1Y3RvciBzaWduYXR1cmUgY2hh
bmdlcy4KKworICAgICAgICAqIHN2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpzdmdGb250RmFjZUVsZW1lbnRzKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnRFeHRlbnNp
b25zOjpyZWdpc3RlclNWR0ZvbnRGYWNlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdE
b2N1bWVudEV4dGVuc2lvbnM6OnVucmVnaXN0ZXJTVkdGb250RmFjZUVsZW1lbnQpOgorICAgICAg
ICAqIHN2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKToKKyAgICAgICAgCisgICAgICAgICAgICAtIEFk
ZCBtYXAgZm9yIFNWR0ZvbnRGYWNlRWxlbWVudHMKKworICAgICAgICAqIHN2Zy9TVkdGb250RmFj
ZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9udEZhY2VFbGVtZW50OjppbnNl
cnRlZEludG9Eb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdGb250RmFjZUVsZW1lbnQ6
OnJlbW92ZWRGcm9tRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogc3Zn
L1NWR0ZvbnRGYWNlRWxlbWVudC5oOgorICAgICAgICAoU1ZHRm9udEZhY2VFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNlRWxlbWVudDo6Zm9udEZhY2VSdWxlKToKKyAgICAg
ICAgCisgICAgICAgICAgICAtIFN3aXRjaCB0byB1cGRhdGluZyBzdmdGb250RmFjZUVsZW1lbnRz
IG1hcC4KKyAgICAgICAgICAgIC0gVXNlIGVsZW1lbnRTaGVldCBhcyB0aGUgcGFyZW50IHNoZWV0
IChub3RoaW5nIGlzIGV2ZXIgYWRkZWQgdG8gdGhlIGVsZW1lbnRTaGVldCwgaXQgaXMgdXNlZCBm
b3IKKyAgICAgICAgICAgICAgcmVzb2x2aW5nIHJlbGF0aXZlIFVSTHMgb25seSkuCisKIDIwMTIt
MDMtMjcgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAg
ICAgRW5hYmxlIGFuaW1WYWwgc3VwcG9ydCBmb3IgU1ZHQW5pbWF0ZWRSZWN0CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiAxMTIwNzYpCisrKyBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTkxLDYgKzkxLDggQEAKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJvdGF0
ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aCIKKyNpbmNsdWRlICJTVkdEb2N1bWVudEV4dGVuc2lvbnMuaCIKKyNpbmNsdWRlICJTVkdGb250
RmFjZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTY2FsZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgogI2lu
Y2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTMyMSwx
MyArMzIzLDExIEBAIHN0YXRpYyBTdHlsZVByb3BlcnR5U2V0KiByaWdodFRvTGVmdERlY2wKICAg
ICByZXR1cm4gcmlnaHRUb0xlZnREZWNsLmdldCgpOwogfQogCi1DU1NTdHlsZVNlbGVjdG9yOjpD
U1NTdHlsZVNlbGVjdG9yKERvY3VtZW50KiBkb2N1bWVudCwgU3R5bGVTaGVldExpc3QqIHN0eWxl
U2hlZXRzLCBDU1NTdHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hlZXQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBhZ2VVc2VyU2hlZXQsIGNvbnN0
IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiogcGFnZUdyb3VwVXNlclNoZWV0cywgY29u
c3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KiBkb2N1bWVudFVzZXJTaGVldHMsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgc3RyaWN0UGFyc2luZywgYm9v
bCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCitDU1NTdHlsZVNlbGVjdG9yOjpDU1NTdHlsZVNl
bGVjdG9yKERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMp
CiAgICAgOiBtX2hhc1VBQXBwZWFyYW5jZShmYWxzZSkKICAgICAsIG1fYmFja2dyb3VuZERhdGEo
QmFja2dyb3VuZEZpbGxMYXllcikKICAgICAsIG1fbWF0Y2hlZFByb3BlcnRpZXNDYWNoZUFkZGl0
aW9uc1NpbmNlTGFzdFN3ZWVwKDApCi0gICAgLCBtX2NoZWNrZXIoZG9jdW1lbnQsIHN0cmljdFBh
cnNpbmcpCisgICAgLCBtX2NoZWNrZXIoZG9jdW1lbnQsICFkb2N1bWVudC0+aW5RdWlya3NNb2Rl
KCkpCiAgICAgLCBtX3BhcmVudFN0eWxlKDApCiAgICAgLCBtX3Jvb3RFbGVtZW50U3R5bGUoMCkK
ICAgICAsIG1fZWxlbWVudCgwKQpAQCAtMzg2LDkgKzM4Niw5IEBAIENTU1N0eWxlU2VsZWN0b3I6
OkNTU1N0eWxlU2VsZWN0b3IoRG9jdW0KIAogICAgIC8vIEZJWE1FOiBUaGlzIHN1Y2tzISBUaGUg
dXNlciBzaGVldCBpcyByZXBhcnNlZCBldmVyeSB0aW1lIQogICAgIE93blB0cjxSdWxlU2V0PiB0
ZW1wVXNlclN0eWxlID0gYWRvcHRQdHIobmV3IFJ1bGVTZXQpOwotICAgIGlmIChwYWdlVXNlclNo
ZWV0KQorICAgIGlmIChDU1NTdHlsZVNoZWV0KiBwYWdlVXNlclNoZWV0ID0gZG9jdW1lbnQtPnBh
Z2VVc2VyU2hlZXQoKSkKICAgICAgICAgdGVtcFVzZXJTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQo
cGFnZVVzZXJTaGVldCwgKm1fbWVkaXVtLCB0aGlzKTsKLSAgICBpZiAocGFnZUdyb3VwVXNlclNo
ZWV0cykgeworICAgIGlmIChjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4qIHBh
Z2VHcm91cFVzZXJTaGVldHMgPSBkb2N1bWVudC0+cGFnZUdyb3VwVXNlclNoZWV0cygpKSB7CiAg
ICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9IHBhZ2VHcm91cFVzZXJTaGVldHMtPnNpemUoKTsKICAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAg
ICBpZiAocGFnZUdyb3VwVXNlclNoZWV0cy0+YXQoaSktPmlzVXNlclN0eWxlU2hlZXQoKSkKQEAg
LTM5Nyw3ICszOTcsNyBAQCBDU1NTdHlsZVNlbGVjdG9yOjpDU1NTdHlsZVNlbGVjdG9yKERvY3Vt
CiAgICAgICAgICAgICAgICAgbV9hdXRob3JTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQocGFnZUdy
b3VwVXNlclNoZWV0cy0+YXQoaSkuZ2V0KCksICptX21lZGl1bSwgdGhpcyk7CiAgICAgICAgIH0K
ICAgICB9Ci0gICAgaWYgKGRvY3VtZW50VXNlclNoZWV0cykgeworICAgIGlmIChjb25zdCBWZWN0
b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4qIGRvY3VtZW50VXNlclNoZWV0cyA9IGRvY3VtZW50
LT5kb2N1bWVudFVzZXJTaGVldHMoKSkgewogICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBkb2N1
bWVudFVzZXJTaGVldHMtPnNpemUoKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICBpZiAoZG9jdW1lbnRVc2VyU2hlZXRzLT5hdChp
KS0+aXNVc2VyU3R5bGVTaGVldCgpKQpAQCAtNDEwLDE0ICs0MTAsMTYgQEAgQ1NTU3R5bGVTZWxl
Y3Rvcjo6Q1NTU3R5bGVTZWxlY3RvcihEb2N1bQogICAgIGlmICh0ZW1wVXNlclN0eWxlLT5tX3J1
bGVDb3VudCA+IDAgfHwgdGVtcFVzZXJTdHlsZS0+bV9wYWdlUnVsZXMuc2l6ZSgpID4gMCkKICAg
ICAgICAgbV91c2VyU3R5bGUgPSB0ZW1wVXNlclN0eWxlLnJlbGVhc2UoKTsKIAotICAgIC8vIEFk
ZCBydWxlcyBmcm9tIGVsZW1lbnRzIGxpa2UgU1ZHJ3MgPGZvbnQtZmFjZT4KLSAgICBpZiAobWFw
cGVkRWxlbWVudFNoZWV0KSB7Ci0gICAgICAgIC8vIEZJWE1FOiBzZWUgaWYgc3R5bGUgc2NvcGVz
IGNhbi9zaG91bGQgYmUgYWRkZWQgaGVyZS4KLSAgICAgICAgbV9hdXRob3JTdHlsZS0+YWRkUnVs
ZXNGcm9tU2hlZXQobWFwcGVkRWxlbWVudFNoZWV0LCAqbV9tZWRpdW0sIHRoaXMpOworI2lmIEVO
QUJMRShTVkdfRk9OVFMpCisgICAgaWYgKGRvY3VtZW50LT5zdmdFeHRlbnNpb25zKCkpIHsKKyAg
ICAgICAgY29uc3QgSGFzaFNldDxTVkdGb250RmFjZUVsZW1lbnQqPiYgc3ZnRm9udEZhY2VFbGVt
ZW50cyA9IGRvY3VtZW50LT5zdmdFeHRlbnNpb25zKCktPnN2Z0ZvbnRGYWNlRWxlbWVudHMoKTsK
KyAgICAgICAgSGFzaFNldDxTVkdGb250RmFjZUVsZW1lbnQqPjo6Y29uc3RfaXRlcmF0b3IgZW5k
ID0gc3ZnRm9udEZhY2VFbGVtZW50cy5lbmQoKTsKKyAgICAgICAgZm9yIChIYXNoU2V0PFNWR0Zv
bnRGYWNlRWxlbWVudCo+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHN2Z0ZvbnRGYWNlRWxlbWVudHMu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICAgICAgZm9udFNlbGVjdG9yKCktPmFk
ZEZvbnRGYWNlUnVsZSgoKml0KS0+Zm9udEZhY2VSdWxlKCkpOwogICAgIH0KKyNlbmRpZgogCi0g
ICAgLy8gYWRkIHN0eWxlc2hlZXRzIGZyb20gZG9jdW1lbnQKLSAgICBhcHBlbmRBdXRob3JTdHls
ZXNoZWV0cygwLCBzdHlsZVNoZWV0cy0+dmVjdG9yKCkpOworICAgIGFwcGVuZEF1dGhvclN0eWxl
c2hlZXRzKDAsIGRvY3VtZW50LT5zdHlsZVNoZWV0cygpLT52ZWN0b3IoKSk7CiB9CiAgICAgCiBz
dGF0aWMgUGFzc093blB0cjxSdWxlU2V0PiBtYWtlUnVsZVNldChjb25zdCBWZWN0b3I8Q1NTU3R5
bGVTZWxlY3Rvcjo6UnVsZVNlbGVjdG9yUGFpcj4mIHJ1bGVzKQpJbmRleDogU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5oCShyZXZpc2lvbiAxMTIwMzcpCisrKyBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsOSArMTA0LDcg
QEAgcHVibGljOgogY2xhc3MgQ1NTU3R5bGVTZWxlY3RvciB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTU3R5bGVTZWxlY3Rvcik7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgotICAgIENTU1N0eWxlU2VsZWN0b3IoRG9jdW1lbnQqLCBTdHlsZVNoZWV0TGlzdCogYXV0aG9y
U2hlZXRzLCBDU1NTdHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hlZXQsCi0gICAgICAgICAgICAg
ICAgICAgICBDU1NTdHlsZVNoZWV0KiBwYWdlVXNlclNoZWV0LCBjb25zdCBWZWN0b3I8UmVmUHRy
PENTU1N0eWxlU2hlZXQ+ID4qIHBhZ2VHcm91cFVzZXJTaGVldHMsIGNvbnN0IFZlY3RvcjxSZWZQ
dHI8Q1NTU3R5bGVTaGVldD4gPiogZG9jdW1lbnRVc2VyU2hlZXRzLAotICAgICAgICAgICAgICAg
ICAgICAgYm9vbCBzdHJpY3RQYXJzaW5nLCBib29sIG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcyk7
CisgICAgQ1NTU3R5bGVTZWxlY3RvcihEb2N1bWVudCosIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2Vy
U3R5bGVzKTsKICAgICB+Q1NTU3R5bGVTZWxlY3RvcigpOwogCiAgICAgLy8gVXNpbmcgdGhlc2Ug
ZHVyaW5nIHRyZWUgd2FsayB3aWxsIGFsbG93IHN0eWxlIHNlbGVjdG9yIHRvIG9wdGltaXplIGNo
aWxkIGFuZCBkZXNjZW5kYW50IHNlbGVjdG9yIGxvb2t1cHMuCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAJKHJldmlzaW9uIDExMjAzNykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1Niw4ICs1NTYsNiBAQCBEb2N1bWVudDo6fkRvY3Vt
ZW50KCkKIAogICAgIGlmIChtX2VsZW1TaGVldCkKICAgICAgICAgbV9lbGVtU2hlZXQtPmNsZWFy
T3duZXJOb2RlKCk7Ci0gICAgaWYgKG1fbWFwcGVkRWxlbWVudFNoZWV0KQotICAgICAgICBtX21h
cHBlZEVsZW1lbnRTaGVldC0+Y2xlYXJPd25lck5vZGUoKTsKICAgICBpZiAobV9wYWdlVXNlclNo
ZWV0KQogICAgICAgICBtX3BhZ2VVc2VyU2hlZXQtPmNsZWFyT3duZXJOb2RlKCk7CiAgICAgaWYg
KG1fcGFnZUdyb3VwVXNlclNoZWV0cykgewpAQCAtMTg1NiwxMSArMTg1NCwxMCBAQCB2b2lkIERv
Y3VtZW50OjpjcmVhdGVTdHlsZVNlbGVjdG9yKCkKICAgICBib29sIG1hdGNoQXV0aG9yQW5kVXNl
clN0eWxlcyA9IHRydWU7CiAgICAgaWYgKFNldHRpbmdzKiBkb2NTZXR0aW5ncyA9IHNldHRpbmdz
KCkpCiAgICAgICAgIG1hdGNoQXV0aG9yQW5kVXNlclN0eWxlcyA9IGRvY1NldHRpbmdzLT5hdXRo
b3JBbmRVc2VyU3R5bGVzRW5hYmxlZCgpOwotICAgIG1fc3R5bGVTZWxlY3RvciA9IGFkb3B0UHRy
KG5ldyBDU1NTdHlsZVNlbGVjdG9yKHRoaXMsIG1fc3R5bGVTaGVldHMuZ2V0KCksIG1fbWFwcGVk
RWxlbWVudFNoZWV0LmdldCgpLCBwYWdlVXNlclNoZWV0KCksIHBhZ2VHcm91cFVzZXJTaGVldHMo
KSwgbV91c2VyU2hlZXRzLmdldCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICFpblF1aXJrc01vZGUoKSwgbWF0Y2hBdXRob3JBbmRVc2VyU3R5
bGVzKSk7CisgICAgbV9zdHlsZVNlbGVjdG9yID0gYWRvcHRQdHIobmV3IENTU1N0eWxlU2VsZWN0
b3IodGhpcywgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKSk7CiAgICAgY29tYmluZUNTU0ZlYXR1
cmVGbGFncygpOwogfQotICAgIAorCiBpbmxpbmUgdm9pZCBEb2N1bWVudDo6Y2xlYXJTdHlsZVNl
bGVjdG9yKCkKIHsKICAgICBtX3N0eWxlU2VsZWN0b3IuY2xlYXIoKTsKQEAgLTI1MjMsOCArMjUy
MCw2IEBAIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUJhc2VVUkwoKQogCiAgICAgaWYgKG1fZWxlbVNo
ZWV0KQogICAgICAgICBtX2VsZW1TaGVldC0+c2V0RmluYWxVUkwobV9iYXNlVVJMKTsKLSAgICBp
ZiAobV9tYXBwZWRFbGVtZW50U2hlZXQpCi0gICAgICAgIG1fbWFwcGVkRWxlbWVudFNoZWV0LT5z
ZXRGaW5hbFVSTChtX2Jhc2VVUkwpOwogICAgIAogICAgIGlmICghZXF1YWxJZ25vcmluZ0ZyYWdt
ZW50SWRlbnRpZmllcihvbGRCYXNlVVJMLCBtX2Jhc2VVUkwpKSB7CiAgICAgICAgIC8vIEJhc2Ug
VVJMIGNoYW5nZSBjaGFuZ2VzIGFueSByZWxhdGl2ZSB2aXNpdGVkIGxpbmtzLgpAQCAtMjY5Mywx
MyArMjY4OCw2IEBAIENTU1N0eWxlU2hlZXQqIERvY3VtZW50OjplbGVtZW50U2hlZXQoKQogICAg
IHJldHVybiBtX2VsZW1TaGVldC5nZXQoKTsKIH0KIAotQ1NTU3R5bGVTaGVldCogRG9jdW1lbnQ6
Om1hcHBlZEVsZW1lbnRTaGVldCgpCi17Ci0gICAgaWYgKCFtX21hcHBlZEVsZW1lbnRTaGVldCkK
LSAgICAgICAgbV9tYXBwZWRFbGVtZW50U2hlZXQgPSBDU1NTdHlsZVNoZWV0OjpjcmVhdGVJbmxp
bmUodGhpcywgbV9iYXNlVVJMKTsKLSAgICByZXR1cm4gbV9tYXBwZWRFbGVtZW50U2hlZXQuZ2V0
KCk7Ci19Ci0KIGludCBEb2N1bWVudDo6bm9kZUFic0luZGV4KE5vZGUgKm5vZGUpCiB7CiAgICAg
QVNTRVJUKG5vZGUtPmRvY3VtZW50KCkgPT0gdGhpcyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAkocmV2aXNpb24gMTEyMDM3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTYyOSwxMCArNjI5LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGNsZWFy
UGFnZUdyb3VwVXNlclNoZWV0cygpOwogICAgIHZvaWQgdXBkYXRlUGFnZUdyb3VwVXNlclNoZWV0
cygpOwogCisgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+KiBkb2N1bWVu
dFVzZXJTaGVldHMoKSBjb25zdCB7IHJldHVybiBtX3VzZXJTaGVldHMuZ2V0KCk7IH0KICAgICB2
b2lkIGFkZFVzZXJTaGVldChQYXNzUmVmUHRyPENTU1N0eWxlU2hlZXQ+IHVzZXJTaGVldCk7CiAK
ICAgICBDU1NTdHlsZVNoZWV0KiBlbGVtZW50U2hlZXQoKTsKLSAgICBDU1NTdHlsZVNoZWV0KiBt
YXBwZWRFbGVtZW50U2hlZXQoKTsKICAgICAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RG9jdW1l
bnRQYXJzZXI+IGNyZWF0ZVBhcnNlcigpOwogICAgIERvY3VtZW50UGFyc2VyKiBwYXJzZXIoKSBj
b25zdCB7IHJldHVybiBtX3BhcnNlci5nZXQoKTsgfQpAQCAtMTI1NSw3ICsxMjU1LDYgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faGFzTm9kZXNXaXRoUGxhY2Vob2xkZXJTdHlsZTsKIAogICAgIFJl
ZlB0cjxDU1NTdHlsZVNoZWV0PiBtX2VsZW1TaGVldDsKLSAgICBSZWZQdHI8Q1NTU3R5bGVTaGVl
dD4gbV9tYXBwZWRFbGVtZW50U2hlZXQ7CiAgICAgUmVmUHRyPENTU1N0eWxlU2hlZXQ+IG1fcGFn
ZVVzZXJTaGVldDsKICAgICBtdXRhYmxlIE93blB0cjxWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hl
ZXQ+ID4gPiBtX3BhZ2VHcm91cFVzZXJTaGVldHM7CiAgICAgT3duUHRyPFZlY3RvcjxSZWZQdHI8
Q1NTU3R5bGVTaGVldD4gPiA+IG1fdXNlclNoZWV0czsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdEb2N1bWVudEV4dGVuc2lvbnMuY3BwCShyZXZpc2lvbiAxMTIwMzcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDE4LDYgKzQxOCwxNyBAQCB2b2lkIFNWR0RvY3VtZW50RXh0ZW5zaW9uczo6cmVtb3ZlQWxs
RWxlCiAgICAgICAgICgqdmVjdG9ySXQpLT5zdmdBdHRyaWJ1dGVDaGFuZ2VkKFhMaW5rTmFtZXM6
OmhyZWZBdHRyKTsKIH0KIAordm9pZCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OnJlZ2lzdGVyU1ZH
Rm9udEZhY2VFbGVtZW50KFNWR0ZvbnRGYWNlRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBtX3N2
Z0ZvbnRGYWNlRWxlbWVudHMuYWRkKGVsZW1lbnQpOworfQorCit2b2lkIFNWR0RvY3VtZW50RXh0
ZW5zaW9uczo6dW5yZWdpc3RlclNWR0ZvbnRGYWNlRWxlbWVudChTVkdGb250RmFjZUVsZW1lbnQq
IGVsZW1lbnQpCit7CisgICAgQVNTRVJUKG1fc3ZnRm9udEZhY2VFbGVtZW50cy5jb250YWlucyhl
bGVtZW50KSk7CisgICAgbV9zdmdGb250RmFjZUVsZW1lbnRzLnJlbW92ZShlbGVtZW50KTsKK30K
KwogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudEV4dGVu
c2lvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRl
bnNpb25zLmgJKHJldmlzaW9uIDExMjAzNykKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1
bWVudEV4dGVuc2lvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFJlbmRlclNWR1Jlc291cmNlQ29u
dGFpbmVyOwogY2xhc3MgU1ZHRWxlbWVudDsKK2NsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsKIGNs
YXNzIFNWR1Jlc291cmNlc0NhY2hlOwogY2xhc3MgU1ZHU01JTEVsZW1lbnQ7CiBjbGFzcyBTVkdT
VkdFbGVtZW50OwpAQCAtNzIsMTAgKzczLDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZUFs
bFRhcmdldFJlZmVyZW5jZXNGb3JFbGVtZW50KFNWR0VsZW1lbnQqIHJlZmVyZW5jaW5nRWxlbWVu
dCk7CiAgICAgdm9pZCByZW1vdmVBbGxFbGVtZW50UmVmZXJlbmNlc0ZvclRhcmdldChTVkdFbGVt
ZW50KiByZWZlcmVuY2VkRWxlbWVudCk7CiAKKyAgICBjb25zdCBIYXNoU2V0PFNWR0ZvbnRGYWNl
RWxlbWVudCo+JiBzdmdGb250RmFjZUVsZW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV9zdmdGb250
RmFjZUVsZW1lbnRzOyB9CisgICAgdm9pZCByZWdpc3RlclNWR0ZvbnRGYWNlRWxlbWVudChTVkdG
b250RmFjZUVsZW1lbnQqKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTVkdGb250RmFjZUVsZW1lbnQo
U1ZHRm9udEZhY2VFbGVtZW50Kik7CisKIHByaXZhdGU6CiAgICAgRG9jdW1lbnQqIG1fZG9jdW1l
bnQ7IC8vIHdlYWsgcmVmZXJlbmNlCiAgICAgSGFzaFNldDxTVkdTVkdFbGVtZW50Kj4gbV90aW1l
Q29udGFpbmVyczsgLy8gRm9yIFNWRyAxLjIgc3VwcG9ydCB0aGlzIHdpbGwgbmVlZCB0byBiZSBt
YWRlIG1vcmUgZ2VuZXJhbC4KICAgICBIYXNoTWFwPFNWR0VsZW1lbnQqLCBIYXNoU2V0PFNWR1NN
SUxFbGVtZW50Kj4qID4gbV9hbmltYXRlZEVsZW1lbnRzOworICAgIEhhc2hTZXQ8U1ZHRm9udEZh
Y2VFbGVtZW50Kj4gbV9zdmdGb250RmFjZUVsZW1lbnRzOwogICAgIEhhc2hNYXA8QXRvbWljU3Ry
aW5nLCBSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcio+IG1fcmVzb3VyY2VzOwogICAgIEhhc2hN
YXA8QXRvbWljU3RyaW5nLCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJjZXM7
IC8vIFJlc291cmNlcyB0aGF0IGFyZSBwZW5kaW5nLgogICAgIEhhc2hNYXA8QXRvbWljU3RyaW5n
LCBTVkdQZW5kaW5nRWxlbWVudHMqPiBtX3BlbmRpbmdSZXNvdXJjZXNGb3JSZW1vdmFsOyAvLyBS
ZXNvdXJjZXMgdGhhdCBhcmUgcGVuZGluZyBhbmQgc2NoZWR1bGVkIGZvciByZW1vdmFsLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDEx
MjAzNykKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJGb250LmgiCisjaW5jbHVkZSAiU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgiCiAjaW5jbHVkZSAiU1ZHRm9udEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJTVkdGb250RmFjZVNyY0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdHbHlwaEVsZW1lbnQuaCIK
QEAgLTMxOCwxNiArMzE5LDIxIEBAIHZvaWQgU1ZHRm9udEZhY2VFbGVtZW50OjpyZWJ1aWxkRm9u
dEZhY2UKIHZvaWQgU1ZHRm9udEZhY2VFbGVtZW50OjppbnNlcnRlZEludG9Eb2N1bWVudCgpCiB7
CiAgICAgU1ZHRWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKLSAgICBkb2N1bWVudCgp
LT5tYXBwZWRFbGVtZW50U2hlZXQoKS0+YXBwZW5kKG1fZm9udEZhY2VSdWxlKTsKLSAgICBtX2Zv
bnRGYWNlUnVsZS0+c2V0UGFyZW50U3R5bGVTaGVldChkb2N1bWVudCgpLT5tYXBwZWRFbGVtZW50
U2hlZXQoKSk7CisKKyAgICBkb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCktPnJlZ2lz
dGVyU1ZHRm9udEZhY2VFbGVtZW50KHRoaXMpOworICAgIG1fZm9udEZhY2VSdWxlLT5zZXRQYXJl
bnRTdHlsZVNoZWV0KGRvY3VtZW50KCktPmVsZW1lbnRTaGVldCgpKTsKKwogICAgIHJlYnVpbGRG
b250RmFjZSgpOwogfQogCiB2b2lkIFNWR0ZvbnRGYWNlRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1
bWVudCgpCiB7Ci0gICAgcmVtb3ZlRnJvbU1hcHBlZEVsZW1lbnRTaGVldCgpOwogICAgIFNWR0Vs
ZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKKworICAgIGRvY3VtZW50KCktPmFjY2Vzc1NW
R0V4dGVuc2lvbnMoKS0+dW5yZWdpc3RlclNWR0ZvbnRGYWNlRWxlbWVudCh0aGlzKTsKICAgICBt
X2ZvbnRGYWNlUnVsZS0+ZGVjbGFyYXRpb24oKS0+cGFyc2VEZWNsYXJhdGlvbihlbXB0eVN0cmlu
ZygpLCAwKTsKKworICAgIGRvY3VtZW50KCktPnN0eWxlU2VsZWN0b3JDaGFuZ2VkKERlZmVyUmVj
YWxjU3R5bGUpOwogfQogCiB2b2lkIFNWR0ZvbnRGYWNlRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2Vk
KGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5vZGUqIGFmdGVyQ2hh
bmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQpAQCAtMzM2LDIxICszNDIsNiBAQCB2b2lkIFNWR0Zv
bnRGYWNlRWxlbWVudDo6Y2hpbGRyZW5DaGFuZ2VkCiAgICAgcmVidWlsZEZvbnRGYWNlKCk7CiB9
CiAKLXZvaWQgU1ZHRm9udEZhY2VFbGVtZW50OjpyZW1vdmVGcm9tTWFwcGVkRWxlbWVudFNoZWV0
KCkKLXsKLSAgICBDU1NTdHlsZVNoZWV0KiBtYXBwZWRFbGVtZW50U2hlZXQgPSBkb2N1bWVudCgp
LT5tYXBwZWRFbGVtZW50U2hlZXQoKTsKLSAgICBpZiAoIW1hcHBlZEVsZW1lbnRTaGVldCkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1hcHBlZEVsZW1l
bnRTaGVldC0+bGVuZ3RoKCk7ICsraSkgewotICAgICAgICBpZiAobWFwcGVkRWxlbWVudFNoZWV0
LT5pdGVtKGkpID09IG1fZm9udEZhY2VSdWxlKSB7Ci0gICAgICAgICAgICBtYXBwZWRFbGVtZW50
U2hlZXQtPnJlbW92ZShpKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQot
ICAgIGRvY3VtZW50KCktPnN0eWxlU2VsZWN0b3JDaGFuZ2VkKERlZmVyUmVjYWxjU3R5bGUpOwot
fQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHX0ZPTlRT
KQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuaAkocmV2aXNpb24g
MTEyMDM3KQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OCw3ICs0OCw4IEBAIHB1YmxpYzoKIAogICAgIFNWR0ZvbnRFbGVtZW50
KiBhc3NvY2lhdGVkRm9udEVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lkIHJlYnVpbGRGb250RmFj
ZSgpOwotICAgIHZvaWQgcmVtb3ZlRnJvbU1hcHBlZEVsZW1lbnRTaGVldCgpOworICAgIAorICAg
IENTU0ZvbnRGYWNlUnVsZSogZm9udEZhY2VSdWxlKCkgY29uc3QgeyByZXR1cm4gbV9mb250RmFj
ZVJ1bGUuZ2V0KCk7IH0KIAogcHJpdmF0ZToKICAgICBTVkdGb250RmFjZUVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>