<?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>46718</bug_id>
          
          <creation_ts>2010-09-28 05:33:14 -0700</creation_ts>
          <short_desc>[Qt] Remove support for Qt 4.5</short_desc>
          <delta_ts>2010-09-28 08:10:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Trivial</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>286190</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-09-28 05:33:14 -0700</bug_when>
    <thetext>With the release of Qt 4.7, we no longer support antique Qt versions ;)

We can remove all the check for QT_VERSION_CHECK(4, 6, 0) in order to clean the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286201</commentid>
    <comment_count>1</comment_count>
      <attachid>69042</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-09-28 06:52:03 -0700</bug_when>
    <thetext>Created attachment 69042
First patch, for WebCore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286204</commentid>
    <comment_count>2</comment_count>
      <attachid>69044</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-09-28 06:58:25 -0700</bug_when>
    <thetext>Created attachment 69044
WebKit&apos;s support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286207</commentid>
    <comment_count>3</comment_count>
      <attachid>69044</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-28 07:03:11 -0700</bug_when>
    <thetext>Comment on attachment 69044
WebKit&apos;s support

Rejecting patch 69044 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;apply-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--quiet&apos;, 69044]&quot; exit_code: 2
Cleaning working directory
Updating working directory
Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=69044&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=46718&amp;ctype=xml
Processing 1 patch from 1 bug.
Processing patch 69044 from bug 46718.
Failed to run &quot;[u&apos;/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Andreas Kling&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/4021180</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286208</commentid>
    <comment_count>4</comment_count>
      <attachid>69044</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-09-28 07:07:47 -0700</bug_when>
    <thetext>Comment on attachment 69044
WebKit&apos;s support

Er, what? Let&apos;s try again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286209</commentid>
    <comment_count>5</comment_count>
      <attachid>69046</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-09-28 07:08:13 -0700</bug_when>
    <thetext>Created attachment 69046
For WebKit 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286210</commentid>
    <comment_count>6</comment_count>
      <attachid>69042</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-28 07:09:32 -0700</bug_when>
    <thetext>Comment on attachment 69042
First patch, for WebCore

Clearing flags on attachment: 69042

Committed r68510: &lt;http://trac.webkit.org/changeset/68510&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286211</commentid>
    <comment_count>7</comment_count>
      <attachid>69047</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-09-28 07:13:35 -0700</bug_when>
    <thetext>Created attachment 69047
For WebKitTools</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286213</commentid>
    <comment_count>8</comment_count>
      <attachid>69046</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-28 07:23:23 -0700</bug_when>
    <thetext>Comment on attachment 69046
For WebKit 2

Clearing flags on attachment: 69046

Committed r68512: &lt;http://trac.webkit.org/changeset/68512&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286221</commentid>
    <comment_count>9</comment_count>
      <attachid>69047</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-28 07:40:50 -0700</bug_when>
    <thetext>Comment on attachment 69047
For WebKitTools

Clearing flags on attachment: 69047

Committed r68514: &lt;http://trac.webkit.org/changeset/68514&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286234</commentid>
    <comment_count>10</comment_count>
      <attachid>69044</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-28 08:03:39 -0700</bug_when>
    <thetext>Comment on attachment 69044
WebKit&apos;s support

Rejecting patch 69044 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;apply-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--quiet&apos;, 69044]&quot; exit_code: 2
Cleaning working directory
Updating working directory
Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=69044&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=46718&amp;ctype=xml
Processing 1 patch from 1 bug.
Processing patch 69044 from bug 46718.
Failed to run &quot;[u&apos;/Users/abarth/git/webkit-queue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Andreas Kling&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/4074139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286242</commentid>
    <comment_count>11</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-09-28 08:10:02 -0700</bug_when>
    <thetext>Committed r68517: &lt;http://trac.webkit.org/changeset/68517&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286243</commentid>
    <comment_count>12</comment_count>
      <attachid>69044</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-09-28 08:10:36 -0700</bug_when>
    <thetext>Comment on attachment 69044
WebKit&apos;s support

Landed manually in &lt;http://trac.webkit.org/changeset/68517&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69042</attachid>
            <date>2010-09-28 06:52:03 -0700</date>
            <delta_ts>2010-09-28 07:09:32 -0700</delta_ts>
            <desc>First patch, for WebCore</desc>
            <filename>46718_webcore.diff</filename>
            <type>text/plain</type>
            <size>5702</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjdkMTE4MC4uYWI3ZjhlMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0wOS0yOCAgQmVuamFtaW4gUG91
bGFpbiAgPGJlbmphbWluLnBvdWxhaW5Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gUmVtb3ZlIHN1cHBvcnQgZm9yIFF0IDQu
NQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY3MTgK
KworICAgICAgICBSZW1vdmUgdGhlIGNvZGUgZm9yIHZlcnNpb25zIG9mIFF0IHByaW9yIHRvIDQu
Ni4KKworICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIGZlYXR1cmVzLnByaToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5kbGVyOjpRTmV0d29ya1JlcGx5SGFuZGxl
cik6CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c3RhcnQpOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUmVzb3VyY2VSZXF1ZXN0UXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojp0b05ldHdvcmtSZXF1ZXN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9RV2ViUGFnZUNsaWVudC5oOgorCiAyMDEwLTA5LTI4ICBLZW50IFRhbXVy
YSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBydW4gc29ydC1Y
Y29kZS1wcm9qZWN0LWZpbGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9XZWJD
b3JlL1dlYkNvcmUucHJvCmluZGV4IDMzN2QyMjcuLmEzNDIyYzEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAtMzA0Myw3ICszMDQz
LDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1ZJREVPPTEpIHsKICAgICAgICAgICAgIGJp
bmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5jcHAKICAgICB9CiAKLSAgICAgICAgIWxlc3NU
aGFuKFFUX01JTk9SX1ZFUlNJT04sIDYpOmNvbnRhaW5zKE1PQklMSVRZX0NPTkZJRywgbXVsdGlt
ZWRpYSkgeworICAgICAgICAgY29udGFpbnMoTU9CSUxJVFlfQ09ORklHLCBtdWx0aW1lZGlhKSB7
CiAgICAgICAgICAgICBIRUFERVJTICs9IHBsYXRmb3JtL2dyYXBoaWNzL3F0L01lZGlhUGxheWVy
UHJpdmF0ZVF0LmgKICAgICAgICAgICAgIFNPVVJDRVMgKz0gcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
TWVkaWFQbGF5ZXJQcml2YXRlUXQuY3BwCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZmVhdHVyZXMu
cHJpIGIvV2ViQ29yZS9mZWF0dXJlcy5wcmkKaW5kZXggZGYxYzkxZi4uZjhiNGJjMyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9mZWF0dXJlcy5wcmkKKysrIGIvV2ViQ29yZS9mZWF0dXJlcy5wcmkKQEAg
LTY4LDEwICs2OCw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TSU5HTEVfVEhSRUFERUQ9
MSkgewogIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9OT1RJRklDQVRJT05TPS4pOiBERUZJTkVT
ICs9IEVOQUJMRV9OT1RJRklDQVRJT05TPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfSU1B
R0VfUkVTSVpFUj0uKTogREVGSU5FUyArPSBFTkFCTEVfSU1BR0VfUkVTSVpFUj0wCiAhY29udGFp
bnMoREVGSU5FUywgRU5BQkxFX0lOUFVUX1NQRUVDSD0uKTogREVGSU5FUyArPSBFTkFCTEVfSU5Q
VVRfU1BFRUNIPTAKLQotZ3JlYXRlclRoYW4oUVRfTUlOT1JfVkVSU0lPTiwgNSkgewotICAgICFj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfM0RfUkVOREVSSU5HPS4pOiBERUZJTkVTICs9IEVOQUJM
RV8zRF9SRU5ERVJJTkc9MQotfQorIWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV8zRF9SRU5ERVJJ
Tkc9Lik6IERFRklORVMgKz0gRU5BQkxFXzNEX1JFTkRFUklORz0xCiAKICMgU1ZHIHN1cHBvcnQK
ICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfU1ZHPTApIHsKQEAgLTg5LDkgKzg2LDcgQEAgZ3Jl
YXRlclRoYW4oUVRfTUlOT1JfVkVSU0lPTiwgNSkgewogIWNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9EQVRBTElTVD0uKTogREVGSU5FUyArPSBFTkFCTEVfREFUQUxJU1Q9MQogCiAjIFRpbGVkIEJh
Y2tpbmcgU3RvcmUgc3VwcG9ydAotZ3JlYXRlclRoYW4oUVRfTUlOT1JfVkVSU0lPTiwgNSkgewot
ICAgICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfVElMRURfQkFDS0lOR19TVE9SRT0uKTogREVG
SU5FUyArPSBFTkFCTEVfVElMRURfQkFDS0lOR19TVE9SRT0xCi19CishY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX1RJTEVEX0JBQ0tJTkdfU1RPUkU9Lik6IERFRklORVMgKz0gRU5BQkxFX1RJTEVE
X0JBQ0tJTkdfU1RPUkU9MQogCiAjIE5lc2NhcGUgcGx1Z2lucyBzdXBwb3J0IChOUEFQSSkKICFj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQST0uKSB7CkBAIC0xMzMs
OCArMTI4LDcgQEAgZ3JlYXRlclRoYW4oUVRfTUlOT1JfVkVSU0lPTiwgNSkgewogICAgIH0KIH0K
IAotIyBFbmFibGUgdG91Y2ggZXZlbnQgc3VwcG9ydCB3aXRoIFF0IDQuNgotIWxlc3NUaGFuKFFU
X01JTk9SX1ZFUlNJT04sIDYpOiBERUZJTkVTICs9IEVOQUJMRV9UT1VDSF9FVkVOVFM9MQorREVG
SU5FUyArPSBFTkFCTEVfVE9VQ0hfRVZFTlRTPTEKIAogIyBIVE1MNSBNZWRpYSBTdXBwb3J0CiAj
IFdlIHJlcXVpcmUgUXRNdWx0aW1lZGlhIG9yIFBob25vbgpAQCAtMTQyLDcgKzEzNiw3IEBAIGdy
ZWF0ZXJUaGFuKFFUX01JTk9SX1ZFUlNJT04sIDUpIHsKICAgICBERUZJTkVTIC09IEVOQUJMRV9W
SURFTz0xCiAgICAgREVGSU5FUyArPSBFTkFCTEVfVklERU89MAogCi0gICAgIWxlc3NUaGFuKFFU
X01JTk9SX1ZFUlNJT04sIDYpOmNvbnRhaW5zKE1PQklMSVRZX0NPTkZJRywgbXVsdGltZWRpYSkg
eworICAgIGNvbnRhaW5zKE1PQklMSVRZX0NPTkZJRywgbXVsdGltZWRpYSkgewogICAgICAgICBE
RUZJTkVTIC09IEVOQUJMRV9WSURFTz0wCiAgICAgICAgIERFRklORVMgKz0gRU5BQkxFX1ZJREVP
PTEKICAgICB9IGVsc2U6Y29udGFpbnMoUVRfQ09ORklHLCBwaG9ub24pIHsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAgYi9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCmluZGV4
IGIzMzQ0NGIuLmNhM2FmNzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9x
dC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcApAQCAtMTYxLDEwICsxNjEsOCBAQCBRTmV0d29y
a1JlcGx5SGFuZGxlcjo6UU5ldHdvcmtSZXBseUhhbmRsZXIoUmVzb3VyY2VIYW5kbGUqIGhhbmRs
ZSwgTG9hZE1vZGUgbG9hZAogICAgICAgICBtX21ldGhvZCA9IFFOZXR3b3JrQWNjZXNzTWFuYWdl
cjo6UG9zdE9wZXJhdGlvbjsKICAgICBlbHNlIGlmIChyLmh0dHBNZXRob2QoKSA9PSAiUFVUIikK
ICAgICAgICAgbV9tZXRob2QgPSBRTmV0d29ya0FjY2Vzc01hbmFnZXI6OlB1dE9wZXJhdGlvbjsK
LSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICBlbHNlIGlm
IChyLmh0dHBNZXRob2QoKSA9PSAiREVMRVRFIikKICAgICAgICAgbV9tZXRob2QgPSBRTmV0d29y
a0FjY2Vzc01hbmFnZXI6OkRlbGV0ZU9wZXJhdGlvbjsKLSNlbmRpZgogI2lmIFFUX1ZFUlNJT04g
Pj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA3LCAwKQogICAgIGVsc2UgaWYgKHIuaHR0cE1ldGhvZCgp
ID09ICJPUFRJT05TIikKICAgICAgICAgbV9tZXRob2QgPSBRTmV0d29ya0FjY2Vzc01hbmFnZXI6
OkN1c3RvbU9wZXJhdGlvbjsKQEAgLTQ2OCwxMiArNDY2LDEwIEBAIHZvaWQgUU5ldHdvcmtSZXBs
eUhhbmRsZXI6OnN0YXJ0KCkKICAgICAgICAgICAgIHB1dERldmljZS0+c2V0UGFyZW50KG1fcmVw
bHkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSNpZiBRVF9WRVJTSU9OID49IFFU
X1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICAgICAgY2FzZSBRTmV0d29ya0FjY2Vzc01hbmFn
ZXI6OkRlbGV0ZU9wZXJhdGlvbjogewogICAgICAgICAgICAgbV9yZXBseSA9IG1hbmFnZXItPmRl
bGV0ZVJlc291cmNlKG1fcmVxdWVzdCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQot
I2VuZGlmCiAjaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDcsIDApCiAgICAg
ICAgIGNhc2UgUU5ldHdvcmtBY2Nlc3NNYW5hZ2VyOjpDdXN0b21PcGVyYXRpb246CiAgICAgICAg
ICAgICBtX3JlcGx5ID0gbWFuYWdlci0+c2VuZEN1c3RvbVJlcXVlc3QobV9yZXF1ZXN0LCBtX3Jl
c291cmNlSGFuZGxlLT5maXJzdFJlcXVlc3QoKS5odHRwTWV0aG9kKCkubGF0aW4xKCkuZGF0YSgp
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9SZXNvdXJjZVJlcXVl
c3RRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUmVzb3VyY2VSZXF1ZXN0UXQu
Y3BwCmluZGV4IDRkNTc2YzcuLjdlMTYyZWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9xdC9SZXNvdXJjZVJlcXVlc3RRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3F0L1Jlc291cmNlUmVxdWVzdFF0LmNwcApAQCAtNDcsOSArNDcsNyBAQCBRTmV0d29y
a1JlcXVlc3QgUmVzb3VyY2VSZXF1ZXN0Ojp0b05ldHdvcmtSZXF1ZXN0KFFPYmplY3QqIG9yaWdp
bmF0aW5nRnJhbWUpIGNvbgogewogICAgIFFOZXR3b3JrUmVxdWVzdCByZXF1ZXN0OwogICAgIHJl
cXVlc3Quc2V0VXJsKHVybCgpKTsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0so
NCwgNiwgMCkKICAgICByZXF1ZXN0LnNldE9yaWdpbmF0aW5nT2JqZWN0KG9yaWdpbmF0aW5nRnJh
bWUpOwotI2VuZGlmCiAKICAgICBjb25zdCBIVFRQSGVhZGVyTWFwICZoZWFkZXJzID0gaHR0cEhl
YWRlckZpZWxkcygpOwogICAgIGZvciAoSFRUUEhlYWRlck1hcDo6Y29uc3RfaXRlcmF0b3IgaXQg
PSBoZWFkZXJzLmJlZ2luKCksIGVuZCA9IGhlYWRlcnMuZW5kKCk7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL3F0L1FXZWJQYWdlQ2xpZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1FX
ZWJQYWdlQ2xpZW50LmgKaW5kZXggYTBhMDIxOC4uOTMwMWNkNSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9RV2ViUGFnZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQv
UVdlYlBhZ2VDbGllbnQuaApAQCAtNTgsOSArNTgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIGFsbG93c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogI2VuZGlmCiAKLSNpZiBRVF9WRVJTSU9OID49IDB4MDQwNjAwCiAgICAgdmlydHVhbCB2b2lk
IHNldElucHV0TWV0aG9kSGludHMoUXQ6OklucHV0TWV0aG9kSGludHMgaGludCkgPSAwOwotI2Vu
ZGlmCiAKICNpZm5kZWYgUVRfTk9fQ1VSU09SCiAgICAgaW5saW5lIHZvaWQgcmVzZXRDdXJzb3Io
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69044</attachid>
            <date>2010-09-28 06:58:25 -0700</date>
            <delta_ts>2010-09-28 08:10:50 -0700</delta_ts>
            <desc>WebKit&apos;s support</desc>
            <filename>46718_webkit.diff</filename>
            <type>text/plain</type>
            <size>25621</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAgYi9XZWJLaXQv
cXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCmluZGV4IDM4MzZlMzQuLjM2ZDQzMjYgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L3F0
L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcApAQCAtMTMwLDEzICsxMzAsOCBAQCB2b2lkIFFHcmFw
aGljc1dlYlZpZXdQcml2YXRlOjp1cGRhdGVSZXNpemVzVG9Db250ZW50c0ZvclBhZ2UoKQogICAg
ICAgICBpZiAoIXBhZ2UtPnByZWZlcnJlZENvbnRlbnRzU2l6ZSgpLmlzVmFsaWQoKSkKICAgICAg
ICAgICAgIHBhZ2UtPnNldFByZWZlcnJlZENvbnRlbnRzU2l6ZShRU2l6ZSg5NjAsIDgwMCkpOwog
Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgICAgIFFP
YmplY3Q6OmNvbm5lY3QocGFnZS0+bWFpbkZyYW1lKCksIFNJR05BTChjb250ZW50c1NpemVDaGFu
Z2VkKFFTaXplKSksCiAgICAgICAgICAgICBxLCBTTE9UKF9xX2NvbnRlbnRzU2l6ZUNoYW5nZWQo
Y29uc3QgUVNpemUmKSksIFF0OjpVbmlxdWVDb25uZWN0aW9uKTsKLSNlbHNlCi0gICAgICAgIFFP
YmplY3Q6OmNvbm5lY3QocGFnZS0+bWFpbkZyYW1lKCksIFNJR05BTChjb250ZW50c1NpemVDaGFu
Z2VkKFFTaXplKSksCi0gICAgICAgICAgICBxLCBTTE9UKF9xX2NvbnRlbnRzU2l6ZUNoYW5nZWQo
Y29uc3QgUVNpemUmKSkpOwotI2VuZGlmCiAgICAgfSBlbHNlIHsKICAgICAgICAgUU9iamVjdDo6
ZGlzY29ubmVjdChwYWdlLT5tYWluRnJhbWUoKSwgU0lHTkFMKGNvbnRlbnRzU2l6ZUNoYW5nZWQo
UVNpemUpKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBxLCBTTE9UKF9xX2NvbnRlbnRzU2l6
ZUNoYW5nZWQoY29uc3QgUVNpemUmKSkpOwpAQCAtMjQyLDE0ICsyMzcsMTAgQEAgUUdyYXBoaWNz
V2ViVmlldzo6UUdyYXBoaWNzV2ViVmlldyhRR3JhcGhpY3NJdGVtKiBwYXJlbnQpCiAgICAgOiBR
R3JhcGhpY3NXaWRnZXQocGFyZW50KQogICAgICwgZChuZXcgUUdyYXBoaWNzV2ViVmlld1ByaXZh
dGUodGhpcykpCiB7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDAp
CiAgICAgc2V0RmxhZyhRR3JhcGhpY3NJdGVtOjpJdGVtVXNlc0V4dGVuZGVkU3R5bGVPcHRpb24s
IHRydWUpOwotI2VuZGlmCiAgICAgc2V0QWNjZXB0RHJvcHModHJ1ZSk7CiAgICAgc2V0QWNjZXB0
SG92ZXJFdmVudHModHJ1ZSk7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQs
IDYsIDApCiAgICAgc2V0QWNjZXB0VG91Y2hFdmVudHModHJ1ZSk7Ci0jZW5kaWYKICAgICBzZXRG
b2N1c1BvbGljeShRdDo6U3Ryb25nRm9jdXMpOwogICAgIHNldEZsYWcoUUdyYXBoaWNzSXRlbTo6
SXRlbUNsaXBzQ2hpbGRyZW5Ub1NoYXBlLCB0cnVlKTsKICNpZiBFTkFCTEUoVElMRURfQkFDS0lO
R19TVE9SRSkKQEAgLTMxNSw3ICszMDYsNiBAQCBib29sIFFHcmFwaGljc1dlYlZpZXc6OnNjZW5l
RXZlbnQoUUV2ZW50KiBldmVudCkKIHsKICAgICAvLyBSZS1pbXBsZW1lbnRlZCBpbiBvcmRlciB0
byBhbGxvd3MgZml4aW5nIGV2ZW50LXJlbGF0ZWQgYnVncyBpbiBwYXRjaCByZWxlYXNlcy4KIAot
I2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQogICAgIGlmIChkLT5w
YWdlICYmIChldmVudC0+dHlwZSgpID09IFFFdmVudDo6VG91Y2hCZWdpbgogICAgICAgICAgICAg
ICAgIHx8IGV2ZW50LT50eXBlKCkgPT0gUUV2ZW50OjpUb3VjaEVuZAogICAgICAgICAgICAgICAg
IHx8IGV2ZW50LT50eXBlKCkgPT0gUUV2ZW50OjpUb3VjaFVwZGF0ZSkpIHsKQEAgLTMyNCw3ICsz
MTQsNiBAQCBib29sIFFHcmFwaGljc1dlYlZpZXc6OnNjZW5lRXZlbnQoUUV2ZW50KiBldmVudCkK
ICAgICAgICAgLy8gQWx3YXlzIHJldHVybiB0cnVlIHNvIHRoYXQgd2UnbGwgcmVjZWl2ZSBhbHNv
IFRvdWNoVXBkYXRlIGFuZCBUb3VjaEVuZCBldmVudHMKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQotI2VuZGlmCiAKICAgICByZXR1cm4gUUdyYXBoaWNzV2lkZ2V0OjpzY2VuZUV2ZW50KGV2
ZW50KTsKIH0KQEAgLTQxOCwxMSArNDA3LDcgQEAgdm9pZCBRR3JhcGhpY3NXZWJWaWV3UHJpdmF0
ZTo6ZGV0YWNoQ3VycmVudFBhZ2UoKQogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwog
Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgcGFnZS0+
ZC0+dmlldy5jbGVhcigpOwotI2Vsc2UKLSAgICBwYWdlLT5kLT52aWV3ID0gMDsKLSNlbmRpZgog
CiAgICAgLy8gVGhlIGNsaWVudCBoYXMgYWx3YXlzIHRvIGJlIGRlbGV0ZWQuCiAgICAgZGVsZXRl
IHBhZ2UtPmQtPmNsaWVudDsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNw
cCBiL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lLmNwcAppbmRleCA3Mjk1YjgyLi4xNzkxMDk2IDEw
MDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAKKysrIGIvV2ViS2l0L3F0L0Fw
aS9xd2ViZnJhbWUuY3BwCkBAIC03ODksMTEgKzc4OSw5IEBAIHZvaWQgUVdlYkZyYW1lOjpsb2Fk
KGNvbnN0IFFOZXR3b3JrUmVxdWVzdCAmcmVxLAogICAgICAgICBjYXNlIFFOZXR3b3JrQWNjZXNz
TWFuYWdlcjo6UG9zdE9wZXJhdGlvbjoKICAgICAgICAgICAgIHJlcXVlc3Quc2V0SFRUUE1ldGhv
ZCgiUE9TVCIpOwogICAgICAgICAgICAgYnJlYWs7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJT
SU9OX0NIRUNLKDQsIDYsIDApCiAgICAgICAgIGNhc2UgUU5ldHdvcmtBY2Nlc3NNYW5hZ2VyOjpE
ZWxldGVPcGVyYXRpb246CiAgICAgICAgICAgICByZXF1ZXN0LnNldEhUVFBNZXRob2QoIkRFTEVU
RSIpOwogICAgICAgICAgICAgYnJlYWs7Ci0jZW5kaWYKICAgICAgICAgY2FzZSBRTmV0d29ya0Fj
Y2Vzc01hbmFnZXI6OlVua25vd25PcGVyYXRpb246CiAgICAgICAgICAgICAvLyBlaD8KICAgICAg
ICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAgYi9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCBhNTIzNGJkLi42Y2NmMWQ5IDEwMDY0NAot
LS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJLaXQvcXQvQXBpL3F3ZWJw
YWdlLmNwcApAQCAtODgsNiArODgsNyBAQAogI2luY2x1ZGUgIkdlb2xvY2F0aW9uUGVybWlzc2lv
bkNsaWVudFF0LmgiCiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUHJlc2VudGVyQ2xpZW50UXQuaCIK
ICNpbmNsdWRlICJQYWdlQ2xpZW50UXQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZlbnQu
aCIKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlICJ3dGYvVGhyZWFkaW5nLmgi
CiAKQEAgLTExNSwxNiArMTE2LDEzIEBACiAjaW5jbHVkZSA8UVN5c0luZm8+CiAjaW5jbHVkZSA8
UVRleHRDaGFyRm9ybWF0PgogI2luY2x1ZGUgPFFUZXh0RG9jdW1lbnQ+CisjaW5jbHVkZSA8UVRv
dWNoRXZlbnQ+CiAjaW5jbHVkZSA8UU5ldHdvcmtBY2Nlc3NNYW5hZ2VyPgogI2luY2x1ZGUgPFFO
ZXR3b3JrUmVxdWVzdD4KICNpZiBkZWZpbmVkKFFfV1NfWDExKQogI2luY2x1ZGUgPFFYMTFJbmZv
PgogI2VuZGlmCiAKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkK
LSNpbmNsdWRlIDxRVG91Y2hFdmVudD4KLSNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZlbnQuaCIK
LSNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtMjU4LDkgKzI1Niw2IEBA
IHN0YXRpYyBpbmxpbmUgUXQ6OkRyb3BBY3Rpb24gZHJhZ09wVG9Ecm9wQWN0aW9uKHVuc2lnbmVk
IGFjdGlvbnMpCiBRV2ViUGFnZVByaXZhdGU6OlFXZWJQYWdlUHJpdmF0ZShRV2ViUGFnZSAqcXEp
CiAgICAgOiBxKHFxKQogICAgICwgY2xpZW50KDApCi0jaWYgUVRfVkVSU0lPTiA8IFFUX1ZFUlNJ
T05fQ0hFQ0soNCwgNiwgMCkKLSAgICAsIHZpZXcoMCkKLSNlbmRpZgogICAgICwgY2xpY2tDYXVz
ZWRGb2N1cyhmYWxzZSkKICAgICAsIHZpZXdwb3J0U2l6ZShRU2l6ZSgwLCAwKSkKICAgICAsIGlu
c3BlY3RvckZyb250ZW5kKDApCkBAIC03OTYsNyArNzkxLDYgQEAgdm9pZCBRV2ViUGFnZVByaXZh
dGU6Om1vdXNlUmVsZWFzZUV2ZW50KFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCogZXYpCiAKIHZv
aWQgUVdlYlBhZ2VQcml2YXRlOjpoYW5kbGVTb2Z0d2FyZUlucHV0UGFuZWwoUXQ6Ok1vdXNlQnV0
dG9uIGJ1dHRvbikKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwg
MCkKICAgICBGcmFtZSogZnJhbWUgPSBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZEZy
YW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwpAQCAtODEzLDcgKzgwNyw2
IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjpoYW5kbGVTb2Z0d2FyZUlucHV0UGFuZWwoUXQ6Ok1v
dXNlQnV0dG9uIGJ1dHRvbikKICAgICB9CiAKICAgICBjbGlja0NhdXNlZEZvY3VzID0gZmFsc2U7
Ci0jZW5kaWYKIH0KIAogdm9pZCBRV2ViUGFnZVByaXZhdGU6Om1vdXNlUmVsZWFzZUV2ZW50KFFN
b3VzZUV2ZW50ICpldikKQEAgLTExMzksOSArMTEzMiw3IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRl
OjppbnB1dE1ldGhvZEV2ZW50KFFJbnB1dE1ldGhvZEV2ZW50ICpldikKIHsKICAgICBXZWJDb3Jl
OjpGcmFtZSAqZnJhbWUgPSBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZE9yTWFpbkZy
YW1lKCk7CiAgICAgV2ViQ29yZTo6RWRpdG9yICplZGl0b3IgPSBmcmFtZS0+ZWRpdG9yKCk7Ci0j
aWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgUUlucHV0TWV0
aG9kRXZlbnQ6OkF0dHJpYnV0ZSBzZWxlY3Rpb24oUUlucHV0TWV0aG9kRXZlbnQ6OlNlbGVjdGlv
biwgMCwgMCwgUVZhcmlhbnQoKSk7Ci0jZW5kaWYKIAogICAgIGlmICghZWRpdG9yLT5jYW5FZGl0
KCkpIHsKICAgICAgICAgZXYtPmlnbm9yZSgpOwpAQCAtMTE4MCwxMyArMTE3MSwxMSBAQCB2b2lk
IFFXZWJQYWdlUHJpdmF0ZTo6aW5wdXRNZXRob2RFdmVudChRSW5wdXRNZXRob2RFdmVudCAqZXYp
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotI2lmIFFUX1ZF
UlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQogICAgICAgICBjYXNlIFFJbnB1dE1l
dGhvZEV2ZW50OjpTZWxlY3Rpb246IHsKICAgICAgICAgICAgIHNlbGVjdGlvbiA9IGE7CiAgICAg
ICAgICAgICBoYXNTZWxlY3Rpb24gPSB0cnVlOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KLSNlbmRpZgogICAgICAgICB9CiAgICAgfQogCkBAIC0xMTk4LDcgKzExODcsNiBAQCB2b2lk
IFFXZWJQYWdlUHJpdmF0ZTo6aW5wdXRNZXRob2RFdmVudChRSW5wdXRNZXRob2RFdmVudCAqZXYp
CiAgICAgICAgIC8vIDMuIHBvcHVsYXRlZCBwcmVlZGl0IHdpdGggYSBzZWxlY3Rpb24gYXR0cmli
dXRlLCBhbmQgc3RhcnQvZW5kIG9mIDAgb3Igbm9uLTAgdXBkYXRlcyBzZWxlY3Rpb24gb2Ygc3Vw
cGxpZWQgcHJlZWRpdCB0ZXh0CiAgICAgICAgIC8vIDQuIG90aGVyd2lzZSBldmVudCBpcyB1cGRh
dGluZyBzdXBwbGllZCBwcmUtZWRpdCB0ZXh0CiAgICAgICAgIFFTdHJpbmcgcHJlZWRpdCA9IGV2
LT5wcmVlZGl0U3RyaW5nKCk7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQs
IDYsIDApCiAgICAgICAgIGlmIChoYXNTZWxlY3Rpb24pIHsKICAgICAgICAgICAgIFFTdHJpbmcg
dGV4dCA9IChyZW5kZXJUZXh0Q29udHJvbCkgPyBRU3RyaW5nKHJlbmRlclRleHRDb250cm9sLT50
ZXh0KCkpIDogUVN0cmluZygpOwogICAgICAgICAgICAgaWYgKHByZWVkaXQuaXNFbXB0eSgpICYm
IHNlbGVjdGlvbi5zdGFydCArIHNlbGVjdGlvbi5sZW5ndGggPiAwKQpAQCAtMTIwNiwxMCArMTE5
NCw4IEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjppbnB1dE1ldGhvZEV2ZW50KFFJbnB1dE1ldGhv
ZEV2ZW50ICpldikKICAgICAgICAgICAgIGVkaXRvci0+c2V0Q29tcG9zaXRpb24ocHJlZWRpdCwg
dW5kZXJsaW5lcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGVjdGlv
bi5sZW5ndGggPCAwKSA/IHNlbGVjdGlvbi5zdGFydCArIHNlbGVjdGlvbi5sZW5ndGggOiBzZWxl
Y3Rpb24uc3RhcnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3Rp
b24ubGVuZ3RoIDwgMCkgPyBzZWxlY3Rpb24uc3RhcnQgOiBzZWxlY3Rpb24uc3RhcnQgKyBzZWxl
Y3Rpb24ubGVuZ3RoKTsKLSAgICAgICAgfSBlbHNlCi0jZW5kaWYKLSAgICAgICAgICAgIGlmICgh
cHJlZWRpdC5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgZWRpdG9yLT5zZXRDb21wb3NpdGlv
bihwcmVlZGl0LCB1bmRlcmxpbmVzLCBwcmVlZGl0Lmxlbmd0aCgpLCAwKTsKKyAgICAgICAgfSBl
bHNlIGlmICghcHJlZWRpdC5pc0VtcHR5KCkpCisgICAgICAgICAgICBlZGl0b3ItPnNldENvbXBv
c2l0aW9uKHByZWVkaXQsIHVuZGVybGluZXMsIHByZWVkaXQubGVuZ3RoKCksIDApOwogICAgIH0K
IAogICAgIGV2LT5hY2NlcHQoKTsKQEAgLTEzOTgsNyArMTM4NCw2IEBAIGJvb2wgUVdlYlBhZ2VQ
cml2YXRlOjpoYW5kbGVTY3JvbGxpbmcoUUtleUV2ZW50ICpldiwgRnJhbWUgKmZyYW1lKQogICAg
IHJldHVybiBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNjcm9sbFJlY3Vyc2l2ZWx5KGRpcmVjdGlv
biwgZ3JhbnVsYXJpdHkpOwogfQogCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNL
KDQsIDYsIDApCiBib29sIFFXZWJQYWdlUHJpdmF0ZTo6dG91Y2hFdmVudChRVG91Y2hFdmVudCog
ZXZlbnQpCiB7CiAgICAgV2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gUVdlYkZyYW1lUHJpdmF0ZTo6
Y29yZShtYWluRnJhbWUpOwpAQCAtMTQxMSw3ICsxMzk2LDYgQEAgYm9vbCBRV2ViUGFnZVByaXZh
dGU6OnRvdWNoRXZlbnQoUVRvdWNoRXZlbnQqIGV2ZW50KQogICAgIC8vIFJldHVybiB3aGV0aGVy
IHRoZSBkZWZhdWx0IGFjdGlvbiB3YXMgY2FuY2VsbGVkIGluIHRoZSBKUyBldmVudCBoYW5kbGVy
CiAgICAgcmV0dXJuIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlVG91Y2hFdmVudChQbGF0
Zm9ybVRvdWNoRXZlbnQoZXZlbnQpKTsKIH0KLSNlbmRpZgogCiAvKiEKICAgVGhpcyBtZXRob2Qg
aXMgdXNlZCBieSB0aGUgaW5wdXQgbWV0aG9kIHRvIHF1ZXJ5IGEgc2V0IG9mIHByb3BlcnRpZXMg
b2YgdGhlIHBhZ2UKQEAgLTE0ODYsNyArMTQ3MCw2IEBAIFFWYXJpYW50IFFXZWJQYWdlOjppbnB1
dE1ldGhvZFF1ZXJ5KFF0OjpJbnB1dE1ldGhvZFF1ZXJ5IHByb3BlcnR5KSBjb25zdAogICAgICAg
ICAgICAgcmV0dXJuIFFWYXJpYW50KCk7CiAKICAgICAgICAgfQotI2lmIFFUX1ZFUlNJT04gPj0g
UVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQogICAgICAgICBjYXNlIFF0OjpJbUFuY2hvclBvc2l0
aW9uOiB7CiAgICAgICAgICAgICBpZiAocmVuZGVyVGV4dENvbnRyb2wpIHsKICAgICAgICAgICAg
ICAgICBpZiAoZWRpdG9yLT5oYXNDb21wb3NpdGlvbigpKSB7CkBAIC0xNTA5LDcgKzE0OTIsNiBA
QCBRVmFyaWFudCBRV2ViUGFnZTo6aW5wdXRNZXRob2RRdWVyeShRdDo6SW5wdXRNZXRob2RRdWVy
eSBwcm9wZXJ0eSkgY29uc3QKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBRVmFy
aWFudCgwKTsKICAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAg
ICByZXR1cm4gUVZhcmlhbnQoKTsKICAgICB9CkBAIC0yMDAyLDExICsxOTg0LDcgQEAgdm9pZCBR
V2ViUGFnZTo6c2V0VmlldyhRV2lkZ2V0KiB2aWV3KQogKi8KIFFXaWRnZXQgKlFXZWJQYWdlOjp2
aWV3KCkgY29uc3QKIHsKLSNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAw
KQotICAgIHJldHVybiBkLT52aWV3OwotI2Vsc2UKICAgICByZXR1cm4gZC0+dmlldy5kYXRhKCk7
Ci0jZW5kaWYKIH0KIAogLyohCkBAIC0yOTE3LDEzICsyODk1LDExIEBAIGJvb2wgUVdlYlBhZ2U6
OmV2ZW50KFFFdmVudCAqZXYpCiAgICAgY2FzZSBRRXZlbnQ6OkxlYXZlOgogICAgICAgICBkLT5s
ZWF2ZUV2ZW50KGV2KTsKICAgICAgICAgYnJlYWs7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJT
SU9OX0NIRUNLKDQsIDYsIDApCiAgICAgY2FzZSBRRXZlbnQ6OlRvdWNoQmVnaW46CiAgICAgY2Fz
ZSBRRXZlbnQ6OlRvdWNoVXBkYXRlOgogICAgIGNhc2UgUUV2ZW50OjpUb3VjaEVuZDoKICAgICAg
ICAgLy8gUmV0dXJuIHdoZXRoZXIgdGhlIGRlZmF1bHQgYWN0aW9uIHdhcyBjYW5jZWxsZWQgaW4g
dGhlIEpTIGV2ZW50IGhhbmRsZXIKICAgICAgICAgcmV0dXJuIGQtPnRvdWNoRXZlbnQoc3RhdGlj
X2Nhc3Q8UVRvdWNoRXZlbnQqPihldikpOwotI2VuZGlmCiAjaWZuZGVmIFFUX05PX1BST1BFUlRJ
RVMKICAgICBjYXNlIFFFdmVudDo6RHluYW1pY1Byb3BlcnR5Q2hhbmdlOgogICAgICAgICBkLT5k
eW5hbWljUHJvcGVydHlDaGFuZ2VFdmVudChzdGF0aWNfY2FzdDxRRHluYW1pY1Byb3BlcnR5Q2hh
bmdlRXZlbnQqPihldikpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgg
Yi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlX3AuaAppbmRleCA3NGU3Y2ExLi4xNmViZjcyIDEwMDY0
NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlX3AuaAorKysgYi9XZWJLaXQvcXQvQXBpL3F3
ZWJwYWdlX3AuaApAQCAtMTMxLDEwICsxMzEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBoYW5kbGVT
b2Z0d2FyZUlucHV0UGFuZWwoUXQ6Ok1vdXNlQnV0dG9uKTsKICAgICBib29sIGhhbmRsZVNjcm9s
bGluZyhRS2V5RXZlbnQqLCBXZWJDb3JlOjpGcmFtZSopOwogCi0jaWYgUVRfVkVSU0lPTiA+PSBR
VF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBkZWZh
dWx0IGFjdGlvbiB3YXMgY2FuY2VsbGVkIGluIHRoZSBKUyBldmVudCBoYW5kbGVyCiAgICAgYm9v
bCB0b3VjaEV2ZW50KFFUb3VjaEV2ZW50Kik7Ci0jZW5kaWYKIAogICAgIHZvaWQgc2V0SW5zcGVj
dG9yKFFXZWJJbnNwZWN0b3IqKTsKICAgICBRV2ViSW5zcGVjdG9yKiBnZXRPckNyZWF0ZUluc3Bl
Y3RvcigpOwpAQCAtMTU5LDExICsxNTcsNyBAQCBwdWJsaWM6CiAgICAgUVVuZG9TdGFjayAqdW5k
b1N0YWNrOwogI2VuZGlmCiAKLSNpZiBRVF9WRVJTSU9OID49IDB4MDQwNjAwCiAgICAgUVdlYWtQ
b2ludGVyPFFXaWRnZXQ+IHZpZXc7Ci0jZWxzZQotICAgIFFXaWRnZXQqIHZpZXc7Ci0jZW5kaWYK
IAogICAgIGJvb2wgaW5zaWRlT3BlbkNhbGw7CiAgICAgcXVpbnQ2NCBtX3RvdGFsQnl0ZXM7CmRp
ZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcCBiL1dlYktpdC9xdC9BcGkvcXdl
YnZpZXcuY3BwCmluZGV4IDFmNDAwY2IuLjY0YjdhOTAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9B
cGkvcXdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCkBAIC0zMDcs
OSArMzA3LDcgQEAgUVdlYlZpZXc6OlFXZWJWaWV3KFFXaWRnZXQgKnBhcmVudCkKICAgICBzZXRB
dHRyaWJ1dGUoUXQ6OldBX0lucHV0TWV0aG9kRW5hYmxlZCk7CiAjZW5kaWYKIAotI2lmIFFUX1ZF
UlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQogICAgIHNldEF0dHJpYnV0ZShRdDo6
V0FfQWNjZXB0VG91Y2hFdmVudHMpOwotI2VuZGlmCiAjaWYgZGVmaW5lZChRX1dTX01BRU1PXzUp
CiAgICAgUUFic3RyYWN0S2luZXRpY1Njcm9sbGVyKiBzY3JvbGxlciA9IG5ldyBRV2ViVmlld0tp
bmV0aWNTY3JvbGxlcigpOwogICAgIHN0YXRpY19jYXN0PFFXZWJWaWV3S2luZXRpY1Njcm9sbGVy
Kj4oc2Nyb2xsZXIpLT5zZXRXaWRnZXQodGhpcyk7CkBAIC0zNDgsMTMgKzM0Niw3IEBAIHZvaWQg
UVdlYlZpZXdQcml2YXRlOjpkZXRhY2hDdXJyZW50UGFnZSgpCiAgICAgaWYgKCFwYWdlKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBpZiAocGFnZSkgewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVS
U0lPTl9DSEVDSyg0LCA2LCAwKQotICAgICAgICBwYWdlLT5kLT52aWV3LmNsZWFyKCk7Ci0jZWxz
ZQotICAgICAgICBwYWdlLT5kLT52aWV3ID0gMDsKLSNlbmRpZgotICAgIH0KKyAgICBwYWdlLT5k
LT52aWV3LmNsZWFyKCk7CiAKICAgICAvLyBpZiB0aGUgcGFnZSBjbGllbnQgaXMgdGhlIHNwZWNp
YWwgY2xpZW50IGNvbnN0cnVjdGVkIGZvcgogICAgIC8vIGRlbGVnYXRpbmcgdGhlIHJlc3BvbnNp
YmlsaXRpZXMgdG8gYSBRV2lkZ2V0LCB3ZSBuZWVkCkBAIC04MjgsNyArODIwLDYgQEAgYm9vbCBR
V2ViVmlldzo6ZXZlbnQoUUV2ZW50ICplKQogICAgICAgICAgICAgaWYgKGN1cnNvcigpLnNoYXBl
KCkgPT0gUXQ6OkFycm93Q3Vyc29yKQogICAgICAgICAgICAgICAgIGQtPnBhZ2UtPmQtPmNsaWVu
dC0+cmVzZXRDdXJzb3IoKTsKICNlbmRpZgotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9D
SEVDSyg0LCA2LCAwKQogICAgICAgICB9IGVsc2UgaWYgKGUtPnR5cGUoKSA9PSBRRXZlbnQ6OlRv
dWNoQmVnaW4gCiAgICAgICAgICAgICAgICAgICAgfHwgZS0+dHlwZSgpID09IFFFdmVudDo6VG91
Y2hFbmQgCiAgICAgICAgICAgICAgICAgICAgfHwgZS0+dHlwZSgpID09IFFFdmVudDo6VG91Y2hV
cGRhdGUpIHsKQEAgLTgzNiw3ICs4MjcsNiBAQCBib29sIFFXZWJWaWV3OjpldmVudChRRXZlbnQg
KmUpCiAKICAgICAgICAgICAgIC8vIEFsd2F5cyByZXR1cm4gdHJ1ZSBzbyB0aGF0IHdlJ2xsIHJl
Y2VpdmUgYWxzbyBUb3VjaFVwZGF0ZSBhbmQgVG91Y2hFbmQgZXZlbnRzCiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSNlbmRpZgogICAgICAgICB9IGVsc2UgaWYgKGUtPnR5cGUoKSA9PSBRRXZl
bnQ6OkxlYXZlKQogICAgICAgICAgICAgZC0+cGFnZS0+ZXZlbnQoZSk7CiAgICAgfQpkaWZmIC0t
Z2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggOWE5
MmZhMS4uZGY5MDdjMSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJL
aXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNTUgQEAKIDIwMTAtMDktMjggIEJlbmphbWluIFBv
dWxhaW4gIDxiZW5qYW1pbi5wb3VsYWluQG5va2lhLmNvbT4KIAorICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIFJlbW92ZSBzdXBwb3J0IGZvciBRdCA0
LjUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NzE4
CisKKyAgICAgICAgUmVtb3ZlIHRoZSBjb2RlIGZvciB2ZXJzaW9ucyBvZiBRdCBwcmlvciB0byA0
LjYuCisKKyAgICAgICAgKiBBcGkvcWdyYXBoaWNzd2Vidmlldy5jcHA6CisgICAgICAgIChRR3Jh
cGhpY3NXZWJWaWV3UHJpdmF0ZTo6dXBkYXRlUmVzaXplc1RvQ29udGVudHNGb3JQYWdlKToKKyAg
ICAgICAgKFFHcmFwaGljc1dlYlZpZXc6OlFHcmFwaGljc1dlYlZpZXcpOgorICAgICAgICAoUUdy
YXBoaWNzV2ViVmlldzo6c2NlbmVFdmVudCk6CisgICAgICAgIChRR3JhcGhpY3NXZWJWaWV3UHJp
dmF0ZTo6ZGV0YWNoQ3VycmVudFBhZ2UpOgorICAgICAgICAqIEFwaS9xd2ViZnJhbWUuY3BwOgor
ICAgICAgICAoUVdlYkZyYW1lOjpsb2FkKToKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgor
ICAgICAgICAoUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUpOgorICAgICAgICAoUVdl
YlBhZ2VQcml2YXRlOjpoYW5kbGVTb2Z0d2FyZUlucHV0UGFuZWwpOgorICAgICAgICAoUVdlYlBh
Z2VQcml2YXRlOjppbnB1dE1ldGhvZEV2ZW50KToKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6
dG91Y2hFdmVudCk6CisgICAgICAgIChRV2ViUGFnZTo6aW5wdXRNZXRob2RRdWVyeSk6CisgICAg
ICAgIChRV2ViUGFnZTo6dmlldyk6CisgICAgICAgIChRV2ViUGFnZTo6ZXZlbnQpOgorICAgICAg
ICAqIEFwaS9xd2VicGFnZV9wLmg6CisgICAgICAgICogQXBpL3F3ZWJ2aWV3LmNwcDoKKyAgICAg
ICAgKFFXZWJWaWV3OjpRV2ViVmlldyk6CisgICAgICAgIChRV2ViVmlld1ByaXZhdGU6OmRldGFj
aEN1cnJlbnRQYWdlKToKKyAgICAgICAgKFFXZWJWaWV3OjpldmVudCk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9y
Q2xpZW50UXQ6OnNldElucHV0TWV0aG9kU3RhdGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJD
bGllbnRRdDo6Y3JlYXRlUGx1Z2luKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QYWdlQ2xp
ZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFXaWRnZXQ6OnNldElucHV0
TWV0aG9kSGludHMpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFHcmFwaGljc1dpZGdl
dDo6c2V0SW5wdXRNZXRob2RFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDbGllbnRR
R3JhcGhpY3NXaWRnZXQ6OmlucHV0TWV0aG9kRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpQ
YWdlQ2xpZW50UUdyYXBoaWNzV2lkZ2V0OjpzZXRJbnB1dE1ldGhvZEhpbnRzKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlFHcmFw
aGljc0l0ZW1PdmVybGF5OjpwYWdlKToKKyAgICAgICAgKiB0ZXN0cy9xd2ViZnJhbWUvdHN0X3F3
ZWJmcmFtZS5jcHA6CisgICAgICAgICogdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcDoK
KyAgICAgICAgKHRzdF9RV2ViUGFnZTo6aW5wdXRNZXRob2RzX2RhdGEpOgorICAgICAgICAoaW5w
dXRNZXRob2RIaW50cyk6CisgICAgICAgIChpbnB1dE1ldGhvZEVuYWJsZWQpOgorICAgICAgICAo
dHN0X1FXZWJQYWdlOjppbnB1dE1ldGhvZHMpOgorICAgICAgICAodHN0X1FXZWJQYWdlOjpvcmln
aW5hdGluZ09iamVjdEluTmV0d29ya1JlcXVlc3RzKToKKyAgICAgICAgKiB0ZXN0cy9xd2Vidmll
dy90c3RfcXdlYnZpZXcuY3BwOgorICAgICAgICAodHN0X1FXZWJWaWV3OjpyZXVzZVBhZ2UpOgor
CisyMDEwLTA5LTI4ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW4ucG91bGFpbkBub2tpYS5j
b20+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCiAK
ICAgICAgICAgW1F0XSB0c3RfUVdlYlBhZ2U6OnRlc3RTdG9wU2NoZWR1bGVkUGFnZVJlZnJlc2go
KSBmYWlscyBvbiBNZWVHbyBoYW5kc2V0CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0VkaXRv
ckNsaWVudFF0LmNwcAppbmRleCAwODBjNDU5Li45ZGI0MzMzIDEwMDY0NAotLS0gYS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50UXQuY3BwCisrKyBiL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9FZGl0b3JDbGllbnRRdC5jcHAKQEAgLTU5NSw3ICs1OTUsNiBAQCB2b2lkIEVk
aXRvckNsaWVudFF0OjpzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgYWN0aXZlKQogewogICAgIFFX
ZWJQYWdlQ2xpZW50KiB3ZWJQYWdlQ2xpZW50ID0gbV9wYWdlLT5kLT5jbGllbnQ7CiAgICAgaWYg
KHdlYlBhZ2VDbGllbnQpIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwg
NiwgMCkKICAgICAgICAgUXQ6OklucHV0TWV0aG9kSGludHMgaGludHM7CiAKICAgICAgICAgSFRN
TElucHV0RWxlbWVudCogaW5wdXRFbGVtZW50ID0gMDsKQEAgLTYyOCw4ICs2MjcsNyBAQCB2b2lk
IEVkaXRvckNsaWVudFF0OjpzZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgYWN0aXZlKQogICAgICAg
ICBoaW50cyB8PSBRdDo6SW1oTm9BdXRvVXBwZXJjYXNlOwogICAgICAgICBoaW50cyB8PSBRdDo6
SW1oTm9QcmVkaWN0aXZlVGV4dDsKICNlbmRpZiAvLyBRX1dTX01BRU1PXzUgfHwgUV9XU19NQUVN
T182IHx8IFFfT1NfU1lNQklBTgotICAgICAgIHdlYlBhZ2VDbGllbnQtPnNldElucHV0TWV0aG9k
SGludHMoaGludHMpOwotI2VuZGlmIC8vIFFUX1ZFUlNJT04gY2hlY2sKKyAgICAgICAgd2ViUGFn
ZUNsaWVudC0+c2V0SW5wdXRNZXRob2RIaW50cyhoaW50cyk7CiAgICAgICAgIHdlYlBhZ2VDbGll
bnQtPnNldElucHV0TWV0aG9kRW5hYmxlZChhY3RpdmUpOwogICAgIH0KICAgICBlbWl0IG1fcGFn
ZS0+bWljcm9Gb2N1c0NoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudFF0LmNwcAppbmRleCA5NGVjYzRlLi4zYjhkODYwIDEwMDY0NAotLS0g
YS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKKysrIGIv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCkBAIC0xMzY3
LDcgKzEzNjcsNiBAQCBwcml2YXRlOgogICAgIH0KIH07CiAKLSNpZiBRVF9WRVJTSU9OID49IFFU
X1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKIGNsYXNzIFF0UGx1Z2luR3JhcGhpY3NXaWRnZXQ6IHB1
YmxpYyBXaWRnZXQKIHsKIHB1YmxpYzoKQEAgLTE0MTIsNyArMTQxMSw2IEBAIHByaXZhdGU6CiAK
ICAgICBRR3JhcGhpY3NXaWRnZXQqIGdyYXBoaWNzV2lkZ2V0OwogfTsKLSNlbmRpZgogCiBQYXNz
UmVmUHRyPFdpZGdldD4gRnJhbWVMb2FkZXJDbGllbnRRdDo6Y3JlYXRlUGx1Z2luKGNvbnN0IElu
dFNpemUmIHBsdWdpblNpemUsIEhUTUxQbHVnSW5FbGVtZW50KiBlbGVtZW50LCBjb25zdCBLVVJM
JiB1cmwsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXJhbU5hbWVzLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhcmFtVmFs
dWVzLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBib29sIGxvYWRNYW51YWxseSkKQEAgLTE0ODUs
NyArMTQ4Myw3IEBAIFBhc3NSZWZQdHI8V2lkZ2V0PiBGcmFtZUxvYWRlckNsaWVudFF0OjpjcmVh
dGVQbHVnaW4oY29uc3QgSW50U2l6ZSYgcGx1Z2luU2l6ZSwKICAgICAgICAgICAgICAgICB3LT5z
ZXRGcmFtZVJlY3QoSW50UmVjdCgwLCAwLCAwLCAwKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IHc7CiAgICAgICAgICAgICB9Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQs
IDYsIDApCisKICAgICAgICAgICAgIFFHcmFwaGljc1dpZGdldCogZ3JhcGhpY3NXaWRnZXQgPSBx
b2JqZWN0X2Nhc3Q8UUdyYXBoaWNzV2lkZ2V0Kj4ob2JqZWN0KTsKICAgICAgICAgICAgIGlmIChn
cmFwaGljc1dpZGdldCkgewogICAgICAgICAgICAgICAgIFFHcmFwaGljc09iamVjdCogcGFyZW50
V2lkZ2V0ID0gMDsKQEAgLTE0OTksNyArMTQ5Nyw3IEBAIFBhc3NSZWZQdHI8V2lkZ2V0PiBGcmFt
ZUxvYWRlckNsaWVudFF0OjpjcmVhdGVQbHVnaW4oY29uc3QgSW50U2l6ZSYgcGx1Z2luU2l6ZSwK
ICAgICAgICAgICAgICAgICB3LT5zZXRGcmFtZVJlY3QoSW50UmVjdCgwLCAwLCAwLCAwKSk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHc7CiAgICAgICAgICAgICB9Ci0jZW5kaWYKKwogICAgICAg
ICAgICAgLy8gRklYTUU6IG1ha2UgdGhpbmdzIHdvcmsgZm9yIHdpZGdldGxlc3MgcGx1Z2lucyBh
cyB3ZWxsCiAgICAgICAgICAgICBkZWxldGUgb2JqZWN0OwogICAgIH0KZGlmZiAtLWdpdCBhL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5jcHAKaW5kZXggODNmMGY0OC4uZWEyMDlkOSAxMDA2NDQK
LS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5jcHAKKysrIGIvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5jcHAKQEAgLTQ4LDEyICs0OCwxMCBA
QCBib29sIFBhZ2VDbGllbnRRV2lkZ2V0OjppbnB1dE1ldGhvZEVuYWJsZWQoKSBjb25zdAogICAg
IHJldHVybiB2aWV3LT50ZXN0QXR0cmlidXRlKFF0OjpXQV9JbnB1dE1ldGhvZEVuYWJsZWQpOwog
fQogCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiB2b2lkIFBh
Z2VDbGllbnRRV2lkZ2V0OjpzZXRJbnB1dE1ldGhvZEhpbnRzKFF0OjpJbnB1dE1ldGhvZEhpbnRz
IGhpbnRzKQogewogICAgIHZpZXctPnNldElucHV0TWV0aG9kSGludHMoaGludHMpOwogfQotI2Vu
ZGlmCiAKICNpZm5kZWYgUVRfTk9fQ1VSU09SCiBRQ3Vyc29yIFBhZ2VDbGllbnRRV2lkZ2V0Ojpj
dXJzb3IoKSBjb25zdApAQCAtMjE1LDI2ICsyMTMsMTggQEAgdm9pZCBQYWdlQ2xpZW50UUdyYXBo
aWNzV2lkZ2V0Ojp1cGRhdGVUaWxlZEJhY2tpbmdTdG9yZVNjYWxlKCkKIAogdm9pZCBQYWdlQ2xp
ZW50UUdyYXBoaWNzV2lkZ2V0OjpzZXRJbnB1dE1ldGhvZEVuYWJsZWQoYm9vbCBlbmFibGUpCiB7
Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgdmlldy0+
c2V0RmxhZyhRR3JhcGhpY3NJdGVtOjpJdGVtQWNjZXB0c0lucHV0TWV0aG9kLCBlbmFibGUpOwot
I2VuZGlmCiB9CiAKIGJvb2wgUGFnZUNsaWVudFFHcmFwaGljc1dpZGdldDo6aW5wdXRNZXRob2RF
bmFibGVkKCkgY29uc3QKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwg
NiwgMCkKICAgICByZXR1cm4gdmlldy0+ZmxhZ3MoKSAmIFFHcmFwaGljc0l0ZW06Okl0ZW1BY2Nl
cHRzSW5wdXRNZXRob2Q7Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgogfQogCi0j
aWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiB2b2lkIFBhZ2VDbGll
bnRRR3JhcGhpY3NXaWRnZXQ6OnNldElucHV0TWV0aG9kSGludHMoUXQ6OklucHV0TWV0aG9kSGlu
dHMgaGludHMpCiB7CiAgICAgdmlldy0+c2V0SW5wdXRNZXRob2RIaW50cyhoaW50cyk7CiB9Ci0j
ZW5kaWYKIAogI2lmbmRlZiBRVF9OT19DVVJTT1IKIFFDdXJzb3IgUGFnZUNsaWVudFFHcmFwaGlj
c1dpZGdldDo6Y3Vyc29yKCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9QYWdlQ2xpZW50UXQuaCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50
UXQuaAppbmRleCA2NWVlODQ5Li5lZWE3ZjQwIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvUGFnZUNsaWVudFF0LmgKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1Bh
Z2VDbGllbnRRdC5oCkBAIC01OCw5ICs1OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlKGNvbnN0IFFSZWN0JiBkaXJ0eVJlY3QpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRJbnB1
dE1ldGhvZEVuYWJsZWQoYm9vbCBlbmFibGUpOwogICAgIHZpcnR1YWwgYm9vbCBpbnB1dE1ldGhv
ZEVuYWJsZWQoKSBjb25zdDsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwg
NiwgMCkKICAgICB2aXJ0dWFsIHZvaWQgc2V0SW5wdXRNZXRob2RIaW50cyhRdDo6SW5wdXRNZXRo
b2RIaW50cyBoaW50cyk7Ci0jZW5kaWYKIAogI2lmbmRlZiBRVF9OT19DVVJTT1IKICAgICB2aXJ0
dWFsIFFDdXJzb3IgY3Vyc29yKCkgY29uc3Q7CkBAIC05Myw5ICs5MSw3IEBAIGNsYXNzIFFHcmFw
aGljc0l0ZW1PdmVybGF5IDogcHVibGljIFFHcmFwaGljc0l0ZW0gewogICAgICAgICAgICAgLCBw
YWdlKHApCiAgICAgewogICAgICAgICBzZXRQb3MoMCwgMCk7Ci0jaWYgUVRfVkVSU0lPTiA+PSBR
VF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgICAgIHNldEZsYWcoUUdyYXBoaWNzSXRlbTo6
SXRlbVVzZXNFeHRlbmRlZFN0eWxlT3B0aW9uLCB0cnVlKTsKLSNlbmRpZgogICAgICAgICBzZXRD
YWNoZU1vZGUoUUdyYXBoaWNzSXRlbTo6RGV2aWNlQ29vcmRpbmF0ZUNhY2hlKTsKICAgICB9CiAK
QEAgLTE0Niw5ICsxNDIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZShjb25z
dCBRUmVjdCYgZGlydHlSZWN0KTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SW5wdXRNZXRob2RFbmFi
bGVkKGJvb2wgZW5hYmxlKTsKICAgICB2aXJ0dWFsIGJvb2wgaW5wdXRNZXRob2RFbmFibGVkKCkg
Y29uc3Q7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAg
dmlydHVhbCB2b2lkIHNldElucHV0TWV0aG9kSGludHMoUXQ6OklucHV0TWV0aG9kSGludHMgaGlu
dHMpOwotI2VuZGlmCiAKICNpZm5kZWYgUVRfTk9fQ1VSU09SCiAgICAgdmlydHVhbCBRQ3Vyc29y
IGN1cnNvcigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L3Rlc3RzL3F3ZWJmcmFtZS90
c3RfcXdlYmZyYW1lLmNwcCBiL1dlYktpdC9xdC90ZXN0cy9xd2ViZnJhbWUvdHN0X3F3ZWJmcmFt
ZS5jcHAKaW5kZXggNDhiNWRlYi4uZWM4YTM5ZSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L3Rlc3Rz
L3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcAorKysgYi9XZWJLaXQvcXQvdGVzdHMvcXdlYmZy
YW1lL3RzdF9xd2ViZnJhbWUuY3BwCkBAIC0yOTQ3LDEyICsyOTQ3LDcgQEAgdm9pZCB0c3RfUVdl
YkZyYW1lOjpldmFsdWF0ZVdpbGxDYXVzZVJlcGFpbnQoKQogICAgIHZpZXcuc2V0SHRtbChodG1s
KTsKICAgICB2aWV3LnNob3coKTsKIAotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVD
Syg0LCA2LCAwKQogICAgIFFUZXN0OjpxV2FpdEZvcldpbmRvd1Nob3duKCZ2aWV3KTsKLSNlbHNl
Ci0gICAgUVRlc3Q6OnFXYWl0KDIwMDApOwotI2VuZGlmCi0KICAgICB2aWV3LnBhZ2UoKS0+bWFp
bkZyYW1lKCktPmV2YWx1YXRlSmF2YVNjcmlwdCgKICAgICAgICAgImRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdqdW5rJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsiKTsKIApkaWZmIC0tZ2l0IGEv
V2ViS2l0L3F0L3Rlc3RzL3F3ZWJwYWdlL3RzdF9xd2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvdGVz
dHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAppbmRleCBiOGQ0YWJhLi4zNmZhMDUwIDEwMDY0
NAotLS0gYS9XZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcAorKysgYi9X
ZWJLaXQvcXQvdGVzdHMvcXdlYnBhZ2UvdHN0X3F3ZWJwYWdlLmNwcApAQCAtMTM2OCwxMiArMTM2
OCw5IEBAIHZvaWQgdHN0X1FXZWJQYWdlOjppbnB1dE1ldGhvZHNfZGF0YSgpCiB7CiAgICAgUVRl
c3Q6OmFkZENvbHVtbjxRU3RyaW5nPigidmlld1R5cGUiKTsKICAgICBRVGVzdDo6bmV3Um93KCJR
V2ViVmlldyIpIDw8ICJRV2ViVmlldyI7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NI
RUNLKDQsIDYsIDApCiAgICAgUVRlc3Q6Om5ld1JvdygiUUdyYXBoaWNzV2ViVmlldyIpIDw8ICJR
R3JhcGhpY3NXZWJWaWV3IjsKLSNlbmRpZgogfQogCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJT
SU9OX0NIRUNLKDQsIDYsIDApCiBzdGF0aWMgUXQ6OklucHV0TWV0aG9kSGludHMgaW5wdXRNZXRo
b2RIaW50cyhRT2JqZWN0KiBvYmplY3QpCiB7CiAgICAgaWYgKFFHcmFwaGljc09iamVjdCogbyA9
IHFvYmplY3RfY2FzdDxRR3JhcGhpY3NPYmplY3QqPihvYmplY3QpKQpAQCAtMTM4MiwxNCArMTM3
OSwxMSBAQCBzdGF0aWMgUXQ6OklucHV0TWV0aG9kSGludHMgaW5wdXRNZXRob2RIaW50cyhRT2Jq
ZWN0KiBvYmplY3QpCiAgICAgICAgIHJldHVybiB3LT5pbnB1dE1ldGhvZEhpbnRzKCk7CiAgICAg
cmV0dXJuIFF0OjpJbnB1dE1ldGhvZEhpbnRzKCk7CiB9Ci0jZW5kaWYKIAogc3RhdGljIGJvb2wg
aW5wdXRNZXRob2RFbmFibGVkKFFPYmplY3QqIG9iamVjdCkKIHsKLSNpZiBRVF9WRVJTSU9OID49
IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICBpZiAoUUdyYXBoaWNzT2JqZWN0KiBvID0g
cW9iamVjdF9jYXN0PFFHcmFwaGljc09iamVjdCo+KG9iamVjdCkpCiAgICAgICAgIHJldHVybiBv
LT5mbGFncygpICYgUUdyYXBoaWNzSXRlbTo6SXRlbUFjY2VwdHNJbnB1dE1ldGhvZDsKLSNlbmRp
ZgogICAgIGlmIChRV2lkZ2V0KiB3ID0gcW9iamVjdF9jYXN0PFFXaWRnZXQqPihvYmplY3QpKQog
ICAgICAgICByZXR1cm4gdy0+dGVzdEF0dHJpYnV0ZShRdDo6V0FfSW5wdXRNZXRob2RFbmFibGVk
KTsKICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNDA2LDkgKzE0MDAsNyBAQCB2b2lkIHRzdF9RV2Vi
UGFnZTo6aW5wdXRNZXRob2RzKCkKICAgICAgICAgd3YtPnNldFBhZ2UocGFnZSk7CiAgICAgICAg
IHZpZXcgPSB3djsKICAgICAgICAgY29udGFpbmVyID0gdmlldzsKLSAgICB9Ci0jaWYgUVRfVkVS
U0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCi0gICAgZWxzZSBpZiAodmlld1R5cGUg
PT0gIlFHcmFwaGljc1dlYlZpZXciKSB7CisgICAgfSBlbHNlIGlmICh2aWV3VHlwZSA9PSAiUUdy
YXBoaWNzV2ViVmlldyIpIHsKICAgICAgICAgUUdyYXBoaWNzV2ViVmlldyogd3YgPSBuZXcgUUdy
YXBoaWNzV2ViVmlldzsKICAgICAgICAgd3YtPnNldFBhZ2UocGFnZSk7CiAgICAgICAgIHZpZXcg
PSB3djsKQEAgLTE0MjAsOSArMTQxMiw3IEBAIHZvaWQgdHN0X1FXZWJQYWdlOjppbnB1dE1ldGhv
ZHMoKQogICAgICAgICB3di0+c2V0R2VvbWV0cnkoUVJlY3QoMCwgMCwgNTAwLCA1MDApKTsKIAog
ICAgICAgICBjb250YWluZXIgPSBndjsKLSAgICB9Ci0jZW5kaWYKLSAgICBlbHNlCisgICAgfSBl
bHNlCiAgICAgICAgIFFWRVJJRlkyKGZhbHNlLCAiVW5rbm93biB2aWV3IHR5cGUiKTsKIAogICAg
IHBhZ2UtPnNldHRpbmdzKCktPnNldEZvbnRGYW1pbHkoUVdlYlNldHRpbmdzOjpTZXJpZkZvbnQs
ICJGb29TZXJpZkZvbnQiKTsKQEAgLTE0NDEsNyArMTQzMSw2IEBAIHZvaWQgdHN0X1FXZWJQYWdl
OjppbnB1dE1ldGhvZHMoKQogICAgIFFNb3VzZUV2ZW50IGV2cmVsKFFFdmVudDo6TW91c2VCdXR0
b25SZWxlYXNlLCBpbnB1dHMuYXQoMCkuZ2VvbWV0cnkoKS5jZW50ZXIoKSwgUXQ6OkxlZnRCdXR0
b24sIFF0OjpOb0J1dHRvbiwgUXQ6Ok5vTW9kaWZpZXIpOwogICAgIHBhZ2UtPmV2ZW50KCZldnJl
bCk7CiAKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICAv
LyBUaGlzIHBhcnQgb2YgdGhlIHRlc3QgY2hlY2tzIGlmIHRoZSBTSVAgKFNvZnR3YXJlIElucHV0
IFBhbmVsKSBpcyB0cmlnZ2VyZWQsCiAgICAgLy8gd2hpY2ggbm9ybWFsbHkgaGFwcGVucyBvbiBt
b2JpbGUgcGxhdGZvcm1zLCB3aGVuIGEgdXNlciBpbnB1dCBmb3JtIHJlY2VpdmVzCiAgICAgLy8g
YSBtb3VzZSBjbGljay4KQEAgLTE0NjMsMTUgKzE0NTIsMTEgQEAgdm9pZCB0c3RfUVdlYlBhZ2U6
OmlucHV0TWV0aG9kcygpCiAgICAgICAgIFFWRVJJRlkodmlld0V2ZW50U3B5LmNvbnRhaW5zKFFF
dmVudDo6UmVxdWVzdFNvZnR3YXJlSW5wdXRQYW5lbCkpOwogICAgIGVsc2UKICAgICAgICAgUVZF
UklGWSghdmlld0V2ZW50U3B5LmNvbnRhaW5zKFFFdmVudDo6UmVxdWVzdFNvZnR3YXJlSW5wdXRQ
YW5lbCkpOwotI2VuZGlmCiAgICAgdmlld0V2ZW50U3B5LmNsZWFyKCk7CiAKICAgICBwYWdlLT5l
dmVudCgmZXZwcmVzKTsKICAgICBwYWdlLT5ldmVudCgmZXZyZWwpOwotCi0jaWYgUVRfVkVSU0lP
TiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgUVZFUklGWSh2aWV3RXZlbnRTcHku
Y29udGFpbnMoUUV2ZW50OjpSZXF1ZXN0U29mdHdhcmVJbnB1dFBhbmVsKSk7Ci0jZW5kaWYKIAog
ICAgIC8vSW1NaWNyb0ZvY3VzCiAgICAgUVZhcmlhbnQgdmFyaWFudCA9IHBhZ2UtPmlucHV0TWV0
aG9kUXVlcnkoUXQ6OkltTWljcm9Gb2N1cyk7CkBAIC0xNDk5LDcgKzE0ODQsNiBAQCB2b2lkIHRz
dF9RV2ViUGFnZTo6aW5wdXRNZXRob2RzKCkKICAgICAgICAgcGFnZS0+ZXZlbnQoJmV2ZW50VGV4
dCk7CiAgICAgfQogCi0jaWYgUVRfVkVSU0lPTiA+PSAweDA0MDYwMAogICAgIC8vSW1NYXhpbXVt
VGV4dExlbmd0aAogICAgIHZhcmlhbnQgPSBwYWdlLT5pbnB1dE1ldGhvZFF1ZXJ5KFF0OjpJbU1h
eGltdW1UZXh0TGVuZ3RoKTsKICAgICBRQ09NUEFSRSgyMCwgdmFyaWFudC50b0ludCgpKTsKQEAg
LTE1NDgsMTQgKzE1MzIsMTIgQEAgdm9pZCB0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9kcygpCiAg
ICAgdmFyaWFudCA9IHBhZ2UtPmlucHV0TWV0aG9kUXVlcnkoUXQ6OkltQ3VycmVudFNlbGVjdGlv
bik7CiAgICAgc2VsZWN0aW9uVmFsdWUgPSB2YXJpYW50LnZhbHVlPFFTdHJpbmc+KCk7CiAgICAg
UUNPTVBBUkUoc2VsZWN0aW9uVmFsdWUsIFFTdHJpbmcoInRXZWJLIikpOwotI2VuZGlmCiAKICAg
ICAvL0ltU3Vycm91bmRpbmdUZXh0CiAgICAgdmFyaWFudCA9IHBhZ2UtPmlucHV0TWV0aG9kUXVl
cnkoUXQ6OkltU3Vycm91bmRpbmdUZXh0KTsKICAgICBRU3RyaW5nIHZhbHVlID0gdmFyaWFudC52
YWx1ZTxRU3RyaW5nPigpOwogICAgIFFDT01QQVJFKHZhbHVlLCBRU3RyaW5nKCJRdFdlYktpdCIp
KTsKIAotI2lmIFFUX1ZFUlNJT04gPj0gMHgwNDA2MDAKICAgICB7CiAgICAgICAgIFFMaXN0PFFJ
bnB1dE1ldGhvZEV2ZW50OjpBdHRyaWJ1dGU+IGF0dHJpYnV0ZXM7CiAgICAgICAgIC8vIENsZWFy
IHRoZSBzZWxlY3Rpb24sIHNvIHRoZSBuZXh0IHRlc3QgZG9lcyBub3QgY2xlYXIgYW55IGNvbnRl
bnRzLgpAQCAtMTU2OSw3ICsxNTUxLDYgQEAgdm9pZCB0c3RfUVdlYlBhZ2U6OmlucHV0TWV0aG9k
cygpCiAgICAgdmFyaWFudCA9IHBhZ2UtPmlucHV0TWV0aG9kUXVlcnkoUXQ6OkltU3Vycm91bmRp
bmdUZXh0KTsKICAgICB2YWx1ZSA9IHZhcmlhbnQudmFsdWU8UVN0cmluZz4oKTsKICAgICBRQ09N
UEFSRSh2YWx1ZSwgUVN0cmluZygiUXRXZWJLaXQiKSk7Ci0jZW5kaWYKIAogICAgIC8vIENhbmNl
bCBjdXJyZW50IGNvbXBvc2l0aW9uIGZpcnN0CiAgICAgaW5wdXRBdHRyaWJ1dGVzIDw8IFFJbnB1
dE1ldGhvZEV2ZW50OjpBdHRyaWJ1dGUoUUlucHV0TWV0aG9kRXZlbnQ6OlNlbGVjdGlvbiwgMCwg
MCwgUVZhcmlhbnQoKSk7CkBAIC0xNjcwLDEzICsxNjUxLDExIEBAIHZvaWQgdHN0X1FXZWJQYWdl
OjppbnB1dE1ldGhvZHMoKQogICAgIHBhZ2UtPmV2ZW50KCZldnJlbFBhc3N3b3JkKTsKIAogICAg
IFFWRVJJRlkoaW5wdXRNZXRob2RFbmFibGVkKHZpZXcpKTsKLSNpZiBRVF9WRVJTSU9OID49IDB4
MDQwNjAwCiAgICAgUVZFUklGWShpbnB1dE1ldGhvZEhpbnRzKHZpZXcpICYgUXQ6OkltaEhpZGRl
blRleHQpOwogCiAgICAgcGFnZS0+ZXZlbnQoJmV2cHJlcyk7CiAgICAgcGFnZS0+ZXZlbnQoJmV2
cmVsKTsKICAgICBRVkVSSUZZKCEoaW5wdXRNZXRob2RIaW50cyh2aWV3KSAmIFF0OjpJbWhIaWRk
ZW5UZXh0KSk7Ci0jZW5kaWYKIAogICAgIHBhZ2UtPm1haW5GcmFtZSgpLT5zZXRIdG1sKCI8aHRt
bD48Ym9keT48cD5ub3RoaW5nIHRvIGlucHV0IGhlcmUiKTsKICAgICB2aWV3RXZlbnRTcHkuY2xl
YXIoKTsKQEAgLTE2ODksMTEgKzE2NjgsOCBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6aW5wdXRNZXRo
b2RzKCkKICAgICAgICAgcGFnZS0+ZXZlbnQoJmV2cmVsKTsKICAgICB9CiAKLSNpZiBRVF9WRVJT
SU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICBRVkVSSUZZKCF2aWV3RXZlbnRT
cHkuY29udGFpbnMoUUV2ZW50OjpSZXF1ZXN0U29mdHdhcmVJbnB1dFBhbmVsKSk7Ci0jZW5kaWYK
IAotI2lmIFFUX1ZFUlNJT04gPj0gMHgwNDA2MDAKICAgICAvL1NUQVJUIC0gVGVzdCBmb3Igc2Vu
ZGluZyBlbXB0eSBRSW5wdXRNZXRob2RFdmVudAogICAgIHBhZ2UtPm1haW5GcmFtZSgpLT5zZXRI
dG1sKCI8aHRtbD48Ym9keT4iIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIjxpbnB1dCB0eXBlPSd0ZXh0JyBpZD0naW5wdXQzJyB2YWx1ZT0nUXRXZWJLaXQy
Jy8+IiBcCkBAIC0xNzA3LDcgKzE2ODMsNiBAQCB2b2lkIHRzdF9RV2ViUGFnZTo6aW5wdXRNZXRo
b2RzKCkKICAgICBRU3RyaW5nIGlucHV0VmFsdWUgPSBwYWdlLT5tYWluRnJhbWUoKS0+ZXZhbHVh
dGVKYXZhU2NyaXB0KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQzJykudmFsdWUiKS50
b1N0cmluZygpOwogICAgIFFDT01QQVJFKGlucHV0VmFsdWUsIFFTdHJpbmcoIlF0V2ViS2l0MiIp
KTsKICAgICAvL0VORCAtIFRlc3QgZm9yIHNlbmRpbmcgZW1wdHkgUUlucHV0TWV0aG9kRXZlbnQK
LSNlbmRpZgogCiAgICAgZGVsZXRlIGNvbnRhaW5lcjsKIH0KQEAgLTIwODksMTAgKzIwNjQsOCBA
QCB2b2lkIHRzdF9RV2ViUGFnZTo6b3JpZ2luYXRpbmdPYmplY3RJbk5ldHdvcmtSZXF1ZXN0cygp
CiAgICAgUUxpc3Q8UVdlYkZyYW1lKj4gY2hpbGRGcmFtZXMgPSBtX3BhZ2UtPm1haW5GcmFtZSgp
LT5jaGlsZEZyYW1lcygpOwogICAgIFFDT01QQVJFKGNoaWxkRnJhbWVzLmNvdW50KCksIDIpOwog
Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgZm9yIChp
bnQgaSA9IDA7IGkgPCAyOyArK2kpCiAgICAgICAgIFFWRVJJRlkocW9iamVjdF9jYXN0PFFXZWJG
cmFtZSo+KG5ldHdvcmtNYW5hZ2VyLT5yZXF1ZXN0cy5hdChpKS5vcmlnaW5hdGluZ09iamVjdCgp
KSA9PSBjaGlsZEZyYW1lcy5hdChpKSk7Ci0jZW5kaWYKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9X
ZWJLaXQvcXQvdGVzdHMvcXdlYnZpZXcvdHN0X3F3ZWJ2aWV3LmNwcCBiL1dlYktpdC9xdC90ZXN0
cy9xd2Vidmlldy90c3RfcXdlYnZpZXcuY3BwCmluZGV4IGZkNDk3OGQuLjhjZDJmM2YgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC90ZXN0cy9xd2Vidmlldy90c3RfcXdlYnZpZXcuY3BwCisrKyBiL1dl
YktpdC9xdC90ZXN0cy9xd2Vidmlldy90c3RfcXdlYnZpZXcuY3BwCkBAIC0xNDIsMjIgKzE0Miwx
NCBAQCB2b2lkIHRzdF9RV2ViVmlldzo6cmV1c2VQYWdlKCkKICAgICB9CiAKICAgICB2aWV3MS0+
c2hvdygpOwotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQogICAg
IFFUZXN0OjpxV2FpdEZvcldpbmRvd1Nob3duKHZpZXcxKTsKLSNlbHNlCi0gICAgUVRlc3Q6OnFX
YWl0KDIwMDApOyAKLSNlbmRpZgogICAgIGRlbGV0ZSB2aWV3MTsKICAgICBRVkVSSUZZKHBhZ2Ug
IT0gMCk7IC8vIGRlbGV0aW5nIHZpZXcgbXVzdCBub3QgaGF2ZSBkZWxldGVkIHRoZSBwYWdlLCBz
aW5jZSBpdCdzIG5vdCBhIGNoaWxkIG9mIHZpZXcKIAogICAgIFFXZWJWaWV3ICp2aWV3MiA9IG5l
dyBRV2ViVmlldzsKICAgICB2aWV3Mi0+c2V0UGFnZShwYWdlKTsKICAgICB2aWV3Mi0+c2hvdygp
OyAvLyBpbiBXaW5kb3dsZXNzIG1vZGUsIHlvdSBzaG91bGQgc3RpbGwgYmUgYWJsZSB0byBzZWUg
dGhlIHBsdWdpbiBoZXJlCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYs
IDApCiAgICAgUVRlc3Q6OnFXYWl0Rm9yV2luZG93U2hvd24odmlldzIpOwotI2Vsc2UKLSAgICBR
VGVzdDo6cVdhaXQoMjAwMCk7IAotI2VuZGlmCiAgICAgZGVsZXRlIHZpZXcyOwogCiAgICAgZGVs
ZXRlIHBhZ2U7IC8vIG11c3Qgbm90IGNyYXNoCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69046</attachid>
            <date>2010-09-28 07:08:13 -0700</date>
            <delta_ts>2010-09-28 07:23:23 -0700</delta_ts>
            <desc>For WebKit 2</desc>
            <filename>46718_webkit2.diff</filename>
            <type>text/plain</type>
            <size>2812</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
YTI0OTY5Yi4uMDA0OWRlMCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wOS0yOCAgQmVuamFtaW4gUG91
bGFpbiAgPGJlbmphbWluLnBvdWxhaW5Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gUmVtb3ZlIHN1cHBvcnQgZm9yIFF0IDQu
NQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY3MTgK
KworICAgICAgICBSZW1vdmUgdGhlIGNvZGUgZm9yIHZlcnNpb25zIG9mIFF0IHByaW9yIHRvIDQu
Ni4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcDoKKyAg
ICAgICAgKFFHcmFwaGljc1dLVmlldzo6ZXZlbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvcXdrcGFnZS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlX3AuaDoK
KwogMjAxMC0wOS0yOCAgQW5kcmFzIEJlY3NpICA8YWJlY3NpQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQ3NhYmEgT3N6dHJvZ29uw6FjLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FncmFwaGljc3drdmlldy5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcAppbmRleCAwZDhkN2NmLi44MGZjZWJjIDEwMDY0NAot
LS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcAorKysgYi9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcWdyYXBoaWNzd2t2aWV3LmNwcApAQCAtMTU0LDEyICsx
NTQsMTAgQEAgUVZhcmlhbnQgUUdyYXBoaWNzV0tWaWV3OjppdGVtQ2hhbmdlKEdyYXBoaWNzSXRl
bUNoYW5nZSBjaGFuZ2UsIGNvbnN0IFFWYXJpYW50JgogKi8KIGJvb2wgUUdyYXBoaWNzV0tWaWV3
OjpldmVudChRRXZlbnQqIGV2ZW50KQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9D
SEVDSyg0LCA2LCAwKQogICAgIGlmIChldmVudC0+dHlwZSgpID09IFFFdmVudDo6VG91Y2hCZWdp
biB8fCBldmVudC0+dHlwZSgpID09IFFFdmVudDo6VG91Y2hFbmQgfHwgZXZlbnQtPnR5cGUoKSA9
PSBRRXZlbnQ6OlRvdWNoVXBkYXRlKSB7CiAgICAgICAgIHRvdWNoRXZlbnQoc3RhdGljX2Nhc3Q8
UVRvdWNoRXZlbnQqPihldmVudCkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0jZW5k
aWYgCiAKICAgICAvLyBIZXJlIHNvIHRoYXQgaXQgY2FuIGJlIHJlaW1wbGVtZW50ZWQgd2l0aG91
dCBicmVha2luZyBBQkkuCiAgICAgcmV0dXJuIFFHcmFwaGljc1dpZGdldDo6ZXZlbnQoZXZlbnQp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwIGIvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2UuY3BwCmluZGV4IGRmZDUyZjQuLjQwNjA4MTMg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2twYWdlLmNwcAorKysgYi9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZS5jcHAKQEAgLTM1LDEzICszNSwxMSBAQAog
I2luY2x1ZGUgPFFBcHBsaWNhdGlvbj4KICNpbmNsdWRlIDxRR3JhcGhpY3NTY2VuZU1vdXNlRXZl
bnQ+CiAjaW5jbHVkZSA8UVN0eWxlPgorI2luY2x1ZGUgPFFUb3VjaEV2ZW50PgogI2luY2x1ZGUg
PFF0RGVidWc+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0ZyYW1lLmg+CiAjaW5jbHVkZSA8V2ViS2l0
Mi9XS1JldGFpblB0ci5oPgogCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQs
IDYsIDApCi0jaW5jbHVkZSA8UVRvdWNoRXZlbnQ+Ci0jZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNl
IFdlYktpdDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtMjI5LDE2ICsyMjcsMTIgQEAg
dm9pZCBRV0tQYWdlUHJpdmF0ZTo6X3Ffd2ViQWN0aW9uVHJpZ2dlcmVkKGJvb2wgY2hlY2tlZCkK
IH0KICNlbmRpZiAvLyBRVF9OT19BQ1RJT04KIAotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lP
Tl9DSEVDSyg0LCA2LCAwKQotCiB2b2lkIFFXS1BhZ2VQcml2YXRlOjp0b3VjaEV2ZW50KFFUb3Vj
aEV2ZW50KiBldmVudCkKIHsKICAgICBXZWJUb3VjaEV2ZW50IHRvdWNoRXZlbnQgPSBXZWJFdmVu
dEZhY3Rvcnk6OmNyZWF0ZVdlYlRvdWNoRXZlbnQoZXZlbnQpOwogICAgIHBhZ2UtPmhhbmRsZVRv
dWNoRXZlbnQodG91Y2hFdmVudCk7CiB9CiAKLSNlbmRpZgotCiBRV0tQYWdlOjpRV0tQYWdlKFdL
UGFnZU5hbWVzcGFjZVJlZiBuYW1lc3BhY2VSZWYpCiAgICAgOiBkKG5ldyBRV0tQYWdlUHJpdmF0
ZSh0aGlzLCBuYW1lc3BhY2VSZWYpKQogewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3F3a3BhZ2VfcC5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3a3BhZ2VfcC5o
CmluZGV4IGVhNDE1YzQuLmFkOWYxM2IgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xd2twYWdlX3AuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdrcGFnZV9w
LmgKQEAgLTczLDkgKzczLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBfcV93ZWJBY3Rpb25Ucmln
Z2VyZWQoYm9vbCBjaGVja2VkKTsKIAotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVD
Syg0LCA2LCAwKQogICAgIHZvaWQgdG91Y2hFdmVudChRVG91Y2hFdmVudCopOwotI2VuZGlmCiAK
ICAgICBRV0tQYWdlKiBxOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69047</attachid>
            <date>2010-09-28 07:13:35 -0700</date>
            <delta_ts>2010-09-28 07:40:49 -0700</delta_ts>
            <desc>For WebKitTools</desc>
            <filename>46718_webkittool.diff</filename>
            <type>text/plain</type>
            <size>12677</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzZTQ2ZjBlLi45MTBhZjY4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTAtMDkt
MjggIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbi5wb3VsYWluQG5va2lhLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIFJlbW92ZSBz
dXBwb3J0IGZvciBRdCA0LjUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ2NzE4CisKKyAgICAgICAgUmVtb3ZlIHRoZSBjb2RlIGZvciB2ZXJzaW9ucyBv
ZiBRdCBwcmlvciB0byA0LjYuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNl
bmRlclF0LmNwcDoKKyAgICAgICAgKEV2ZW50U2VuZGVyOjphZGRUb3VjaFBvaW50KToKKyAgICAg
ICAgKEV2ZW50U2VuZGVyOjp1cGRhdGVUb3VjaFBvaW50KToKKyAgICAgICAgKEV2ZW50U2VuZGVy
OjpzZXRUb3VjaE1vZGlmaWVyKToKKyAgICAgICAgKEV2ZW50U2VuZGVyOjp0b3VjaFN0YXJ0KToK
KyAgICAgICAgKEV2ZW50U2VuZGVyOjp0b3VjaE1vdmUpOgorICAgICAgICAoRXZlbnRTZW5kZXI6
OnRvdWNoRW5kKToKKyAgICAgICAgKEV2ZW50U2VuZGVyOjpjbGVhclRvdWNoUG9pbnRzKToKKyAg
ICAgICAgKEV2ZW50U2VuZGVyOjpyZWxlYXNlVG91Y2hQb2ludCk6CisgICAgICAgIChFdmVudFNl
bmRlcjo6c2VuZFRvdWNoRXZlbnQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0V2ZW50
U2VuZGVyUXQuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9xdC9UZXh0SW5wdXRDb250cm9s
bGVyUXQuY3BwOgorICAgICAgICAoVGV4dElucHV0Q29udHJvbGxlcjo6c2V0TWFya2VkVGV4dCk6
CisgICAgICAgICogUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHA6CisgICAgICAgIChM
YXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3cpOgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6
OmluaXRpYWxpemVWaWV3KToKKyAgICAgICAgKExhdW5jaGVyV2luZG93OjpjcmVhdGVDaHJvbWUp
OgorICAgICAgICAoTGF1bmNoZXJXaW5kb3c6OnNlbmRUb3VjaEV2ZW50KToKKyAgICAgICAgKExh
dW5jaGVyV2luZG93OjpldmVudEZpbHRlcik6CisgICAgICAgIChMYXVuY2hlcldpbmRvdzo6YXBw
bHlab29tKToKKyAgICAgICAgKExhdW5jaGVyV2luZG93OjpzZXRUb3VjaE1vY2tpbmcpOgorICAg
ICAgICAqIFF0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaDoKKyAgICAgICAgKiBRdFRlc3RC
cm93c2VyL3V0aWxzLmNwcDoKKyAgICAgICAgKHVybEZyb21Vc2VySW5wdXQpOgorICAgICAgICAq
IFF0VGVzdEJyb3dzZXIvd2Vidmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3R3JhcGhpY3NCYXNl
ZDo6YW5pbWF0ZWRGbGlwKToKKyAgICAgICAgKFdlYlZpZXdHcmFwaGljc0Jhc2VkOjphbmltYXRl
ZFlGbGlwKToKKyAgICAgICAgKiBRdFRlc3RCcm93c2VyL3dlYnZpZXcuaDoKKyAgICAgICAgKFdl
YlZpZXdHcmFwaGljc0Jhc2VkOjpzZXRZUm90YXRpb24pOgorCiAyMDEwLTA5LTI4ICBEYW5pZWwg
QmF0ZXMgIDxkYmF0ZXNAcmltLmNvbT4KIAogICAgICAgICBSb2xsb3V0IGNoYW5nZXNldCA2ODQ5
MyA8aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNjg0OTM+CmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmNwcCBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwCmluZGV4IDYzZGJkMmEuLmZk
N2M5MjUgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2Vu
ZGVyUXQuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVy
UXQuY3BwCkBAIC0zODEsNyArMzgxLDYgQEAgdm9pZCBFdmVudFNlbmRlcjo6c2NoZWR1bGVBc3lu
Y2hyb25vdXNDbGljaygpCiAKIHZvaWQgRXZlbnRTZW5kZXI6OmFkZFRvdWNoUG9pbnQoaW50IHgs
IGludCB5KQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQog
ICAgIC8vIFVzZSBpbmRleCB0byByZWZlciB0byB0aGUgcG9zaXRpb24gaW4gdGhlIHZlY3RvciB0
aGF0IHRoaXMgdG91Y2gKICAgICAvLyBpcyBzdG9yZWQuIFdlIHRoZW4gY3JlYXRlIGEgdW5pcXVl
IGlkIGZvciB0aGUgdG91Y2ggdGhhdCB3aWxsIGJlCiAgICAgLy8gcGFzc2VkIGludG8gV2ViQ29y
ZS4KQEAgLTM5MSwyNCArMzkwLDIwIEBAIHZvaWQgRXZlbnRTZW5kZXI6OmFkZFRvdWNoUG9pbnQo
aW50IHgsIGludCB5KQogICAgIG1fdG91Y2hQb2ludHMuYXBwZW5kKHBvaW50KTsKICAgICB1cGRh
dGVUb3VjaFBvaW50KGluZGV4LCB4LCB5KTsKICAgICBtX3RvdWNoUG9pbnRzW2luZGV4XS5zZXRT
dGF0ZShRdDo6VG91Y2hQb2ludFByZXNzZWQpOwotI2VuZGlmCiB9CiAKIHZvaWQgRXZlbnRTZW5k
ZXI6OnVwZGF0ZVRvdWNoUG9pbnQoaW50IGluZGV4LCBpbnQgeCwgaW50IHkpCiB7Ci0jaWYgUVRf
VkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgaWYgKGluZGV4IDwgMCB8
fCBpbmRleCA+PSBtX3RvdWNoUG9pbnRzLmNvdW50KCkpCiAgICAgICAgIHJldHVybjsKIAogICAg
IFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50ICZwID0gbV90b3VjaFBvaW50c1tpbmRleF07CiAgICAg
cC5zZXRQb3MoUVBvaW50Rih4LCB5KSk7CiAgICAgcC5zZXRTdGF0ZShRdDo6VG91Y2hQb2ludE1v
dmVkKTsKLSNlbmRpZgogfQogCiB2b2lkIEV2ZW50U2VuZGVyOjpzZXRUb3VjaE1vZGlmaWVyKGNv
bnN0IFFTdHJpbmcgJm1vZGlmaWVyLCBib29sIGVuYWJsZSkKIHsKLSNpZiBRVF9WRVJTSU9OID49
IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICBRdDo6S2V5Ym9hcmRNb2RpZmllciBtb2Qg
PSBRdDo6Tm9Nb2RpZmllcjsKICAgICBpZiAoIW1vZGlmaWVyLmNvbXBhcmUoUUxhdGluMVN0cmlu
Zygic2hpZnQiKSwgUXQ6OkNhc2VJbnNlbnNpdGl2ZSkpCiAgICAgICAgIG1vZCA9IFF0OjpTaGlm
dE1vZGlmaWVyOwpAQCAtNDIzLDMwICs0MTgsMjQgQEAgdm9pZCBFdmVudFNlbmRlcjo6c2V0VG91
Y2hNb2RpZmllcihjb25zdCBRU3RyaW5nICZtb2RpZmllciwgYm9vbCBlbmFibGUpCiAgICAgICAg
IG1fdG91Y2hNb2RpZmllcnMgfD0gbW9kOwogICAgIGVsc2UKICAgICAgICAgbV90b3VjaE1vZGlm
aWVycyAmPSB+bW9kOwotI2VuZGlmCiB9CiAKIHZvaWQgRXZlbnRTZW5kZXI6OnRvdWNoU3RhcnQo
KQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQogICAgIGlm
ICghbV90b3VjaEFjdGl2ZSkgewogICAgICAgICBzZW5kVG91Y2hFdmVudChRRXZlbnQ6OlRvdWNo
QmVnaW4pOwogICAgICAgICBtX3RvdWNoQWN0aXZlID0gdHJ1ZTsKICAgICB9IGVsc2UKICAgICAg
ICAgc2VuZFRvdWNoRXZlbnQoUUV2ZW50OjpUb3VjaFVwZGF0ZSk7Ci0jZW5kaWYKIH0KIAogdm9p
ZCBFdmVudFNlbmRlcjo6dG91Y2hNb3ZlKCkKIHsKLSNpZiBRVF9WRVJTSU9OID49IFFUX1ZFUlNJ
T05fQ0hFQ0soNCwgNiwgMCkKICAgICBzZW5kVG91Y2hFdmVudChRRXZlbnQ6OlRvdWNoVXBkYXRl
KTsKLSNlbmRpZgogfQogCiB2b2lkIEV2ZW50U2VuZGVyOjp0b3VjaEVuZCgpCiB7Ci0jaWYgUVRf
VkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBtX3RvdWNoUG9pbnRzLmNvdW50KCk7ICsraSkKICAgICAgICAgaWYgKG1fdG91Y2hQb2lu
dHNbaV0uc3RhdGUoKSAhPSBRdDo6VG91Y2hQb2ludFJlbGVhc2VkKSB7CiAgICAgICAgICAgICBz
ZW5kVG91Y2hFdmVudChRRXZlbnQ6OlRvdWNoVXBkYXRlKTsKQEAgLTQ1NCwzMSArNDQzLDI1IEBA
IHZvaWQgRXZlbnRTZW5kZXI6OnRvdWNoRW5kKCkKICAgICAgICAgfQogICAgIHNlbmRUb3VjaEV2
ZW50KFFFdmVudDo6VG91Y2hFbmQpOwogICAgIG1fdG91Y2hBY3RpdmUgPSBmYWxzZTsKLSNlbmRp
ZgogfQogCiB2b2lkIEV2ZW50U2VuZGVyOjpjbGVhclRvdWNoUG9pbnRzKCkKIHsKLSNpZiBRVF9W
RVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICBtX3RvdWNoUG9pbnRzLmNs
ZWFyKCk7CiAgICAgbV90b3VjaE1vZGlmaWVycyA9IFF0OjpLZXlib2FyZE1vZGlmaWVycygpOwog
ICAgIG1fdG91Y2hBY3RpdmUgPSBmYWxzZTsKLSNlbmRpZgogfQogCiB2b2lkIEV2ZW50U2VuZGVy
OjpyZWxlYXNlVG91Y2hQb2ludChpbnQgaW5kZXgpCiB7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9W
RVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSBtX3Rv
dWNoUG9pbnRzLmNvdW50KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fdG91Y2hQb2ludHNb
aW5kZXhdLnNldFN0YXRlKFF0OjpUb3VjaFBvaW50UmVsZWFzZWQpOwotI2VuZGlmCiB9CiAKIHZv
aWQgRXZlbnRTZW5kZXI6OnNlbmRUb3VjaEV2ZW50KFFFdmVudDo6VHlwZSB0eXBlKQogewotI2lm
IFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQogICAgIFFUb3VjaEV2ZW50
IGV2ZW50KHR5cGUsIFFUb3VjaEV2ZW50OjpUb3VjaFNjcmVlbiwgbV90b3VjaE1vZGlmaWVycyk7
CiAgICAgZXZlbnQuc2V0VG91Y2hQb2ludHMobV90b3VjaFBvaW50cyk7CiAgICAgc2VuZEV2ZW50
KG1fcGFnZSwgJmV2ZW50KTsKQEAgLTQ5MSw3ICs0NzQsNiBAQCB2b2lkIEV2ZW50U2VuZGVyOjpz
ZW5kVG91Y2hFdmVudChRRXZlbnQ6OlR5cGUgdHlwZSkKICAgICAgICAgICAgICsraXQ7CiAgICAg
ICAgIH0KICAgICB9Ci0jZW5kaWYKIH0KIAogdm9pZCBFdmVudFNlbmRlcjo6em9vbVBhZ2VJbigp
CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0
LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmgKaW5kZXgg
YTE3ZTkzOC4uNGJhODM4MiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvRXZlbnRTZW5kZXJRdC5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2
ZW50U2VuZGVyUXQuaApAQCAtNDEsMTMgKzQxLDExIEBACiAjaW5jbHVkZSA8UVBvaW50PgogI2lu
Y2x1ZGUgPFFTdHJpbmc+CiAjaW5jbHVkZSA8UVN0cmluZ0xpc3Q+CisjaW5jbHVkZSA8UVRvdWNo
RXZlbnQ+CiAKICNpbmNsdWRlIDxxd2VicGFnZS5oPgogI2luY2x1ZGUgPHF3ZWJmcmFtZS5oPgog
Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCi0jaW5jbHVkZSA8
UVRvdWNoRXZlbnQ+Ci0jZW5kaWYKIAogY2xhc3MgRXZlbnRTZW5kZXIgOiBwdWJsaWMgUU9iamVj
dCB7CiAgICAgUV9PQkpFQ1QKQEAgLTEwNywxMCArMTA1LDggQEAgcHJpdmF0ZToKICAgICBRRXZl
bnRMb29wKiBtX2V2ZW50TG9vcDsKICAgICBRV2ViRnJhbWUqIGZyYW1lVW5kZXJNb3VzZSgpIGNv
bnN0OwogICAgIFFCYXNpY1RpbWVyIG1fY2xpY2tUaW1lcjsKLSNpZiBRVF9WRVJTSU9OID49IFFU
X1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICBRTGlzdDxRVG91Y2hFdmVudDo6VG91Y2hQb2lu
dD4gbV90b3VjaFBvaW50czsKICAgICBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgbV90b3VjaE1vZGlm
aWVyczsKICAgICBib29sIG1fdG91Y2hBY3RpdmU7Ci0jZW5kaWYKIH07CiAjZW5kaWYgLy8gIEV2
ZW50U2VuZGVyUXRfaApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
VGV4dElucHV0Q29udHJvbGxlclF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0
L1RleHRJbnB1dENvbnRyb2xsZXJRdC5jcHAKaW5kZXggZTBjOWI2MS4uMDhkODg1MCAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvVGV4dElucHV0Q29udHJvbGxlclF0
LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9UZXh0SW5wdXRDb250cm9s
bGVyUXQuY3BwCkBAIC0xMzMsMTAgKzEzMyw4IEBAIHZvaWQgVGV4dElucHV0Q29udHJvbGxlcjo6
ZG9Db21tYW5kKGNvbnN0IFFTdHJpbmcmIGNvbW1hbmQpCiB2b2lkIFRleHRJbnB1dENvbnRyb2xs
ZXI6OnNldE1hcmtlZFRleHQoY29uc3QgUVN0cmluZyYgc3RyaW5nLCBpbnQgc3RhcnQsIGludCBl
bmQpCiB7CiAgICAgUUxpc3Q8UUlucHV0TWV0aG9kRXZlbnQ6OkF0dHJpYnV0ZT4gYXR0cmlidXRl
czsKLSNpZiBRVF9WRVJTSU9OID49IDB4MDQwNjAwCiAgICAgUUlucHV0TWV0aG9kRXZlbnQ6OkF0
dHJpYnV0ZSBzZWxlY3Rpb24oUUlucHV0TWV0aG9kRXZlbnQ6OlNlbGVjdGlvbiwgc3RhcnQsIGVu
ZCwgUVZhcmlhbnQoKSk7CiAgICAgYXR0cmlidXRlcyA8PCBzZWxlY3Rpb247Ci0jZW5kaWYKICAg
ICBRSW5wdXRNZXRob2RFdmVudCBldmVudChzdHJpbmcsIGF0dHJpYnV0ZXMpOwogICAgIFFBcHBs
aWNhdGlvbjo6c2VuZEV2ZW50KHBhcmVudCgpLCAmZXZlbnQpOwogfQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5jcHAgYi9XZWJLaXRUb29scy9R
dFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcAppbmRleCA5MmRjOWYyLi5kZjI5ZjExIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcAor
KysgYi9XZWJLaXRUb29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmNwcApAQCAtNDEs
OSArNDEsNyBAQCBMYXVuY2hlcldpbmRvdzo6TGF1bmNoZXJXaW5kb3coV2luZG93T3B0aW9ucyog
ZGF0YSwgUUdyYXBoaWNzU2NlbmUqIHNoYXJlZFNjZW5lKQogICAgICwgbV92aWV3KDApCiAgICAg
LCBtX2luc3BlY3RvcigwKQogICAgICwgbV9mb3JtYXRNZW51QWN0aW9uKDApCi0jaWYgUVRfVkVS
U0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgLCBtX3pvb21BbmltYXRpb24o
MCkKLSNlbmRpZgogewogICAgIGlmIChkYXRhKQogICAgICAgICBtX3dpbmRvd09wdGlvbnMgPSAq
ZGF0YTsKQEAgLTEzNyw5ICsxMzUsNyBAQCB2b2lkIExhdW5jaGVyV2luZG93Ojppbml0aWFsaXpl
VmlldygpCiAgICAgaWYgKHVybC5pc1ZhbGlkKCkpCiAgICAgICAgIHBhZ2UoKS0+bWFpbkZyYW1l
KCktPmxvYWQodXJsKTsKIAotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2
LCAwKQogICAgIG1fdG91Y2hNb2NraW5nID0gZmFsc2U7Ci0jZW5kaWYKIH0KIAogdm9pZCBMYXVu
Y2hlcldpbmRvdzo6YXBwbHlQcmVmcygpCkBAIC0yNDMsMTEgKzIzOSw5IEBAIHZvaWQgTGF1bmNo
ZXJXaW5kb3c6OmNyZWF0ZUNocm9tZSgpCiAgICAgdG9nZ2xlRnJhbWVGbGF0dGVuaW5nLT5zZXRD
aGVja2FibGUodHJ1ZSk7CiAgICAgdG9nZ2xlRnJhbWVGbGF0dGVuaW5nLT5zZXRDaGVja2VkKHNl
dHRpbmdzLT50ZXN0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6RnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCkpOwogCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAg
UUFjdGlvbiogdG91Y2hNb2NrQWN0aW9uID0gdG9vbHNNZW51LT5hZGRBY3Rpb24oIlRvZ2dsZSB0
b3VjaCBtb2NraW5nIiwgdGhpcywgU0xPVChzZXRUb3VjaE1vY2tpbmcoYm9vbCkpKTsKICAgICB0
b3VjaE1vY2tBY3Rpb24tPnNldENoZWNrYWJsZSh0cnVlKTsKICAgICB0b3VjaE1vY2tBY3Rpb24t
PnNldFNob3J0Y3V0KFFLZXlTZXF1ZW5jZShRdDo6Q1RSTCB8IFF0OjpBTFQgfCBRdDo6S2V5X1Qp
KTsKLSNlbmRpZgogCiAgICAgdG9vbHNNZW51LT5hZGRTZXBhcmF0b3IoKTsKIApAQCAtNDA5LDcg
KzQwMyw2IEBAIHZvaWQgTGF1bmNoZXJXaW5kb3c6OmdyYWJab29tS2V5cyhib29sIGdyYWIpCiAj
ZW5kaWYKIH0KIAotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQog
dm9pZCBMYXVuY2hlcldpbmRvdzo6c2VuZFRvdWNoRXZlbnQoKQogewogICAgIGlmIChtX3RvdWNo
UG9pbnRzLmlzRW1wdHkoKSkKQEAgLTQzMyw3ICs0MjYsNiBAQCB2b2lkIExhdW5jaGVyV2luZG93
OjpzZW5kVG91Y2hFdmVudCgpCiAgICAgaWYgKG1fdG91Y2hQb2ludHMuc2l6ZSgpID4gMSAmJiBt
X3RvdWNoUG9pbnRzWzFdLnN0YXRlKCkgPT0gUXQ6OlRvdWNoUG9pbnRSZWxlYXNlZCkKICAgICAg
ICAgbV90b3VjaFBvaW50cy5yZW1vdmVBdCgxKTsKIH0KLSNlbmRpZiAvLyBRVF9WRVJTSU9OID49
IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKIAogYm9vbCBMYXVuY2hlcldpbmRvdzo6ZXZlbnRG
aWx0ZXIoUU9iamVjdCogb2JqLCBRRXZlbnQqIGV2ZW50KQogewpAQCAtNDQ5LDcgKzQ0MSw2IEBA
IGJvb2wgTGF1bmNoZXJXaW5kb3c6OmV2ZW50RmlsdGVyKFFPYmplY3QqIG9iaiwgUUV2ZW50KiBl
dmVudCkKICAgICAgICAgfQogICAgIH0KIAotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9D
SEVDSyg0LCA2LCAwKQogICAgIGlmICghbV90b3VjaE1vY2tpbmcpCiAgICAgICAgIHJldHVybiBR
T2JqZWN0OjpldmVudEZpbHRlcihvYmosIGV2ZW50KTsKIApAQCAtNTExLDcgKzUwMiw2IEBAIGJv
b2wgTGF1bmNoZXJXaW5kb3c6OmV2ZW50RmlsdGVyKFFPYmplY3QqIG9iaiwgUUV2ZW50KiBldmVu
dCkKICAgICAgICAgICAgIG1fdG91Y2hQb2ludHMubGFzdCgpLnNldFN0YXRlKFF0OjpUb3VjaFBv
aW50U3RhdGlvbmFyeSk7CiAgICAgICAgIH0KICAgICB9Ci0jZW5kaWYgLy8gUVRfVkVSU0lPTiA+
PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAKICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC01
NDksNyArNTM5LDYgQEAgdm9pZCBMYXVuY2hlcldpbmRvdzo6em9vbUFuaW1hdGlvbkZpbmlzaGVk
KCkKIAogdm9pZCBMYXVuY2hlcldpbmRvdzo6YXBwbHlab29tKCkKIHsKLSNpZiBRVF9WRVJTSU9O
ID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICBpZiAoaXNHcmFwaGljc0Jhc2VkKCkg
JiYgcGFnZSgpLT5zZXR0aW5ncygpLT50ZXN0QXR0cmlidXRlKFFXZWJTZXR0aW5nczo6VGlsZWRC
YWNraW5nU3RvcmVFbmFibGVkKSkgewogICAgICAgICBRR3JhcGhpY3NXZWJWaWV3KiB2aWV3ID0g
c3RhdGljX2Nhc3Q8V2ViVmlld0dyYXBoaWNzQmFzZWQqPihtX3ZpZXcpLT5ncmFwaGljc1dlYlZp
ZXcoKTsKICAgICAgICAgdmlldy0+c2V0VGlsZWRCYWNraW5nU3RvcmVGcm96ZW4odHJ1ZSk7CkBA
IC01NjcsNyArNTU2LDYgQEAgdm9pZCBMYXVuY2hlcldpbmRvdzo6YXBwbHlab29tKCkKICAgICAg
ICAgbV96b29tQW5pbWF0aW9uLT5zdGFydCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQotI2Vu
ZGlmCiAgICAgcGFnZSgpLT5tYWluRnJhbWUoKS0+c2V0Wm9vbUZhY3RvcihxcmVhbChtX2N1cnJl
bnRab29tKSAvIDEwMC4wKTsKIH0KIApAQCAtNjc3LDkgKzY2NSw3IEBAIHZvaWQgTGF1bmNoZXJX
aW5kb3c6OnNlbGVjdEVsZW1lbnRzKCkKIAogdm9pZCBMYXVuY2hlcldpbmRvdzo6c2V0VG91Y2hN
b2NraW5nKGJvb2wgb24pCiB7Ci0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQs
IDYsIDApCiAgICAgbV90b3VjaE1vY2tpbmcgPSBvbjsKLSNlbmRpZgogfQogCiB2b2lkIExhdW5j
aGVyV2luZG93Ojp0b2dnbGVXZWJWaWV3KGJvb2wgZ3JhcGhpY3NCYXNlZCkKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaCBiL1dlYktpdFRvb2xz
L1F0VGVzdEJyb3dzZXIvbGF1bmNoZXJ3aW5kb3cuaAppbmRleCAwZTE3YTEyLi44NGRlZGFhIDEw
MDY0NAotLS0gYS9XZWJLaXRUb29scy9RdFRlc3RCcm93c2VyL2xhdW5jaGVyd2luZG93LmgKKysr
IGIvV2ViS2l0VG9vbHMvUXRUZXN0QnJvd3Nlci9sYXVuY2hlcndpbmRvdy5oCkBAIC0xMjMsOSAr
MTIzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBrZXlQcmVzc0V2ZW50KFFLZXlFdmVu
dCogZXZlbnQpOwogICAgIHZvaWQgZ3JhYlpvb21LZXlzKGJvb2wgZ3JhYik7CiAKLSNpZiBRVF9W
RVJTSU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICB2b2lkIHNlbmRUb3VjaEV2
ZW50KCk7Ci0jZW5kaWYKIAogICAgIGJvb2wgZXZlbnRGaWx0ZXIoUU9iamVjdCogb2JqLCBRRXZl
bnQqIGV2ZW50KTsKIApAQCAtMjAwLDExICsxOTgsOSBAQCBwcml2YXRlOgogCiAgICAgUUFjdGlv
biogbV9mb3JtYXRNZW51QWN0aW9uOwogCi0jaWYgUVRfVkVSU0lPTiA+PSBRVF9WRVJTSU9OX0NI
RUNLKDQsIDYsIDApCiAgICAgUVByb3BlcnR5QW5pbWF0aW9uKiBtX3pvb21BbmltYXRpb247CiAg
ICAgUUxpc3Q8UVRvdWNoRXZlbnQ6OlRvdWNoUG9pbnQ+IG1fdG91Y2hQb2ludHM7CiAgICAgYm9v
bCBtX3RvdWNoTW9ja2luZzsKLSNlbmRpZgogfTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9RdFRlc3RCcm93c2VyL3V0aWxzLmNwcCBiL1dlYktpdFRvb2xzL1F0VGVzdEJyb3dz
ZXIvdXRpbHMuY3BwCmluZGV4IDJkNDVkZDAuLjU2N2M5ODkgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1F0VGVzdEJyb3dzZXIvdXRpbHMuY3BwCisrKyBiL1dlYktpdFRvb2xzL1F0VGVzdEJyb3dz
ZXIvdXRpbHMuY3BwCkBAIC04MiwxMSArODIsNyBAQCBRVXJsIHVybEZyb21Vc2VySW5wdXQoY29u
c3QgUVN0cmluZyYgc3RyaW5nKQogICAgIGlmIChmaS5leGlzdHMoKSAmJiBmaS5pc1JlbGF0aXZl
KCkpCiAgICAgICAgIGlucHV0ID0gZmkuYWJzb2x1dGVGaWxlUGF0aCgpOwogCi0jaWYgUVRfVkVS
U0lPTiA+PSBRVF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgcmV0dXJuIFFVcmw6OmZyb21V
c2VySW5wdXQoaW5wdXQpOwotI2Vsc2UKLSAgICByZXR1cm4gUVVybChpbnB1dCk7Ci0jZW5kaWYK
IH0KIAogCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9RdFRlc3RCcm93c2VyL3dlYnZpZXcuY3Bw
IGIvV2ViS2l0VG9vbHMvUXRUZXN0QnJvd3Nlci93ZWJ2aWV3LmNwcAppbmRleCBkOGQ4OWE5Li4y
NDJkYWY2IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9RdFRlc3RCcm93c2VyL3dlYnZpZXcuY3Bw
CisrKyBiL1dlYktpdFRvb2xzL1F0VGVzdEJyb3dzZXIvd2Vidmlldy5jcHAKQEAgLTE1MSw3ICsx
NTEsNiBAQCB2b2lkIFdlYlZpZXdHcmFwaGljc0Jhc2VkOjp1cGRhdGVGcmFtZVJhdGUoKQogCiB2
b2lkIFdlYlZpZXdHcmFwaGljc0Jhc2VkOjphbmltYXRlZEZsaXAoKQogewotI2lmIFFUX1ZFUlNJ
T04gPj0gUVRfVkVSU0lPTl9DSEVDSyg0LCA2LCAwKQogICAgIFFTaXplRiBjZW50ZXIgPSBncmFw
aGljc1dlYlZpZXcoKS0+Ym91bmRpbmdSZWN0KCkuc2l6ZSgpIC8gMjsKICAgICBRUG9pbnRGIGNl
bnRlclBvaW50ID0gUVBvaW50RihjZW50ZXIud2lkdGgoKSwgY2VudGVyLmhlaWdodCgpKTsKICAg
ICBncmFwaGljc1dlYlZpZXcoKS0+c2V0VHJhbnNmb3JtT3JpZ2luUG9pbnQoY2VudGVyUG9pbnQp
OwpAQCAtMTY1LDEyICsxNjQsMTAgQEAgdm9pZCBXZWJWaWV3R3JhcGhpY3NCYXNlZDo6YW5pbWF0
ZWRGbGlwKCkKICAgICBhbmltYXRpb24tPnNldEVuZFZhbHVlKHJvdGF0aW9uICsgMTgwIC0gKHJv
dGF0aW9uICUgMTgwKSk7CiAKICAgICBhbmltYXRpb24tPnN0YXJ0KFFBYnN0cmFjdEFuaW1hdGlv
bjo6RGVsZXRlV2hlblN0b3BwZWQpOwotI2VuZGlmCiB9CiAKIHZvaWQgV2ViVmlld0dyYXBoaWNz
QmFzZWQ6OmFuaW1hdGVkWUZsaXAoKQogewotI2lmIFFUX1ZFUlNJT04gPj0gUVRfVkVSU0lPTl9D
SEVDSyg0LCA2LCAwKQogICAgIGlmICghbV9tYWNoaW5lKSB7CiAgICAgICAgIG1fbWFjaGluZSA9
IG5ldyBRU3RhdGVNYWNoaW5lKHRoaXMpOwogCkBAIC0yMDIsNyArMTk5LDYgQEAgdm9pZCBXZWJW
aWV3R3JhcGhpY3NCYXNlZDo6YW5pbWF0ZWRZRmxpcCgpCiAgICAgfQogCiAgICAgbV9tYWNoaW5l
LT5zdGFydCgpOwotI2VuZGlmCiB9CiAKIHZvaWQgV2ViVmlld0dyYXBoaWNzQmFzZWQ6OnBhaW50
RXZlbnQoUVBhaW50RXZlbnQqIGV2ZW50KQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvUXRUZXN0
QnJvd3Nlci93ZWJ2aWV3LmggYi9XZWJLaXRUb29scy9RdFRlc3RCcm93c2VyL3dlYnZpZXcuaApp
bmRleCBhYWRmODVjLi5lMzRkMDgxIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9RdFRlc3RCcm93
c2VyL3dlYnZpZXcuaAorKysgYi9XZWJLaXRUb29scy9RdFRlc3RCcm93c2VyL3dlYnZpZXcuaApA
QCAtMTE3LDEzICsxMTcsMTEgQEAgcHJpdmF0ZToKIAogaW5saW5lIHZvaWQgV2ViVmlld0dyYXBo
aWNzQmFzZWQ6OnNldFlSb3RhdGlvbihxcmVhbCBhbmdsZSkKIHsKLSNpZiBRVF9WRVJTSU9OID49
IFFUX1ZFUlNJT05fQ0hFQ0soNCwgNiwgMCkKICAgICBRUmVjdEYgciA9IGdyYXBoaWNzV2ViVmll
dygpLT5ib3VuZGluZ1JlY3QoKTsKICAgICBncmFwaGljc1dlYlZpZXcoKS0+c2V0VHJhbnNmb3Jt
KFFUcmFuc2Zvcm0oKQogICAgICAgICAudHJhbnNsYXRlKHIud2lkdGgoKSAvIDIsIHIuaGVpZ2h0
KCkgLyAyKQogICAgICAgICAucm90YXRlKGFuZ2xlLCBRdDo6WUF4aXMpCiAgICAgICAgIC50cmFu
c2xhdGUoLXIud2lkdGgoKSAvIDIsIC1yLmhlaWdodCgpIC8gMikpOwotI2VuZGlmCiAgICAgbV95
Um90YXRpb24gPSBhbmdsZTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>