<?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>102699</bug_id>
          
          <creation_ts>2012-11-19 11:20:16 -0800</creation_ts>
          <short_desc>[Chromium][Win] Remove theme-related functions from PlatformSupport</short_desc>
          <delta_ts>2012-12-10 13:34:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>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>
          
          <blocked>82948</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Mark Pilgrim (Google)">pilgrim</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>haraken</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>senorblanco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>770877</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-11-19 11:20:16 -0800</bug_when>
    <thetext>[Chromium][Win] Remove theme-related functions from PlatformSupport</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770883</commentid>
    <comment_count>1</comment_count>
      <attachid>175010</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-11-19 11:23:35 -0800</bug_when>
    <thetext>Created attachment 175010
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778075</commentid>
    <comment_count>2</comment_count>
      <attachid>176524</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-11-28 10:58:18 -0800</bug_when>
    <thetext>Created attachment 176524
Re-patched to ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778223</commentid>
    <comment_count>3</comment_count>
      <attachid>176524</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-28 12:47:11 -0800</bug_when>
    <thetext>Comment on attachment 176524
Re-patched to ToT

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

&gt; Source/WebKit/chromium/src/PlatformSupport.cpp:-205
&gt; -    RGBA32 backgroundColor = color.isValid() ? color.rgb() : Color::white;

I see.  This is redundant with the work done by the one caller.  Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782834</commentid>
    <comment_count>4</comment_count>
      <attachid>177532</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-12-04 13:05:02 -0800</bug_when>
    <thetext>Created attachment 177532
Repatched to ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783994</commentid>
    <comment_count>5</comment_count>
      <attachid>177532</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 12:31:11 -0800</bug_when>
    <thetext>Comment on attachment 177532
Repatched to ToT

Clearing flags on attachment: 177532

Committed r136735: &lt;http://trac.webkit.org/changeset/136735&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783995</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 12:31:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784051</commentid>
    <comment_count>7</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-12-05 13:18:52 -0800</bug_when>
    <thetext>Reverted r136735 for reason:

Broke Chrome/Win build.

Committed r136749: &lt;http://trac.webkit.org/changeset/136749&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787556</commentid>
    <comment_count>8</comment_count>
      <attachid>178595</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-12-10 11:10:25 -0800</bug_when>
    <thetext>Created attachment 178595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787557</commentid>
    <comment_count>9</comment_count>
      <attachid>178595</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-12-10 11:10:52 -0800</bug_when>
    <thetext>Comment on attachment 178595
Patch

Fixed downstream issues, repatched to ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787637</commentid>
    <comment_count>10</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2012-12-10 12:36:12 -0800</bug_when>
    <thetext>Has the appropriate Chrome revision been rolled into WebKit?  (Source/WebKit/chromium/DEPS)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787642</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-12-10 12:43:21 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Has the appropriate Chrome revision been rolled into WebKit?  (Source/WebKit/chromium/DEPS)

This isn&apos;t changing WebKit API, so there should be no such dependency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787677</commentid>
    <comment_count>12</comment_count>
      <attachid>178595</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-10 13:34:17 -0800</bug_when>
    <thetext>Comment on attachment 178595
Patch

Clearing flags on attachment: 178595

Committed r137201: &lt;http://trac.webkit.org/changeset/137201&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787678</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-10 13:34:21 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175010</attachid>
            <date>2012-11-19 11:23:35 -0800</date>
            <delta_ts>2012-11-28 10:58:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102699-20121119142103.patch</filename>
            <type>text/plain</type>
            <size>19556</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTE3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTE5ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dW1dpbl0g
UmVtb3ZlIHRoZW1lLXJlbGF0ZWQgZnVuY3Rpb25zIGZyb20gUGxhdGZvcm1TdXBwb3J0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI2OTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgcmVm
YWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgIChQbGF0Zm9ybVN1cHBv
cnQpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1X
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bVdpbjo6cGFp
bnRUcmFja1BpZWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1X
aW46OnBhaW50QnV0dG9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1
bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lQ2hyb21pdW1XaW46OnBhaW50QnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lQ2hyb21pdW1XaW46OnBhaW50U2xpZGVyVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRTbGlkZXJUaHVtYik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZUNocm9taXVtV2luOjpwYWludE1lbnVMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50VGV4dEZpZWxkSW50ZXJuYWwpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRJbm5lclNwaW5CdXR0
b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRQcm9n
cmVzc0Jhcik6CisKIDIwMTItMTEtMTkgIEFsZWMgRmxldHQgIDxhbGVjZmxldHRAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogc2ltcGxpZnkgUmVjb3JkSWRlbnRpZmllcgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBw
b3J0LmgJKHJldmlzaW9uIDEzNTE3NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL1BsYXRmb3JtU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC04OCwyOCArODgsNiBAQCBw
dWJsaWM6CiAgICAgLy8gUGx1Z2luIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICBzdGF0aWMgYm9vbCBwbHVnaW5zKGJvb2wg
cmVmcmVzaCwgVmVjdG9yPFBsdWdpbkluZm8+Kik7CiAgICAgc3RhdGljIE5QT2JqZWN0KiBwbHVn
aW5TY3JpcHRhYmxlT2JqZWN0KFdpZGdldCopOwotCi0gICAgLy8gVGhlbWluZyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSNpZiBP
UyhXSU5ET1dTKSAmJiAhRU5BQkxFKERFRkFVTFRfUkVOREVSX1RIRU1FKQotICAgIHN0YXRpYyB2
b2lkIHBhaW50QnV0dG9uKAotICAgICAgICBHcmFwaGljc0NvbnRleHQqLCBpbnQgcGFydCwgaW50
IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgc3RhdGljIHZv
aWQgcGFpbnRNZW51TGlzdCgKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0KiwgaW50IHBhcnQsIGlu
dCBzdGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwgY29uc3QgSW50UmVjdCYpOwotICAgIHN0YXRpYyB2
b2lkIHBhaW50U2Nyb2xsYmFyQXJyb3coCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dCosIGludCBz
dGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwgY29uc3QgSW50UmVjdCYpOwotICAgIHN0YXRpYyB2b2lk
IHBhaW50U2Nyb2xsYmFyVGh1bWIoCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dCosIGludCBwYXJ0
LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsIGNvbnN0IEludFJlY3QmKTsKLSAgICBzdGF0
aWMgdm9pZCBwYWludFNjcm9sbGJhclRyYWNrKAotICAgICAgICBHcmFwaGljc0NvbnRleHQqLCBp
bnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLCBjb25zdCBJbnRSZWN0JiwgY29u
c3QgSW50UmVjdCYgYWxpZ25SZWN0KTsKLSAgICBzdGF0aWMgdm9pZCBwYWludFNwaW5CdXR0b24o
Ci0gICAgICAgIEdyYXBoaWNzQ29udGV4dCosIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFz
c2ljU3RhdGUsIGNvbnN0IEludFJlY3QmKTsKLSAgICBzdGF0aWMgdm9pZCBwYWludFRleHRGaWVs
ZCgKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0KiwgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50IGNs
YXNzaWNTdGF0ZSwgY29uc3QgSW50UmVjdCYsIGNvbnN0IENvbG9yJiwgYm9vbCBmaWxsQ29udGVu
dEFyZWEsIGJvb2wgZHJhd0VkZ2VzKTsKLSAgICBzdGF0aWMgdm9pZCBwYWludFRyYWNrYmFyKAot
ICAgICAgICBHcmFwaGljc0NvbnRleHQqLCBpbnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3Np
Y1N0YXRlLCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgc3RhdGljIHZvaWQgcGFpbnRQcm9ncmVzc0Jh
cigKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgYmFyUmVjdCwgY29u
c3QgSW50UmVjdCYgdmFsdWVSZWN0LCBib29sIGRldGVybWluYXRlLCBkb3VibGUgYW5pbWF0ZWRT
ZWNvbmRzKTsKLSNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bVdpbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xs
YmFyVGhlbWVDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDEzNTE3NSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1XaW4uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw5ICszNCwxMSBAQAogI2luY2x1ZGUgIkxheW91dFRlc3RTdXBwb3J0
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
TW91c2VFdmVudC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgogI2luY2x1ZGUgIlNj
cm9sbGJhci5oIgogI2luY2x1ZGUgIlN5c3RlbUluZm8uaCIKKyNpbmNsdWRlIDxwdWJsaWMvUGxh
dGZvcm0uaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgorI2luY2x1ZGUgPHB1YmxpYy93
aW4vV2ViVGhlbWVFbmdpbmUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMDQsMTQg
KzEwNiwxMCBAQCB2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1XaW46OnBhaW50VHJhCiAKICAg
ICBJbnRSZWN0IGFsaWduUmVjdCA9IHRyYWNrUmVjdChzY3JvbGxiYXIsIGZhbHNlKTsKIAorICAg
IFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZh
cygpOwogICAgIC8vIERyYXcgdGhlIHRyYWNrIGFyZWEgYmVmb3JlL2FmdGVyIHRoZSB0aHVtYiBv
biB0aGUgc2Nyb2xsIGJhci4KLSAgICBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50U2Nyb2xsYmFyVHJh
Y2soCi0gICAgICAgIGdjLAotICAgICAgICBwYXJ0SWQsCi0gICAgICAgIGdldFRoZW1lU3RhdGUo
c2Nyb2xsYmFyLCBwYXJ0VHlwZSksCi0gICAgICAgIGdldENsYXNzaWNUaGVtZVN0YXRlKHNjcm9s
bGJhciwgcGFydFR5cGUpLAotICAgICAgICByZWN0LAotICAgICAgICBhbGlnblJlY3QpOworICAg
IFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRTY3JvbGxi
YXJUcmFjayhjYW52YXMsIHBhcnRJZCwgZ2V0VGhlbWVTdGF0ZShzY3JvbGxiYXIsIHBhcnRUeXBl
KSwgZ2V0Q2xhc3NpY1RoZW1lU3RhdGUoc2Nyb2xsYmFyLCBwYXJ0VHlwZSksIFdlYktpdDo6V2Vi
UmVjdChyZWN0KSwgV2ViS2l0OjpXZWJSZWN0KGFsaWduUmVjdCkpOworCiB9CiAKIHZvaWQgU2Ny
b2xsYmFyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRCdXR0b24oR3JhcGhpY3NDb250ZXh0KiBnYywg
U2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCwgU2Ny
b2xsYmFyUGFydCBwYXJ0KQpAQCAtMTI0LDMzICsxMjIsMjEgQEAgdm9pZCBTY3JvbGxiYXJUaGVt
ZUNocm9taXVtV2luOjpwYWludEJ1dAogICAgIGVsc2UKICAgICAgICAgcGFydElkID0gaG9yeiA/
IERGQ1NfU0NST0xMUklHSFQgOiBERkNTX1NDUk9MTERPV047CiAKKyAgICBXZWJLaXQ6OldlYkNh
bnZhcyogY2FudmFzID0gZ2MtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKTsKICAgICAvLyBE
cmF3IHRoZSB0aHVtYiAodGhlIGJveCB5b3UgZHJhZyBpbiB0aGUgc2Nyb2xsIGJhciB0byBzY3Jv
bGwpLgotICAgIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTY3JvbGxiYXJBcnJvdygKLSAgICAgICAg
Z2MsCi0gICAgICAgIGdldFRoZW1lQXJyb3dTdGF0ZShzY3JvbGxiYXIsIHBhcnQpLAotICAgICAg
ICBwYXJ0SWQgfCBnZXRDbGFzc2ljVGhlbWVTdGF0ZShzY3JvbGxiYXIsIHBhcnQpLAotICAgICAg
ICByZWN0KTsKKyAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCkt
PnBhaW50U2Nyb2xsYmFyQXJyb3coY2FudmFzLCBnZXRUaGVtZUFycm93U3RhdGUoc2Nyb2xsYmFy
LCBwYXJ0KSwgcGFydElkIHwgZ2V0Q2xhc3NpY1RoZW1lU3RhdGUoc2Nyb2xsYmFyLCBwYXJ0KSwg
V2ViS2l0OjpXZWJSZWN0KHJlY3QpOwogfQogCiB2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1X
aW46OnBhaW50VGh1bWIoR3JhcGhpY3NDb250ZXh0KiBnYywgU2Nyb2xsYmFyVGhlbWVDbGllbnQq
IHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBib29sIGhvcnogPSBzY3Jv
bGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcjsKIAorICAgIFdlYktp
dDo6V2ViQ2FudmFzKiBjYW52YXMgPSBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOwog
ICAgIC8vIERyYXcgdGhlIHRodW1iICh0aGUgYm94IHlvdSBkcmFnIGluIHRoZSBzY3JvbGwgYmFy
IHRvIHNjcm9sbCkuCi0gICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFNjcm9sbGJhclRodW1iKAot
ICAgICAgICBnYywKLSAgICAgICAgaG9yeiA/IFNCUF9USFVNQkJUTkhPUlogOiBTQlBfVEhVTUJC
VE5WRVJULAotICAgICAgICBnZXRUaGVtZVN0YXRlKHNjcm9sbGJhciwgVGh1bWJQYXJ0KSwKLSAg
ICAgICAgZ2V0Q2xhc3NpY1RoZW1lU3RhdGUoc2Nyb2xsYmFyLCBUaHVtYlBhcnQpLAotICAgICAg
ICByZWN0KTsKKyAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCkt
PnBhaW50U2Nyb2xsYmFyVGh1bWIoY2FudmFzLCBob3J6ID8gU0JQX1RIVU1CQlROSE9SWiA6IFNC
UF9USFVNQkJUTlZFUlQsIGdldFRoZW1lU3RhdGUoc2Nyb2xsYmFyLCBUaHVtYlBhcnQpLCBnZXRD
bGFzc2ljVGhlbWVTdGF0ZShzY3JvbGxiYXIsIFRodW1iUGFydCksIFdlYktpdDo6V2ViUmVjdChy
ZWN0KSk7CiAKICAgICAvLyBEcmF3IHRoZSBncmlwcGVyICh0aGUgdGhyZWUgbGl0dGxlIGxpbmVz
IG9uIHRoZSB0aHVtYikuCi0gICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFNjcm9sbGJhclRodW1i
KAotICAgICAgICBnYywKLSAgICAgICAgaG9yeiA/IFNCUF9HUklQUEVSSE9SWiA6IFNCUF9HUklQ
UEVSVkVSVCwKLSAgICAgICAgZ2V0VGhlbWVTdGF0ZShzY3JvbGxiYXIsIFRodW1iUGFydCksCi0g
ICAgICAgIGdldENsYXNzaWNUaGVtZVN0YXRlKHNjcm9sbGJhciwgVGh1bWJQYXJ0KSwKLSAgICAg
ICAgcmVjdCk7CisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgp
LT5wYWludFNjcm9sbGJhclRodW1iKGNhbnZhcywgaG9yeiA/IFNCUF9HUklQUEVSSE9SWiA6IFNC
UF9HUklQUEVSVkVSVCwgZ2V0VGhlbWVTdGF0ZShzY3JvbGxiYXIsIFRodW1iUGFydCksIGdldENs
YXNzaWNUaGVtZVN0YXRlKHNjcm9sbGJhciwgVGh1bWJQYXJ0KSwgV2ViS2l0OjpXZWJSZWN0KHJl
Y3QpKTsKIH0KIAogaW50IFNjcm9sbGJhclRoZW1lQ2hyb21pdW1XaW46OmdldFRoZW1lU3RhdGUo
U2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhciwgU2Nyb2xsYmFyUGFydCBwYXJ0KSBjb25z
dApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNo
cm9taXVtV2luLmNwcAkocmV2aXNpb24gMTM1MTc1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICsz
OCw3IEBACiAjaW5jbHVkZSAiTGF5b3V0VGVzdFN1cHBvcnQuaCIKICNpbmNsdWRlICJNZWRpYUNv
bnRyb2xFbGVtZW50cy5oIgogI2luY2x1ZGUgIlBhaW50SW5mby5oIgotI2luY2x1ZGUgIlBsYXRm
b3JtU3VwcG9ydC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKICNpbmNsdWRl
ICJSZW5kZXJCb3guaCIKICNpbmNsdWRlICJSZW5kZXJQcm9ncmVzcy5oIgogI2luY2x1ZGUgIlJl
bmRlclNsaWRlci5oIgpAQCAtNDYsNiArNDYsOSBAQAogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1l
LmgiCiAjaW5jbHVkZSAiU3lzdGVtSW5mby5oIgogI2luY2x1ZGUgIlRyYW5zcGFyZW5jeVdpbi5o
IgorI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJSZWN0
Lmg+CisjaW5jbHVkZSA8cHVibGljL3dpbi9XZWJUaGVtZUVuZ2luZS5oPgogI2luY2x1ZGUgPHd0
Zi9DdXJyZW50VGltZS5oPgogCiAKQEAgLTMwNCwxMSArMzA3LDggQEAgYm9vbCBSZW5kZXJUaGVt
ZUNocm9taXVtV2luOjpwYWludEJ1dHRvbgogICAgIGNvbnN0IFRoZW1lRGF0YSYgdGhlbWVEYXRh
ID0gZ2V0VGhlbWVEYXRhKG8pOwogCiAgICAgVGhlbWVQYWludGVyIHBhaW50ZXIoaS5jb250ZXh0
LCByKTsKLSAgICBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50QnV0dG9uKHBhaW50ZXIuY29udGV4dCgp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZURhdGEubV9wYXJ0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZURhdGEubV9zdGF0ZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRlLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYWludGVyLmRyYXdSZWN0KCkpOworICAgIFdlYktp
dDo6V2ViQ2FudmFzKiBjYW52YXMgPSBwYWludGVyLmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0
KCktPmNhbnZhcygpOworICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdp
bmUoKS0+cGFpbnRCdXR0b24oY2FudmFzLCB0aGVtZURhdGEubV9wYXJ0LCB0aGVtZURhdGEubV9z
dGF0ZSwgdGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRlLCBXZWJLaXQ6OldlYlJlY3QocGFpbnRlci5k
cmF3UmVjdCgpKSk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC0zMjIsMTEgKzMyMiw4IEBA
IGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRTbGlkZXIKICAgICBjb25zdCBUaGVt
ZURhdGEmIHRoZW1lRGF0YSA9IGdldFRoZW1lRGF0YShvKTsKIAogICAgIFRoZW1lUGFpbnRlciBw
YWludGVyKGkuY29udGV4dCwgcik7Ci0gICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFRyYWNrYmFy
KHBhaW50ZXIuY29udGV4dCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRo
ZW1lRGF0YS5tX3BhcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVE
YXRhLm1fc3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRh
Lm1fY2xhc3NpY1N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaW50
ZXIuZHJhd1JlY3QoKSk7CisgICAgV2ViS2l0OjpXZWJDYW52YXMqIGNhbnZhcyA9IHBhaW50ZXIu
Y29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCk7CisgICAgV2ViS2l0OjpQbGF0
Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFRyYWNrYmFyKGNhbnZhcywgdGhl
bWVEYXRhLm1fcGFydCwgdGhlbWVEYXRhLm1fc3RhdGUsIHRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0
ZSwgV2ViS2l0OjpXZWJSZWN0KHBhaW50ZXIuZHJhd1JlY3QoKSkpOwogCiAjaWYgRU5BQkxFKERB
VEFMSVNUX0VMRU1FTlQpCiAgICAgcGFpbnRTbGlkZXJUaWNrcyhvLCBpLCByKTsKQEAgLTM0MCwx
MSArMzM3LDggQEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpwYWludFNsaWRlcgogICAg
IGNvbnN0IFRoZW1lRGF0YSYgdGhlbWVEYXRhID0gZ2V0VGhlbWVEYXRhKG8pOwogCiAgICAgVGhl
bWVQYWludGVyIHBhaW50ZXIoaS5jb250ZXh0LCByKTsKLSAgICBQbGF0Zm9ybVN1cHBvcnQ6OnBh
aW50VHJhY2tiYXIocGFpbnRlci5jb250ZXh0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRoZW1lRGF0YS5tX3BhcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoZW1lRGF0YS5tX3N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0aGVtZURhdGEubV9jbGFzc2ljU3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBhaW50ZXIuZHJhd1JlY3QoKSk7CisgICAgV2ViS2l0OjpXZWJDYW52YXMqIGNh
bnZhcyA9IHBhaW50ZXIuY29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCk7Cisg
ICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFRyYWNr
YmFyKGNhbnZhcywgdGhlbWVEYXRhLm1fcGFydCwgdGhlbWVEYXRhLm1fc3RhdGUsIHRoZW1lRGF0
YS5tX2NsYXNzaWNTdGF0ZSwgV2ViS2l0OjpXZWJSZWN0KHBhaW50ZXIuZHJhd1JlY3QoKSkpOwog
CiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtMzk5LDExICszOTMsOCBAQCBib29sIFJlbmRlclRo
ZW1lQ2hyb21pdW1XaW46OnBhaW50TWVudUxpCiAKICAgICAvLyBHZXQgdGhlIGNvcnJlY3QgdGhl
bWUgZGF0YSBmb3IgYSB0ZXh0ZmllbGQgYW5kIHBhaW50IHRoZSBtZW51LgogICAgIFRoZW1lUGFp
bnRlciBwYWludGVyKGkuY29udGV4dCwgcmVjdCk7Ci0gICAgUGxhdGZvcm1TdXBwb3J0OjpwYWlu
dE1lbnVMaXN0KHBhaW50ZXIuY29udGV4dCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBDUF9EUk9QRE9XTkJVVFRPTiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGV0ZXJtaW5lU3RhdGUobyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGRldGVybWluZUNsYXNzaWNTdGF0ZShvKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGFpbnRlci5kcmF3UmVjdCgpKTsKKyAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2Fu
dmFzID0gcGFpbnRlci5jb250ZXh0KCktPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKTsKKyAg
ICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50TWVudUxp
c3QoY2FudmFzLCBDUF9EUk9QRE9XTkJVVFRPTiwgZGV0ZXJtaW5lU3RhdGUobyksIGRldGVybWlu
ZUNsYXNzaWNTdGF0ZShvKSwgV2ViS2l0OjpXZWJSZWN0KHBhaW50ZXIuZHJhd1JlY3QoKSkpOwog
ICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtNTU2LDcgKzU0Nyw2IEBAIGJvb2wgUmVuZGVyVGhl
bWVDaHJvbWl1bVdpbjo6cGFpbnRUZXh0RmkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIGRyYXdFZGdlcykKIHsKICAgICAvLyBGYWxsYmFj
ayB0byB3aGl0ZSBpZiB0aGUgc3BlY2lmaWVkIGNvbG9yIG9iamVjdCBpcyBpbnZhbGlkLgotICAg
IC8vIChOb3RlIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRUZXh0RmllbGQgZHVwbGljYXRlcyB0aGlz
IGNoZWNrKS4KICAgICBDb2xvciBiYWNrZ3JvdW5kQ29sb3IoQ29sb3I6OndoaXRlKTsKICAgICBp
ZiAoby0+c3R5bGUoKS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5QmFja2dyb3Vu
ZENvbG9yKS5pc1ZhbGlkKCkpCiAgICAgICAgIGJhY2tncm91bmRDb2xvciA9IG8tPnN0eWxlKCkt
PnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcik7CkBAIC01
ODAsMTQgKzU3MCw4IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRUZXh0RmkK
ICAgICB7CiAgICAgICAgIGNvbnN0IFRoZW1lRGF0YSYgdGhlbWVEYXRhID0gZ2V0VGhlbWVEYXRh
KG8pOwogICAgICAgICBUaGVtZVBhaW50ZXIgcGFpbnRlcihpLmNvbnRleHQsIHIpOwotICAgICAg
ICBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50VGV4dEZpZWxkKHBhaW50ZXIuY29udGV4dCgpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lRGF0YS5tX3BhcnQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1fc3RhdGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1fY2xh
c3NpY1N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaW50
ZXIuZHJhd1JlY3QoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
YWNrZ3JvdW5kQ29sb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmlsbENvbnRlbnRBcmVhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGRyYXdFZGdlcyk7CisgICAgICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBwYWludGVy
LmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOworICAgICAgICBXZWJLaXQ6
OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50VGV4dEZpZWxkKGNhbnZh
cywgdGhlbWVEYXRhLm1fcGFydCwgdGhlbWVEYXRhLm1fc3RhdGUsIHRoZW1lRGF0YS5tX2NsYXNz
aWNTdGF0ZSwgV2ViS2l0OjpXZWJSZWN0KHBhaW50ZXIuZHJhd1JlY3QoKSksIGJhY2tncm91bmRD
b2xvciwgZmlsbENvbnRlbnRBcmVhLCBkcmF3RWRnZXMpOwogICAgICAgICAvLyBFbmQgb2YgYmxv
Y2sgY29tbWl0cyB0aGUgcGFpbnRlciBiZWZvcmUgcmVzdG9yaW5nIGNvbnRleHQuCiAgICAgfQog
ICAgIGlmIChvLT5zdHlsZSgpLT5oYXNCb3JkZXJSYWRpdXMoKSkKQEAgLTYxMSwyMiArNTk1LDE2
IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRJbm5lclMKICAgICAgICAgaGFs
Zi5zZXRIZWlnaHQocmVjdC5oZWlnaHQoKSAvIDIpOwogICAgICAgICBjb25zdCBUaGVtZURhdGEm
IHVwVGhlbWVEYXRhID0gZ2V0VGhlbWVEYXRhKG9iamVjdCwgU3BpbkJ1dHRvblVwKTsKICAgICAg
ICAgVGhlbWVQYWludGVyIHVwUGFpbnRlcihpbmZvLmNvbnRleHQsIGhhbGYpOwotICAgICAgICBQ
bGF0Zm9ybVN1cHBvcnQ6OnBhaW50U3BpbkJ1dHRvbih1cFBhaW50ZXIuY29udGV4dCgpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cFRoZW1lRGF0YS5tX3BhcnQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwVGhlbWVEYXRhLm1f
c3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwVGhlbWVE
YXRhLm1fY2xhc3NpY1N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1cFBhaW50ZXIuZHJhd1JlY3QoKSk7CisgICAgICAgIFdlYktpdDo6V2ViQ2FudmFzKiBj
YW52YXMgPSBwYWludGVyLmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOwor
ICAgICAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50
U3BpbkJ1dHRvbihjYW52YXMsIHVwVGhlbWVEYXRhLm1fcGFydCwgdXBUaGVtZURhdGEubV9zdGF0
ZSwgdXBUaGVtZURhdGEubV9jbGFzc2ljU3RhdGUsIFdlYktpdDo6V2ViUmVjdCh1cFBhaW50ZXIu
ZHJhd1JlY3QoKSkpOwogICAgIH0KIAogICAgIHsKICAgICAgICAgaGFsZi5zZXRZKHJlY3QueSgp
ICsgcmVjdC5oZWlnaHQoKSAvIDIpOwogICAgICAgICBjb25zdCBUaGVtZURhdGEmIGRvd25UaGVt
ZURhdGEgPSBnZXRUaGVtZURhdGEob2JqZWN0LCBTcGluQnV0dG9uRG93bik7CiAgICAgICAgIFRo
ZW1lUGFpbnRlciBkb3duUGFpbnRlcihpbmZvLmNvbnRleHQsIGhhbGYpOwotICAgICAgICBQbGF0
Zm9ybVN1cHBvcnQ6OnBhaW50U3BpbkJ1dHRvbihkb3duUGFpbnRlci5jb250ZXh0KCksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25UaGVtZURhdGEubV9wYXJ0
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3duVGhlbWVEYXRh
Lm1fc3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25U
aGVtZURhdGEubV9jbGFzc2ljU3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRvd25QYWludGVyLmRyYXdSZWN0KCkpOworICAgICAgICBXZWJLaXQ6OldlYkNh
bnZhcyogY2FudmFzID0gcGFpbnRlci5jb250ZXh0KCktPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52
YXMoKTsKKyAgICAgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgp
LT5wYWludFNwaW5CdXR0b24oY2FudmFzLCBkb3duVGhlbWVEYXRhLm1fcGFydCwgZG93blRoZW1l
RGF0YS5tX3N0YXRlLCBkb3duVGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRlLCBXZWJLaXQ6OldlYlJl
Y3QoZG93blBhaW50ZXIuZHJhd1JlY3QoKSkpOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9
CkBAIC02NjUsNyArNjQzLDggQEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpwYWludFBy
b2dyZQogICAgIGRvdWJsZSBhbmltYXRlZFNlY29uZHMgPSByZW5kZXJQcm9ncmVzcy0+YW5pbWF0
aW9uU3RhcnRUaW1lKCkgPyAgV1RGOjpjdXJyZW50VGltZSgpIC0gcmVuZGVyUHJvZ3Jlc3MtPmFu
aW1hdGlvblN0YXJ0VGltZSgpIDogMDsKICAgICBUaGVtZVBhaW50ZXIgcGFpbnRlcihpLmNvbnRl
eHQsIHIpOwogICAgIERpcmVjdGlvbkZsaXBwaW5nU2NvcGUgc2NvcGUobywgaSwgcik7Ci0gICAg
UGxhdGZvcm1TdXBwb3J0OjpwYWludFByb2dyZXNzQmFyKHBhaW50ZXIuY29udGV4dCgpLCByLCB2
YWx1ZVJlY3QsIHJlbmRlclByb2dyZXNzLT5pc0RldGVybWluYXRlKCksIGFuaW1hdGVkU2Vjb25k
cyk7CisgICAgV2ViS2l0OjpXZWJDYW52YXMqIGNhbnZhcyA9IHBhaW50ZXIuY29udGV4dCgpLT5w
bGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCk7CisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVu
dCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFByb2dyZXNzQmFyKGNhbnZhcywgV2ViS2l0OjpXZWJS
ZWN0KHIpLCBXZWJLaXQ6OldlYlJlY3QodmFsdWVSZWN0KSwgcmVuZGVyUHJvZ3Jlc3MtPmlzRGV0
ZXJtaW5hdGUoKSwgYW5pbWF0ZWRTZWNvbmRzKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzUxNzcpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBA
CisyMDEyLTExLTE5ICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBbQ2hyb21pdW1dW1dpbl0gUmVtb3ZlIHRoZW1lLXJlbGF0ZWQgZnVuY3Rpb25zIGZyb20g
UGxhdGZvcm1TdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDI2OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBQYXJ0IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgy
OTQ4LgorCisgICAgICAgICogc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybVN1cHBvcnQ6OnBsdWdpblNjcmlwdGFibGVPYmplY3QpOgorCiAyMDEyLTEx
LTE5ICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRl
eGVkREI6IHNpbXBsaWZ5IFJlY29yZElkZW50aWZpZXIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNpb24gMTM1MTc1KQorKysg
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTYsNDAgKzU2LDEwIEBACiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgi
CiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgiCiAKLSNpZiBPUyhXSU5ET1dTKQotI2luY2x1
ZGUgInBsYXRmb3JtL1dlYlJlY3QuaCIKLSNpZiAhRU5BQkxFKERFRkFVTFRfUkVOREVSX1RIRU1F
KQotI2luY2x1ZGUgPHB1YmxpYy93aW4vV2ViVGhlbWVFbmdpbmUuaD4KLSNlbmRpZiAvLyAhRU5B
QkxFKERFRkFVTFRfUkVOREVSX1RIRU1FKQotI2VuZGlmCi0KLSNpZiBFTkFCTEUoREVGQVVMVF9S
RU5ERVJfVEhFTUUpCi0jaW5jbHVkZSA8cHVibGljL2RlZmF1bHQvV2ViVGhlbWVFbmdpbmUuaD4K
LSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQotI2luY2x1ZGUgPHB1YmxpYy9tYWMvV2ViVGhlbWVF
bmdpbmUuaD4KLSNlbGlmIE9TKFVOSVgpCi0jaW5jbHVkZSAiV2ViRm9udFJlbmRlclN0eWxlLmgi
Ci0jaWYgT1MoQU5EUk9JRCkKLSNpbmNsdWRlIDxwdWJsaWMvYW5kcm9pZC9XZWJUaGVtZUVuZ2lu
ZS5oPgotI2Vsc2UKLSNpbmNsdWRlICJXZWJGb250SW5mby5oIgotI2lmICFFTkFCTEUoREVGQVVM
VF9SRU5ERVJfVEhFTUUpCi0jaW5jbHVkZSA8cHVibGljL2xpbnV4L1dlYlRoZW1lRW5naW5lLmg+
Ci0jZW5kaWYgLy8gIUVOQUJMRShERUZBVUxUX1JFTkRFUl9USEVNRSkKLSNlbmRpZiAvLyBPUyhB
TkRST0lEKQotI2VuZGlmIC8vIGVsaWYgT1MoVU5JWCkKLQotI2luY2x1ZGUgIk5hdGl2ZUltYWdl
U2tpYS5oIgotCi0jaW5jbHVkZSAiQml0bWFwSW1hZ2UuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcu
aCIKLSNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJJREJGYWN0b3J5QmFj
a2VuZFByb3h5LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVk
LmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgogI2luY2x1ZGUgIlBsdWdpbkRh
dGEuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIApAQCAtMTQzLDg5ICsxMTMsNiBAQCBO
UE9iamVjdCogUGxhdGZvcm1TdXBwb3J0OjpwbHVnaW5TY3JpcHRhCiAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PFdlYlBsdWdpbkNvbnRhaW5lckltcGwqPih3aWRnZXQpLT5zY3JpcHRhYmxlT2JqZWN0
KCk7CiB9CiAKLS8vIFRoZW1pbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotI2lmIE9TKFdJTkRPV1MpICYmICFF
TkFCTEUoREVGQVVMVF9SRU5ERVJfVEhFTUUpCi0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWlu
dEJ1dHRvbigKLSAgICBHcmFwaGljc0NvbnRleHQqIGdjLCBpbnQgcGFydCwgaW50IHN0YXRlLCBp
bnQgY2xhc3NpY1N0YXRlLAotICAgIGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAgV2ViS2l0
OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludEJ1dHRvbigKLSAgICAg
ICAgZ2MtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKSwgcGFydCwgc3RhdGUsIGNsYXNzaWNT
dGF0ZSwgcmVjdCk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWludE1lbnVMaXN0KAot
ICAgIEdyYXBoaWNzQ29udGV4dCogZ2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2lj
U3RhdGUsCi0gICAgY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3Jt
OjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50TWVudUxpc3QoCi0gICAgICAgIGdjLT5w
bGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCksIHBhcnQsIHN0YXRlLCBjbGFzc2ljU3RhdGUsIHJl
Y3QpOwotfQotCi12b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTY3JvbGxiYXJBcnJvdygKLSAg
ICBHcmFwaGljc0NvbnRleHQqIGdjLCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsCi0gICAg
Y29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCkt
PnRoZW1lRW5naW5lKCktPnBhaW50U2Nyb2xsYmFyQXJyb3coCi0gICAgICAgIGdjLT5wbGF0Zm9y
bUNvbnRleHQoKS0+Y2FudmFzKCksIHN0YXRlLCBjbGFzc2ljU3RhdGUsIHJlY3QpOwotfQotCi12
b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTY3JvbGxiYXJUaHVtYigKLSAgICBHcmFwaGljc0Nv
bnRleHQqIGdjLCBpbnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLAotICAgIGNv
bnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50
aGVtZUVuZ2luZSgpLT5wYWludFNjcm9sbGJhclRodW1iKAotICAgICAgICBnYy0+cGxhdGZvcm1D
b250ZXh0KCktPmNhbnZhcygpLCBwYXJ0LCBzdGF0ZSwgY2xhc3NpY1N0YXRlLCByZWN0KTsKLX0K
LQotdm9pZCBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50U2Nyb2xsYmFyVHJhY2soCi0gICAgR3JhcGhp
Y3NDb250ZXh0KiBnYywgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwKLSAg
ICBjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBJbnRSZWN0JiBhbGlnblJlY3QpCi17Ci0gICAg
V2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFNjcm9sbGJh
clRyYWNrKAotICAgICAgICBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLCBwYXJ0LCBz
dGF0ZSwgY2xhc3NpY1N0YXRlLCByZWN0LAotICAgICAgICBhbGlnblJlY3QpOwotfQotCi12b2lk
IFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTcGluQnV0dG9uKAotICAgIEdyYXBoaWNzQ29udGV4dCog
Z2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsCi0gICAgY29uc3QgSW50
UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5n
aW5lKCktPnBhaW50U3BpbkJ1dHRvbigKLSAgICAgICAgZ2MtPnBsYXRmb3JtQ29udGV4dCgpLT5j
YW52YXMoKSwgcGFydCwgc3RhdGUsIGNsYXNzaWNTdGF0ZSwgcmVjdCk7Ci19Ci0KLXZvaWQgUGxh
dGZvcm1TdXBwb3J0OjpwYWludFRleHRGaWVsZCgKLSAgICBHcmFwaGljc0NvbnRleHQqIGdjLCBp
bnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLAotICAgIGNvbnN0IEludFJlY3Qm
IHJlY3QsIGNvbnN0IENvbG9yJiBjb2xvciwgYm9vbCBmaWxsQ29udGVudEFyZWEsCi0gICAgYm9v
bCBkcmF3RWRnZXMpCi17Ci0gICAgLy8gRmFsbGJhY2sgdG8gd2hpdGUgd2hlbiB8Y29sb3J8IGlz
IGludmFsaWQuCi0gICAgUkdCQTMyIGJhY2tncm91bmRDb2xvciA9IGNvbG9yLmlzVmFsaWQoKSA/
IGNvbG9yLnJnYigpIDogQ29sb3I6OndoaXRlOwotCi0gICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3Vy
cmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFRleHRGaWVsZCgKLSAgICAgICAgZ2MtPnBsYXRm
b3JtQ29udGV4dCgpLT5jYW52YXMoKSwgcGFydCwgc3RhdGUsIGNsYXNzaWNTdGF0ZSwgcmVjdCwK
LSAgICAgICAgYmFja2dyb3VuZENvbG9yLCBmaWxsQ29udGVudEFyZWEsIGRyYXdFZGdlcyk7Ci19
Ci0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWludFRyYWNrYmFyKAotICAgIEdyYXBoaWNzQ29u
dGV4dCogZ2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsCi0gICAgY29u
c3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRo
ZW1lRW5naW5lKCktPnBhaW50VHJhY2tiYXIoCi0gICAgICAgIGdjLT5wbGF0Zm9ybUNvbnRleHQo
KS0+Y2FudmFzKCksIHBhcnQsIHN0YXRlLCBjbGFzc2ljU3RhdGUsIHJlY3QpOwotfQotCi12b2lk
IFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRQcm9ncmVzc0JhcigKLSAgICBHcmFwaGljc0NvbnRleHQq
IGdjLCBjb25zdCBJbnRSZWN0JiBiYXJSZWN0LCBjb25zdCBJbnRSZWN0JiB2YWx1ZVJlY3QsIGJv
b2wgZGV0ZXJtaW5hdGUsIGRvdWJsZSBhbmltYXRlZFNlY29uZHMpCi17Ci0gICAgV2ViS2l0OjpQ
bGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFByb2dyZXNzQmFyKAotICAg
ICAgICBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLCBiYXJSZWN0LCB2YWx1ZVJlY3Qs
IGRldGVybWluYXRlLCBhbmltYXRlZFNlY29uZHMpOwotfQotCi0jZW5kaWYKLQogLy8gVGhlc2Ug
YXJlIHRlbXBvcmFyeSBtZXRob2RzIHRoYXQgdGhlIFdlYktpdCBsYXllciBjYW4gdXNlIHRvIGNh
bGwgdG8gdGhlCiAvLyBHbHVlIGxheWVyLiBPbmNlIHRoZSBHbHVlIGxheWVyIG1vdmVzIGVudGly
ZWx5IGludG8gdGhlIFdlYktpdCBsYXllciwgdGhlc2UKIC8vIG1ldGhvZHMgd2lsbCBiZSBkZWxl
dGVkLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176524</attachid>
            <date>2012-11-28 10:58:18 -0800</date>
            <delta_ts>2012-12-04 13:04:58 -0800</delta_ts>
            <desc>Re-patched to ToT</desc>
            <filename>bug-102699-20121128135523.patch</filename>
            <type>text/plain</type>
            <size>19625</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNjAyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTI4ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dW1dpbl0g
UmVtb3ZlIHRoZW1lLXJlbGF0ZWQgZnVuY3Rpb25zIGZyb20gUGxhdGZvcm1TdXBwb3J0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI2OTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgcmVm
YWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgIChQbGF0Zm9ybVN1cHBv
cnQpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1X
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bVdpbjo6cGFp
bnRUcmFja1BpZWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2hyb21pdW1X
aW46OnBhaW50QnV0dG9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1
bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lQ2hyb21pdW1XaW46OnBhaW50QnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lQ2hyb21pdW1XaW46OnBhaW50U2xpZGVyVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRTbGlkZXJUaHVtYik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZUNocm9taXVtV2luOjpwYWludE1lbnVMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50VGV4dEZpZWxkSW50ZXJuYWwpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRJbm5lclNwaW5CdXR0
b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRQcm9n
cmVzc0Jhcik6CisKIDIwMTItMTEtMjggIFplbm8gQWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgW1F0XVtXaW5dIEVuYWJsZSB1c2FnZSBvZiBRVFdFQktJVF9QTFVHSU5fUEFU
SC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9y
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRm
b3JtU3VwcG9ydC5oCShyZXZpc2lvbiAxMzYwMjQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtODgsMjggKzg4
LDYgQEAgcHVibGljOgogICAgIC8vIFBsdWdpbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgc3RhdGljIGJvb2wgcGx1Z2lu
cyhib29sIHJlZnJlc2gsIFZlY3RvcjxQbHVnaW5JbmZvPiopOwogICAgIHN0YXRpYyBOUE9iamVj
dCogcGx1Z2luU2NyaXB0YWJsZU9iamVjdChXaWRnZXQqKTsKLQotICAgIC8vIFRoZW1pbmcgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0jaWYgT1MoV0lORE9XUykgJiYgIUVOQUJMRShERUZBVUxUX1JFTkRFUl9USEVNRSkKLSAgICBz
dGF0aWMgdm9pZCBwYWludEJ1dHRvbigKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0KiwgaW50IHBh
cnQsIGludCBzdGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwgY29uc3QgSW50UmVjdCYpOwotICAgIHN0
YXRpYyB2b2lkIHBhaW50TWVudUxpc3QoCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dCosIGludCBw
YXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsIGNvbnN0IEludFJlY3QmKTsKLSAgICBz
dGF0aWMgdm9pZCBwYWludFNjcm9sbGJhckFycm93KAotICAgICAgICBHcmFwaGljc0NvbnRleHQq
LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsIGNvbnN0IEludFJlY3QmKTsKLSAgICBzdGF0
aWMgdm9pZCBwYWludFNjcm9sbGJhclRodW1iKAotICAgICAgICBHcmFwaGljc0NvbnRleHQqLCBp
bnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLCBjb25zdCBJbnRSZWN0Jik7Ci0g
ICAgc3RhdGljIHZvaWQgcGFpbnRTY3JvbGxiYXJUcmFjaygKLSAgICAgICAgR3JhcGhpY3NDb250
ZXh0KiwgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwgY29uc3QgSW50UmVj
dCYsIGNvbnN0IEludFJlY3QmIGFsaWduUmVjdCk7Ci0gICAgc3RhdGljIHZvaWQgcGFpbnRTcGlu
QnV0dG9uKAotICAgICAgICBHcmFwaGljc0NvbnRleHQqLCBpbnQgcGFydCwgaW50IHN0YXRlLCBp
bnQgY2xhc3NpY1N0YXRlLCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgc3RhdGljIHZvaWQgcGFpbnRU
ZXh0RmllbGQoCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dCosIGludCBwYXJ0LCBpbnQgc3RhdGUs
IGludCBjbGFzc2ljU3RhdGUsIGNvbnN0IEludFJlY3QmLCBjb25zdCBDb2xvciYsIGJvb2wgZmls
bENvbnRlbnRBcmVhLCBib29sIGRyYXdFZGdlcyk7Ci0gICAgc3RhdGljIHZvaWQgcGFpbnRUcmFj
a2JhcigKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0KiwgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50
IGNsYXNzaWNTdGF0ZSwgY29uc3QgSW50UmVjdCYpOwotICAgIHN0YXRpYyB2b2lkIHBhaW50UHJv
Z3Jlc3NCYXIoCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJlY3QmIGJhclJl
Y3QsIGNvbnN0IEludFJlY3QmIHZhbHVlUmVjdCwgYm9vbCBkZXRlcm1pbmF0ZSwgZG91YmxlIGFu
aW1hdGVkU2Vjb25kcyk7Ci0jZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21p
dW1XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L1Njcm9sbGJhclRoZW1lQ2hyb21pdW1XaW4uY3BwCShyZXZpc2lvbiAxMzYwMjQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtV2luLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzQsOSArMzQsMTEgQEAKICNpbmNsdWRlICJMYXlvdXRUZXN0
U3VwcG9ydC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybU1vdXNlRXZlbnQuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIKICNpbmNs
dWRlICJTY3JvbGxiYXIuaCIKICNpbmNsdWRlICJTeXN0ZW1JbmZvLmgiCisjaW5jbHVkZSA8cHVi
bGljL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlJlY3QuaD4KKyNpbmNsdWRlIDxw
dWJsaWMvd2luL1dlYlRoZW1lRW5naW5lLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
MTA0LDE0ICsxMDYsMTAgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVtV2luOjpwYWludFRy
YQogCiAgICAgSW50UmVjdCBhbGlnblJlY3QgPSB0cmFja1JlY3Qoc2Nyb2xsYmFyLCBmYWxzZSk7
CiAKKyAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0gZ2MtPnBsYXRmb3JtQ29udGV4dCgp
LT5jYW52YXMoKTsKICAgICAvLyBEcmF3IHRoZSB0cmFjayBhcmVhIGJlZm9yZS9hZnRlciB0aGUg
dGh1bWIgb24gdGhlIHNjcm9sbCBiYXIuCi0gICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFNjcm9s
bGJhclRyYWNrKAotICAgICAgICBnYywKLSAgICAgICAgcGFydElkLAotICAgICAgICBnZXRUaGVt
ZVN0YXRlKHNjcm9sbGJhciwgcGFydFR5cGUpLAotICAgICAgICBnZXRDbGFzc2ljVGhlbWVTdGF0
ZShzY3JvbGxiYXIsIHBhcnRUeXBlKSwKLSAgICAgICAgcmVjdCwKLSAgICAgICAgYWxpZ25SZWN0
KTsKKyAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50
U2Nyb2xsYmFyVHJhY2soY2FudmFzLCBwYXJ0SWQsIGdldFRoZW1lU3RhdGUoc2Nyb2xsYmFyLCBw
YXJ0VHlwZSksIGdldENsYXNzaWNUaGVtZVN0YXRlKHNjcm9sbGJhciwgcGFydFR5cGUpLCBXZWJL
aXQ6OldlYlJlY3QocmVjdCksIFdlYktpdDo6V2ViUmVjdChhbGlnblJlY3QpKTsKKwogfQogCiB2
b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1XaW46OnBhaW50QnV0dG9uKEdyYXBoaWNzQ29udGV4
dCogZ2MsIFNjcm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3QmIHJl
Y3QsIFNjcm9sbGJhclBhcnQgcGFydCkKQEAgLTEyNCwzMyArMTIyLDIxIEBAIHZvaWQgU2Nyb2xs
YmFyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRCdXQKICAgICBlbHNlCiAgICAgICAgIHBhcnRJZCA9
IGhvcnogPyBERkNTX1NDUk9MTFJJR0hUIDogREZDU19TQ1JPTExET1dOOwogCisgICAgV2ViS2l0
OjpXZWJDYW52YXMqIGNhbnZhcyA9IGdjLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCk7CiAg
ICAgLy8gRHJhdyB0aGUgdGh1bWIgKHRoZSBib3ggeW91IGRyYWcgaW4gdGhlIHNjcm9sbCBiYXIg
dG8gc2Nyb2xsKS4KLSAgICBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50U2Nyb2xsYmFyQXJyb3coCi0g
ICAgICAgIGdjLAotICAgICAgICBnZXRUaGVtZUFycm93U3RhdGUoc2Nyb2xsYmFyLCBwYXJ0KSwK
LSAgICAgICAgcGFydElkIHwgZ2V0Q2xhc3NpY1RoZW1lU3RhdGUoc2Nyb2xsYmFyLCBwYXJ0KSwK
LSAgICAgICAgcmVjdCk7CisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVu
Z2luZSgpLT5wYWludFNjcm9sbGJhckFycm93KGNhbnZhcywgZ2V0VGhlbWVBcnJvd1N0YXRlKHNj
cm9sbGJhciwgcGFydCksIHBhcnRJZCB8IGdldENsYXNzaWNUaGVtZVN0YXRlKHNjcm9sbGJhciwg
cGFydCksIFdlYktpdDo6V2ViUmVjdChyZWN0KTsKIH0KIAogdm9pZCBTY3JvbGxiYXJUaGVtZUNo
cm9taXVtV2luOjpwYWludFRodW1iKEdyYXBoaWNzQ29udGV4dCogZ2MsIFNjcm9sbGJhclRoZW1l
Q2xpZW50KiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgYm9vbCBob3J6
ID0gc2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpID09IEhvcml6b250YWxTY3JvbGxiYXI7CiAKKyAg
ICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0gZ2MtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52
YXMoKTsKICAgICAvLyBEcmF3IHRoZSB0aHVtYiAodGhlIGJveCB5b3UgZHJhZyBpbiB0aGUgc2Ny
b2xsIGJhciB0byBzY3JvbGwpLgotICAgIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTY3JvbGxiYXJU
aHVtYigKLSAgICAgICAgZ2MsCi0gICAgICAgIGhvcnogPyBTQlBfVEhVTUJCVE5IT1JaIDogU0JQ
X1RIVU1CQlROVkVSVCwKLSAgICAgICAgZ2V0VGhlbWVTdGF0ZShzY3JvbGxiYXIsIFRodW1iUGFy
dCksCi0gICAgICAgIGdldENsYXNzaWNUaGVtZVN0YXRlKHNjcm9sbGJhciwgVGh1bWJQYXJ0KSwK
LSAgICAgICAgcmVjdCk7CisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVu
Z2luZSgpLT5wYWludFNjcm9sbGJhclRodW1iKGNhbnZhcywgaG9yeiA/IFNCUF9USFVNQkJUTkhP
UlogOiBTQlBfVEhVTUJCVE5WRVJULCBnZXRUaGVtZVN0YXRlKHNjcm9sbGJhciwgVGh1bWJQYXJ0
KSwgZ2V0Q2xhc3NpY1RoZW1lU3RhdGUoc2Nyb2xsYmFyLCBUaHVtYlBhcnQpLCBXZWJLaXQ6Oldl
YlJlY3QocmVjdCkpOwogCiAgICAgLy8gRHJhdyB0aGUgZ3JpcHBlciAodGhlIHRocmVlIGxpdHRs
ZSBsaW5lcyBvbiB0aGUgdGh1bWIpLgotICAgIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTY3JvbGxi
YXJUaHVtYigKLSAgICAgICAgZ2MsCi0gICAgICAgIGhvcnogPyBTQlBfR1JJUFBFUkhPUlogOiBT
QlBfR1JJUFBFUlZFUlQsCi0gICAgICAgIGdldFRoZW1lU3RhdGUoc2Nyb2xsYmFyLCBUaHVtYlBh
cnQpLAotICAgICAgICBnZXRDbGFzc2ljVGhlbWVTdGF0ZShzY3JvbGxiYXIsIFRodW1iUGFydCks
Ci0gICAgICAgIHJlY3QpOworICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVF
bmdpbmUoKS0+cGFpbnRTY3JvbGxiYXJUaHVtYihjYW52YXMsIGhvcnogPyBTQlBfR1JJUFBFUkhP
UlogOiBTQlBfR1JJUFBFUlZFUlQsIGdldFRoZW1lU3RhdGUoc2Nyb2xsYmFyLCBUaHVtYlBhcnQp
LCBnZXRDbGFzc2ljVGhlbWVTdGF0ZShzY3JvbGxiYXIsIFRodW1iUGFydCksIFdlYktpdDo6V2Vi
UmVjdChyZWN0KSk7CiB9CiAKIGludCBTY3JvbGxiYXJUaGVtZUNocm9taXVtV2luOjpnZXRUaGVt
ZVN0YXRlKFNjcm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxiYXIsIFNjcm9sbGJhclBhcnQgcGFy
dCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9t
aXVtV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDEzNjAyNCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzgsNyArMzgsNyBAQAogI2luY2x1ZGUgIkxheW91dFRlc3RTdXBwb3J0LmgiCiAjaW5jbHVkZSAi
TWVkaWFDb250cm9sRWxlbWVudHMuaCIKICNpbmNsdWRlICJQYWludEluZm8uaCIKLSNpbmNsdWRl
ICJQbGF0Zm9ybVN1cHBvcnQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRTa2lhLmgiCiAj
aW5jbHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyUHJvZ3Jlc3MuaCIKICNpbmNs
dWRlICJSZW5kZXJTbGlkZXIuaCIKQEAgLTQ2LDYgKzQ2LDkgQEAKICNpbmNsdWRlICJTY3JvbGxi
YXJUaGVtZS5oIgogI2luY2x1ZGUgIlN5c3RlbUluZm8uaCIKICNpbmNsdWRlICJUcmFuc3BhcmVu
Y3lXaW4uaCIKKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxwdWJsaWMv
V2ViUmVjdC5oPgorI2luY2x1ZGUgPHB1YmxpYy93aW4vV2ViVGhlbWVFbmdpbmUuaD4KICNpbmNs
dWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogCkBAIC0zMDQsMTEgKzMwNyw4IEBAIGJvb2wgUmVu
ZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRCdXR0b24KICAgICBjb25zdCBUaGVtZURhdGEmIHRo
ZW1lRGF0YSA9IGdldFRoZW1lRGF0YShvKTsKIAogICAgIFRoZW1lUGFpbnRlciBwYWludGVyKGku
Y29udGV4dCwgcik7Ci0gICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludEJ1dHRvbihwYWludGVyLmNv
bnRleHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1fcGFy
dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1fc3RhdGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0ZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFpbnRlci5kcmF3UmVjdCgpKTsKKyAg
ICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0gcGFpbnRlci5jb250ZXh0KCktPnBsYXRmb3Jt
Q29udGV4dCgpLT5jYW52YXMoKTsKKyAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRo
ZW1lRW5naW5lKCktPnBhaW50QnV0dG9uKGNhbnZhcywgdGhlbWVEYXRhLm1fcGFydCwgdGhlbWVE
YXRhLm1fc3RhdGUsIHRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0ZSwgV2ViS2l0OjpXZWJSZWN0KHBh
aW50ZXIuZHJhd1JlY3QoKSkpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMzIyLDExICsz
MjIsOCBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50U2xpZGVyCiAgICAgY29u
c3QgVGhlbWVEYXRhJiB0aGVtZURhdGEgPSBnZXRUaGVtZURhdGEobyk7CiAKICAgICBUaGVtZVBh
aW50ZXIgcGFpbnRlcihpLmNvbnRleHQsIHIpOwotICAgIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRU
cmFja2JhcihwYWludGVyLmNvbnRleHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0aGVtZURhdGEubV9wYXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRoZW1lRGF0YS5tX3N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRo
ZW1lRGF0YS5tX2NsYXNzaWNTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYWludGVyLmRyYXdSZWN0KCkpOworICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBw
YWludGVyLmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOworICAgIFdlYktp
dDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRUcmFja2JhcihjYW52
YXMsIHRoZW1lRGF0YS5tX3BhcnQsIHRoZW1lRGF0YS5tX3N0YXRlLCB0aGVtZURhdGEubV9jbGFz
c2ljU3RhdGUsIFdlYktpdDo6V2ViUmVjdChwYWludGVyLmRyYXdSZWN0KCkpKTsKIAogI2lmIEVO
QUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHBhaW50U2xpZGVyVGlja3MobywgaSwgcik7CkBA
IC0zNDAsMTEgKzMzNyw4IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRTbGlk
ZXIKICAgICBjb25zdCBUaGVtZURhdGEmIHRoZW1lRGF0YSA9IGdldFRoZW1lRGF0YShvKTsKIAog
ICAgIFRoZW1lUGFpbnRlciBwYWludGVyKGkuY29udGV4dCwgcik7Ci0gICAgUGxhdGZvcm1TdXBw
b3J0OjpwYWludFRyYWNrYmFyKHBhaW50ZXIuY29udGV4dCgpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aGVtZURhdGEubV9wYXJ0LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aGVtZURhdGEubV9zdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYWludGVyLmRyYXdSZWN0KCkpOworICAgIFdlYktpdDo6V2ViQ2Fu
dmFzKiBjYW52YXMgPSBwYWludGVyLmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZh
cygpOworICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFp
bnRUcmFja2JhcihjYW52YXMsIHRoZW1lRGF0YS5tX3BhcnQsIHRoZW1lRGF0YS5tX3N0YXRlLCB0
aGVtZURhdGEubV9jbGFzc2ljU3RhdGUsIFdlYktpdDo6V2ViUmVjdChwYWludGVyLmRyYXdSZWN0
KCkpKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTM5OSwxMSArMzkzLDggQEAgYm9vbCBS
ZW5kZXJUaGVtZUNocm9taXVtV2luOjpwYWludE1lbnVMaQogCiAgICAgLy8gR2V0IHRoZSBjb3Jy
ZWN0IHRoZW1lIGRhdGEgZm9yIGEgdGV4dGZpZWxkIGFuZCBwYWludCB0aGUgbWVudS4KICAgICBU
aGVtZVBhaW50ZXIgcGFpbnRlcihpLmNvbnRleHQsIHJlY3QpOwotICAgIFBsYXRmb3JtU3VwcG9y
dDo6cGFpbnRNZW51TGlzdChwYWludGVyLmNvbnRleHQoKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgQ1BfRFJPUERPV05CVVRUT04sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRldGVybWluZVN0YXRlKG8pLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkZXRlcm1pbmVDbGFzc2ljU3RhdGUobyksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhaW50ZXIuZHJhd1JlY3QoKSk7CisgICAgV2ViS2l0OjpXZWJDYW52
YXMqIGNhbnZhcyA9IHBhaW50ZXIuY29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFz
KCk7CisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWlu
dE1lbnVMaXN0KGNhbnZhcywgQ1BfRFJPUERPV05CVVRUT04sIGRldGVybWluZVN0YXRlKG8pLCBk
ZXRlcm1pbmVDbGFzc2ljU3RhdGUobyksIFdlYktpdDo6V2ViUmVjdChwYWludGVyLmRyYXdSZWN0
KCkpKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTU1Niw3ICs1NDcsNiBAQCBib29sIFJl
bmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50VGV4dEZpCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBkcmF3RWRnZXMpCiB7CiAgICAgLy8g
RmFsbGJhY2sgdG8gd2hpdGUgaWYgdGhlIHNwZWNpZmllZCBjb2xvciBvYmplY3QgaXMgaW52YWxp
ZC4KLSAgICAvLyAoTm90ZSBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50VGV4dEZpZWxkIGR1cGxpY2F0
ZXMgdGhpcyBjaGVjaykuCiAgICAgQ29sb3IgYmFja2dyb3VuZENvbG9yKENvbG9yOjp3aGl0ZSk7
CiAgICAgaWYgKG8tPnN0eWxlKCktPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJh
Y2tncm91bmRDb2xvcikuaXNWYWxpZCgpKQogICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSBvLT5z
dHlsZSgpLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3Ip
OwpAQCAtNTgwLDE0ICs1NzAsOCBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50
VGV4dEZpCiAgICAgewogICAgICAgICBjb25zdCBUaGVtZURhdGEmIHRoZW1lRGF0YSA9IGdldFRo
ZW1lRGF0YShvKTsKICAgICAgICAgVGhlbWVQYWludGVyIHBhaW50ZXIoaS5jb250ZXh0LCByKTsK
LSAgICAgICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFRleHRGaWVsZChwYWludGVyLmNvbnRleHQo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZURhdGEubV9w
YXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lRGF0YS5t
X3N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lRGF0
YS5tX2NsYXNzaWNTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYWludGVyLmRyYXdSZWN0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYmFja2dyb3VuZENvbG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZpbGxDb250ZW50QXJlYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBkcmF3RWRnZXMpOworICAgICAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0g
cGFpbnRlci5jb250ZXh0KCktPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKTsKKyAgICAgICAg
V2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFRleHRGaWVs
ZChjYW52YXMsIHRoZW1lRGF0YS5tX3BhcnQsIHRoZW1lRGF0YS5tX3N0YXRlLCB0aGVtZURhdGEu
bV9jbGFzc2ljU3RhdGUsIFdlYktpdDo6V2ViUmVjdChwYWludGVyLmRyYXdSZWN0KCkpLCBiYWNr
Z3JvdW5kQ29sb3IsIGZpbGxDb250ZW50QXJlYSwgZHJhd0VkZ2VzKTsKICAgICAgICAgLy8gRW5k
IG9mIGJsb2NrIGNvbW1pdHMgdGhlIHBhaW50ZXIgYmVmb3JlIHJlc3RvcmluZyBjb250ZXh0Lgog
ICAgIH0KICAgICBpZiAoby0+c3R5bGUoKS0+aGFzQm9yZGVyUmFkaXVzKCkpCkBAIC02MTEsMjIg
KzU5NSwxNiBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50SW5uZXJTCiAgICAg
ICAgIGhhbGYuc2V0SGVpZ2h0KHJlY3QuaGVpZ2h0KCkgLyAyKTsKICAgICAgICAgY29uc3QgVGhl
bWVEYXRhJiB1cFRoZW1lRGF0YSA9IGdldFRoZW1lRGF0YShvYmplY3QsIFNwaW5CdXR0b25VcCk7
CiAgICAgICAgIFRoZW1lUGFpbnRlciB1cFBhaW50ZXIoaW5mby5jb250ZXh0LCBoYWxmKTsKLSAg
ICAgICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFNwaW5CdXR0b24odXBQYWludGVyLmNvbnRleHQo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBUaGVtZURhdGEu
bV9wYXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cFRoZW1l
RGF0YS5tX3N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
cFRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdXBQYWludGVyLmRyYXdSZWN0KCkpOworICAgICAgICBXZWJLaXQ6OldlYkNh
bnZhcyogY2FudmFzID0gcGFpbnRlci5jb250ZXh0KCktPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52
YXMoKTsKKyAgICAgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgp
LT5wYWludFNwaW5CdXR0b24oY2FudmFzLCB1cFRoZW1lRGF0YS5tX3BhcnQsIHVwVGhlbWVEYXRh
Lm1fc3RhdGUsIHVwVGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRlLCBXZWJLaXQ6OldlYlJlY3QodXBQ
YWludGVyLmRyYXdSZWN0KCkpKTsKICAgICB9CiAKICAgICB7CiAgICAgICAgIGhhbGYuc2V0WShy
ZWN0LnkoKSArIHJlY3QuaGVpZ2h0KCkgLyAyKTsKICAgICAgICAgY29uc3QgVGhlbWVEYXRhJiBk
b3duVGhlbWVEYXRhID0gZ2V0VGhlbWVEYXRhKG9iamVjdCwgU3BpbkJ1dHRvbkRvd24pOwogICAg
ICAgICBUaGVtZVBhaW50ZXIgZG93blBhaW50ZXIoaW5mby5jb250ZXh0LCBoYWxmKTsKLSAgICAg
ICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFNwaW5CdXR0b24oZG93blBhaW50ZXIuY29udGV4dCgp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3duVGhlbWVEYXRh
Lm1fcGFydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG93blRo
ZW1lRGF0YS5tX3N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkb3duVGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb3duUGFpbnRlci5kcmF3UmVjdCgpKTsKKyAgICAgICAgV2ViS2l0
OjpXZWJDYW52YXMqIGNhbnZhcyA9IHBhaW50ZXIuY29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQo
KS0+Y2FudmFzKCk7CisgICAgICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVF
bmdpbmUoKS0+cGFpbnRTcGluQnV0dG9uKGNhbnZhcywgZG93blRoZW1lRGF0YS5tX3BhcnQsIGRv
d25UaGVtZURhdGEubV9zdGF0ZSwgZG93blRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0ZSwgV2ViS2l0
OjpXZWJSZWN0KGRvd25QYWludGVyLmRyYXdSZWN0KCkpKTsKICAgICB9CiAgICAgcmV0dXJuIGZh
bHNlOwogfQpAQCAtNjY1LDcgKzY0Myw4IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6
cGFpbnRQcm9ncmUKICAgICBkb3VibGUgYW5pbWF0ZWRTZWNvbmRzID0gcmVuZGVyUHJvZ3Jlc3Mt
PmFuaW1hdGlvblN0YXJ0VGltZSgpID8gIFdURjo6Y3VycmVudFRpbWUoKSAtIHJlbmRlclByb2dy
ZXNzLT5hbmltYXRpb25TdGFydFRpbWUoKSA6IDA7CiAgICAgVGhlbWVQYWludGVyIHBhaW50ZXIo
aS5jb250ZXh0LCByKTsKICAgICBEaXJlY3Rpb25GbGlwcGluZ1Njb3BlIHNjb3BlKG8sIGksIHIp
OwotICAgIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRQcm9ncmVzc0JhcihwYWludGVyLmNvbnRleHQo
KSwgciwgdmFsdWVSZWN0LCByZW5kZXJQcm9ncmVzcy0+aXNEZXRlcm1pbmF0ZSgpLCBhbmltYXRl
ZFNlY29uZHMpOworICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBwYWludGVyLmNvbnRl
eHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOworICAgIFdlYktpdDo6UGxhdGZvcm06
OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRQcm9ncmVzc0JhcihjYW52YXMsIFdlYktp
dDo6V2ViUmVjdChyKSwgV2ViS2l0OjpXZWJSZWN0KHZhbHVlUmVjdCksIHJlbmRlclByb2dyZXNz
LT5pc0RldGVybWluYXRlKCksIGFuaW1hdGVkU2Vjb25kcyk7CiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gMTM2MDI0KQorKysg
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNSBAQAorMjAxMi0xMS0yOCAgTWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW0Nocm9taXVtXVtXaW5dIFJlbW92ZSB0aGVtZS1yZWxhdGVkIGZ1bmN0aW9u
cyBmcm9tIFBsYXRmb3JtU3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAyNjk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUGFydCBvZiBhIHJlZmFjdG9yaW5nIHNlcmllcy4gU2VlIHRyYWNraW5n
IGJ1ZyA4Mjk0OC4KKworICAgICAgICAqIHNyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1TdXBwb3J0OjpwbHVnaW5TY3JpcHRhYmxlT2JqZWN0KToKKwog
MjAxMi0xMS0yOCAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBBbGxvdyBwbHVnaW5zIHRvIG9wdC1pbiB0byByZWNlaXZl
IHN5bnRoZXRpYyBtb3VzZSBldmVudHMgb3V0IG9mIHRvdWNoIGV2ZW50cy4KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAkocmV2aXNpb24g
MTM2MDI0KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTYsNDAgKzU2LDEwIEBACiAjaW5jbHVkZSAicGxhdGZvcm0v
V2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgiCiAKLSNpZiBPUyhXSU5E
T1dTKQotI2luY2x1ZGUgInBsYXRmb3JtL1dlYlJlY3QuaCIKLSNpZiAhRU5BQkxFKERFRkFVTFRf
UkVOREVSX1RIRU1FKQotI2luY2x1ZGUgPHB1YmxpYy93aW4vV2ViVGhlbWVFbmdpbmUuaD4KLSNl
bmRpZiAvLyAhRU5BQkxFKERFRkFVTFRfUkVOREVSX1RIRU1FKQotI2VuZGlmCi0KLSNpZiBFTkFC
TEUoREVGQVVMVF9SRU5ERVJfVEhFTUUpCi0jaW5jbHVkZSA8cHVibGljL2RlZmF1bHQvV2ViVGhl
bWVFbmdpbmUuaD4KLSNlbmRpZgotCi0jaWYgT1MoREFSV0lOKQotI2luY2x1ZGUgPHB1YmxpYy9t
YWMvV2ViVGhlbWVFbmdpbmUuaD4KLSNlbGlmIE9TKFVOSVgpCi0jaW5jbHVkZSAiV2ViRm9udFJl
bmRlclN0eWxlLmgiCi0jaWYgT1MoQU5EUk9JRCkKLSNpbmNsdWRlIDxwdWJsaWMvYW5kcm9pZC9X
ZWJUaGVtZUVuZ2luZS5oPgotI2Vsc2UKLSNpbmNsdWRlICJXZWJGb250SW5mby5oIgotI2lmICFF
TkFCTEUoREVGQVVMVF9SRU5ERVJfVEhFTUUpCi0jaW5jbHVkZSA8cHVibGljL2xpbnV4L1dlYlRo
ZW1lRW5naW5lLmg+Ci0jZW5kaWYgLy8gIUVOQUJMRShERUZBVUxUX1JFTkRFUl9USEVNRSkKLSNl
bmRpZiAvLyBPUyhBTkRST0lEKQotI2VuZGlmIC8vIGVsaWYgT1MoVU5JWCkKLQotI2luY2x1ZGUg
Ik5hdGl2ZUltYWdlU2tpYS5oIgotCi0jaW5jbHVkZSAiQml0bWFwSW1hZ2UuaCIKICNpbmNsdWRl
ICJGcmFtZVZpZXcuaCIKLSNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJJ
REJGYWN0b3J5QmFja2VuZFByb3h5LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIk5v
dEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgogI2luY2x1
ZGUgIlBsdWdpbkRhdGEuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKIApAQCAtMTQzLDg5
ICsxMTMsNiBAQCBOUE9iamVjdCogUGxhdGZvcm1TdXBwb3J0OjpwbHVnaW5TY3JpcHRhCiAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PFdlYlBsdWdpbkNvbnRhaW5lckltcGwqPih3aWRnZXQpLT5zY3Jp
cHRhYmxlT2JqZWN0KCk7CiB9CiAKLS8vIFRoZW1pbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotI2lmIE9TKFdJ
TkRPV1MpICYmICFFTkFCTEUoREVGQVVMVF9SRU5ERVJfVEhFTUUpCi0KLXZvaWQgUGxhdGZvcm1T
dXBwb3J0OjpwYWludEJ1dHRvbigKLSAgICBHcmFwaGljc0NvbnRleHQqIGdjLCBpbnQgcGFydCwg
aW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLAotICAgIGNvbnN0IEludFJlY3QmIHJlY3QpCi17
Ci0gICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludEJ1
dHRvbigKLSAgICAgICAgZ2MtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKSwgcGFydCwgc3Rh
dGUsIGNsYXNzaWNTdGF0ZSwgcmVjdCk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWlu
dE1lbnVMaXN0KAotICAgIEdyYXBoaWNzQ29udGV4dCogZ2MsIGludCBwYXJ0LCBpbnQgc3RhdGUs
IGludCBjbGFzc2ljU3RhdGUsCi0gICAgY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJL
aXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50TWVudUxpc3QoCi0g
ICAgICAgIGdjLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCksIHBhcnQsIHN0YXRlLCBjbGFz
c2ljU3RhdGUsIHJlY3QpOwotfQotCi12b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTY3JvbGxi
YXJBcnJvdygKLSAgICBHcmFwaGljc0NvbnRleHQqIGdjLCBpbnQgc3RhdGUsIGludCBjbGFzc2lj
U3RhdGUsCi0gICAgY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3Jt
OjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50U2Nyb2xsYmFyQXJyb3coCi0gICAgICAg
IGdjLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCksIHN0YXRlLCBjbGFzc2ljU3RhdGUsIHJl
Y3QpOwotfQotCi12b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTY3JvbGxiYXJUaHVtYigKLSAg
ICBHcmFwaGljc0NvbnRleHQqIGdjLCBpbnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0
YXRlLAotICAgIGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAgV2ViS2l0OjpQbGF0Zm9ybTo6
Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFNjcm9sbGJhclRodW1iKAotICAgICAgICBn
Yy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLCBwYXJ0LCBzdGF0ZSwgY2xhc3NpY1N0YXRl
LCByZWN0KTsKLX0KLQotdm9pZCBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50U2Nyb2xsYmFyVHJhY2so
Ci0gICAgR3JhcGhpY3NDb250ZXh0KiBnYywgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50IGNsYXNz
aWNTdGF0ZSwKLSAgICBjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBJbnRSZWN0JiBhbGlnblJl
Y3QpCi17Ci0gICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5w
YWludFNjcm9sbGJhclRyYWNrKAotICAgICAgICBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZh
cygpLCBwYXJ0LCBzdGF0ZSwgY2xhc3NpY1N0YXRlLCByZWN0LAotICAgICAgICBhbGlnblJlY3Qp
OwotfQotCi12b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTcGluQnV0dG9uKAotICAgIEdyYXBo
aWNzQ29udGV4dCogZ2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsCi0g
ICAgY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50
KCktPnRoZW1lRW5naW5lKCktPnBhaW50U3BpbkJ1dHRvbigKLSAgICAgICAgZ2MtPnBsYXRmb3Jt
Q29udGV4dCgpLT5jYW52YXMoKSwgcGFydCwgc3RhdGUsIGNsYXNzaWNTdGF0ZSwgcmVjdCk7Ci19
Ci0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWludFRleHRGaWVsZCgKLSAgICBHcmFwaGljc0Nv
bnRleHQqIGdjLCBpbnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLAotICAgIGNv
bnN0IEludFJlY3QmIHJlY3QsIGNvbnN0IENvbG9yJiBjb2xvciwgYm9vbCBmaWxsQ29udGVudEFy
ZWEsCi0gICAgYm9vbCBkcmF3RWRnZXMpCi17Ci0gICAgLy8gRmFsbGJhY2sgdG8gd2hpdGUgd2hl
biB8Y29sb3J8IGlzIGludmFsaWQuCi0gICAgUkdCQTMyIGJhY2tncm91bmRDb2xvciA9IGNvbG9y
LmlzVmFsaWQoKSA/IGNvbG9yLnJnYigpIDogQ29sb3I6OndoaXRlOwotCi0gICAgV2ViS2l0OjpQ
bGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFRleHRGaWVsZCgKLSAgICAg
ICAgZ2MtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKSwgcGFydCwgc3RhdGUsIGNsYXNzaWNT
dGF0ZSwgcmVjdCwKLSAgICAgICAgYmFja2dyb3VuZENvbG9yLCBmaWxsQ29udGVudEFyZWEsIGRy
YXdFZGdlcyk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWludFRyYWNrYmFyKAotICAg
IEdyYXBoaWNzQ29udGV4dCogZ2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3Rh
dGUsCi0gICAgY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3JtOjpj
dXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50VHJhY2tiYXIoCi0gICAgICAgIGdjLT5wbGF0
Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCksIHBhcnQsIHN0YXRlLCBjbGFzc2ljU3RhdGUsIHJlY3Qp
OwotfQotCi12b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRQcm9ncmVzc0JhcigKLSAgICBHcmFw
aGljc0NvbnRleHQqIGdjLCBjb25zdCBJbnRSZWN0JiBiYXJSZWN0LCBjb25zdCBJbnRSZWN0JiB2
YWx1ZVJlY3QsIGJvb2wgZGV0ZXJtaW5hdGUsIGRvdWJsZSBhbmltYXRlZFNlY29uZHMpCi17Ci0g
ICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFByb2dy
ZXNzQmFyKAotICAgICAgICBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLCBiYXJSZWN0
LCB2YWx1ZVJlY3QsIGRldGVybWluYXRlLCBhbmltYXRlZFNlY29uZHMpOwotfQotCi0jZW5kaWYK
LQogLy8gVGhlc2UgYXJlIHRlbXBvcmFyeSBtZXRob2RzIHRoYXQgdGhlIFdlYktpdCBsYXllciBj
YW4gdXNlIHRvIGNhbGwgdG8gdGhlCiAvLyBHbHVlIGxheWVyLiBPbmNlIHRoZSBHbHVlIGxheWVy
IG1vdmVzIGVudGlyZWx5IGludG8gdGhlIFdlYktpdCBsYXllciwgdGhlc2UKIC8vIG1ldGhvZHMg
d2lsbCBiZSBkZWxldGVkLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177532</attachid>
            <date>2012-12-04 13:05:02 -0800</date>
            <delta_ts>2012-12-10 11:10:21 -0800</delta_ts>
            <desc>Repatched to ToT</desc>
            <filename>bug-102699-20121204160152.patch</filename>
            <type>text/plain</type>
            <size>19676</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNjUyNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEyLTA0ICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dW1dpbl0g
UmVtb3ZlIHRoZW1lLXJlbGF0ZWQgZnVuY3Rpb25zIGZyb20gUGxhdGZvcm1TdXBwb3J0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI2OTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIENhbGwgdGhlbWUgZW5naW5l
IGRpcmVjdGx5IGluc3RlYWQgb2YgZ29pbmcgdGhyb3VnaAorICAgICAgICBQbGF0Zm9ybVN1cHBv
cnQuIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0cmFja2luZyBidWcgODI5NDgu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAg
ICAgKFBsYXRmb3JtU3VwcG9ydCk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xs
YmFyVGhlbWVDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVt
ZUNocm9taXVtV2luOjpwYWludFRyYWNrUGllY2UpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YmFyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRCdXR0b24pOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRCdXR0b24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRTbGlkZXJUcmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtV2luOjpwYWludFNsaWRlclRodW1iKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50TWVudUxpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRUZXh0Rmll
bGRJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtV2luOjpw
YWludElubmVyU3BpbkJ1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9t
aXVtV2luOjpwYWludFByb2dyZXNzQmFyKToKKwogMjAxMi0xMi0wNCAgTWlrZSBXZXN0ICA8bWt3
c3RAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIExvZyB0byBjb25zb2xlIHdoZW4gZm9ybXMgYW5k
IHBvcHVwcyBhcmUgYmxvY2tlZCBieSAnc2FuZGJveCcuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaAkocmV2aXNpb24gMTM2
NTI3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TdXBwb3J0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDI4ICs3OCw2IEBAIHB1YmxpYzoKIAogICAgIC8vIFBs
dWdpbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAgICAgc3RhdGljIGJvb2wgcGx1Z2lucyhib29sIHJlZnJlc2gsIFZlY3RvcjxQ
bHVnaW5JbmZvPiopOwotCi0gICAgLy8gVGhlbWluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSNpZiBPUyhXSU5ET1dTKSAmJiAh
RU5BQkxFKERFRkFVTFRfUkVOREVSX1RIRU1FKQotICAgIHN0YXRpYyB2b2lkIHBhaW50QnV0dG9u
KAotICAgICAgICBHcmFwaGljc0NvbnRleHQqLCBpbnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xh
c3NpY1N0YXRlLCBjb25zdCBJbnRSZWN0Jik7Ci0gICAgc3RhdGljIHZvaWQgcGFpbnRNZW51TGlz
dCgKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0KiwgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50IGNs
YXNzaWNTdGF0ZSwgY29uc3QgSW50UmVjdCYpOwotICAgIHN0YXRpYyB2b2lkIHBhaW50U2Nyb2xs
YmFyQXJyb3coCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dCosIGludCBzdGF0ZSwgaW50IGNsYXNz
aWNTdGF0ZSwgY29uc3QgSW50UmVjdCYpOwotICAgIHN0YXRpYyB2b2lkIHBhaW50U2Nyb2xsYmFy
VGh1bWIoCi0gICAgICAgIEdyYXBoaWNzQ29udGV4dCosIGludCBwYXJ0LCBpbnQgc3RhdGUsIGlu
dCBjbGFzc2ljU3RhdGUsIGNvbnN0IEludFJlY3QmKTsKLSAgICBzdGF0aWMgdm9pZCBwYWludFNj
cm9sbGJhclRyYWNrKAotICAgICAgICBHcmFwaGljc0NvbnRleHQqLCBpbnQgcGFydCwgaW50IHN0
YXRlLCBpbnQgY2xhc3NpY1N0YXRlLCBjb25zdCBJbnRSZWN0JiwgY29uc3QgSW50UmVjdCYgYWxp
Z25SZWN0KTsKLSAgICBzdGF0aWMgdm9pZCBwYWludFNwaW5CdXR0b24oCi0gICAgICAgIEdyYXBo
aWNzQ29udGV4dCosIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsIGNvbnN0
IEludFJlY3QmKTsKLSAgICBzdGF0aWMgdm9pZCBwYWludFRleHRGaWVsZCgKLSAgICAgICAgR3Jh
cGhpY3NDb250ZXh0KiwgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwgY29u
c3QgSW50UmVjdCYsIGNvbnN0IENvbG9yJiwgYm9vbCBmaWxsQ29udGVudEFyZWEsIGJvb2wgZHJh
d0VkZ2VzKTsKLSAgICBzdGF0aWMgdm9pZCBwYWludFRyYWNrYmFyKAotICAgICAgICBHcmFwaGlj
c0NvbnRleHQqLCBpbnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLCBjb25zdCBJ
bnRSZWN0Jik7Ci0gICAgc3RhdGljIHZvaWQgcGFpbnRQcm9ncmVzc0JhcigKLSAgICAgICAgR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYgYmFyUmVjdCwgY29uc3QgSW50UmVjdCYgdmFs
dWVSZWN0LCBib29sIGRldGVybWluYXRlLCBkb3VibGUgYW5pbWF0ZWRTZWNvbmRzKTsKLSNlbmRp
ZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1bVdpbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xsYmFyVGhlbWVDaHJvbWl1
bVdpbi5jcHAJKHJldmlzaW9uIDEzNjUyNykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1Njcm9sbGJhclRoZW1lQ2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NCw5ICszNCwxMSBAQAogI2luY2x1ZGUgIkxheW91dFRlc3RTdXBwb3J0LmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1Db250ZXh0U2tpYS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgot
I2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgogI2luY2x1ZGUgIlNjcm9sbGJhci5oIgogI2lu
Y2x1ZGUgIlN5c3RlbUluZm8uaCIKKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNs
dWRlIDxwdWJsaWMvV2ViUmVjdC5oPgorI2luY2x1ZGUgPHB1YmxpYy93aW4vV2ViVGhlbWVFbmdp
bmUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMDQsMTQgKzEwNiwxMCBAQCB2b2lk
IFNjcm9sbGJhclRoZW1lQ2hyb21pdW1XaW46OnBhaW50VHJhCiAKICAgICBJbnRSZWN0IGFsaWdu
UmVjdCA9IHRyYWNrUmVjdChzY3JvbGxiYXIsIGZhbHNlKTsKIAorICAgIFdlYktpdDo6V2ViQ2Fu
dmFzKiBjYW52YXMgPSBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOwogICAgIC8vIERy
YXcgdGhlIHRyYWNrIGFyZWEgYmVmb3JlL2FmdGVyIHRoZSB0aHVtYiBvbiB0aGUgc2Nyb2xsIGJh
ci4KLSAgICBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50U2Nyb2xsYmFyVHJhY2soCi0gICAgICAgIGdj
LAotICAgICAgICBwYXJ0SWQsCi0gICAgICAgIGdldFRoZW1lU3RhdGUoc2Nyb2xsYmFyLCBwYXJ0
VHlwZSksCi0gICAgICAgIGdldENsYXNzaWNUaGVtZVN0YXRlKHNjcm9sbGJhciwgcGFydFR5cGUp
LAotICAgICAgICByZWN0LAotICAgICAgICBhbGlnblJlY3QpOworICAgIFdlYktpdDo6UGxhdGZv
cm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRTY3JvbGxiYXJUcmFjayhjYW52YXMs
IHBhcnRJZCwgZ2V0VGhlbWVTdGF0ZShzY3JvbGxiYXIsIHBhcnRUeXBlKSwgZ2V0Q2xhc3NpY1Ro
ZW1lU3RhdGUoc2Nyb2xsYmFyLCBwYXJ0VHlwZSksIFdlYktpdDo6V2ViUmVjdChyZWN0KSwgV2Vi
S2l0OjpXZWJSZWN0KGFsaWduUmVjdCkpOworCiB9CiAKIHZvaWQgU2Nyb2xsYmFyVGhlbWVDaHJv
bWl1bVdpbjo6cGFpbnRCdXR0b24oR3JhcGhpY3NDb250ZXh0KiBnYywgU2Nyb2xsYmFyVGhlbWVD
bGllbnQqIHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCwgU2Nyb2xsYmFyUGFydCBwYXJ0
KQpAQCAtMTI0LDMzICsxMjIsMjEgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVtV2luOjpw
YWludEJ1dAogICAgIGVsc2UKICAgICAgICAgcGFydElkID0gaG9yeiA/IERGQ1NfU0NST0xMUklH
SFQgOiBERkNTX1NDUk9MTERPV047CiAKKyAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0g
Z2MtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKTsKICAgICAvLyBEcmF3IHRoZSB0aHVtYiAo
dGhlIGJveCB5b3UgZHJhZyBpbiB0aGUgc2Nyb2xsIGJhciB0byBzY3JvbGwpLgotICAgIFBsYXRm
b3JtU3VwcG9ydDo6cGFpbnRTY3JvbGxiYXJBcnJvdygKLSAgICAgICAgZ2MsCi0gICAgICAgIGdl
dFRoZW1lQXJyb3dTdGF0ZShzY3JvbGxiYXIsIHBhcnQpLAotICAgICAgICBwYXJ0SWQgfCBnZXRD
bGFzc2ljVGhlbWVTdGF0ZShzY3JvbGxiYXIsIHBhcnQpLAotICAgICAgICByZWN0KTsKKyAgICBX
ZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50U2Nyb2xsYmFy
QXJyb3coY2FudmFzLCBnZXRUaGVtZUFycm93U3RhdGUoc2Nyb2xsYmFyLCBwYXJ0KSwgcGFydElk
IHwgZ2V0Q2xhc3NpY1RoZW1lU3RhdGUoc2Nyb2xsYmFyLCBwYXJ0KSwgV2ViS2l0OjpXZWJSZWN0
KHJlY3QpOwogfQogCiB2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1XaW46OnBhaW50VGh1bWIo
R3JhcGhpY3NDb250ZXh0KiBnYywgU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhciwgY29u
c3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBib29sIGhvcnogPSBzY3JvbGxiYXItPm9yaWVudGF0
aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcjsKIAorICAgIFdlYktpdDo6V2ViQ2FudmFzKiBj
YW52YXMgPSBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOwogICAgIC8vIERyYXcgdGhl
IHRodW1iICh0aGUgYm94IHlvdSBkcmFnIGluIHRoZSBzY3JvbGwgYmFyIHRvIHNjcm9sbCkuCi0g
ICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFNjcm9sbGJhclRodW1iKAotICAgICAgICBnYywKLSAg
ICAgICAgaG9yeiA/IFNCUF9USFVNQkJUTkhPUlogOiBTQlBfVEhVTUJCVE5WRVJULAotICAgICAg
ICBnZXRUaGVtZVN0YXRlKHNjcm9sbGJhciwgVGh1bWJQYXJ0KSwKLSAgICAgICAgZ2V0Q2xhc3Np
Y1RoZW1lU3RhdGUoc2Nyb2xsYmFyLCBUaHVtYlBhcnQpLAotICAgICAgICByZWN0KTsKKyAgICBX
ZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50U2Nyb2xsYmFy
VGh1bWIoY2FudmFzLCBob3J6ID8gU0JQX1RIVU1CQlROSE9SWiA6IFNCUF9USFVNQkJUTlZFUlQs
IGdldFRoZW1lU3RhdGUoc2Nyb2xsYmFyLCBUaHVtYlBhcnQpLCBnZXRDbGFzc2ljVGhlbWVTdGF0
ZShzY3JvbGxiYXIsIFRodW1iUGFydCksIFdlYktpdDo6V2ViUmVjdChyZWN0KSk7CiAKICAgICAv
LyBEcmF3IHRoZSBncmlwcGVyICh0aGUgdGhyZWUgbGl0dGxlIGxpbmVzIG9uIHRoZSB0aHVtYiku
Ci0gICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFNjcm9sbGJhclRodW1iKAotICAgICAgICBnYywK
LSAgICAgICAgaG9yeiA/IFNCUF9HUklQUEVSSE9SWiA6IFNCUF9HUklQUEVSVkVSVCwKLSAgICAg
ICAgZ2V0VGhlbWVTdGF0ZShzY3JvbGxiYXIsIFRodW1iUGFydCksCi0gICAgICAgIGdldENsYXNz
aWNUaGVtZVN0YXRlKHNjcm9sbGJhciwgVGh1bWJQYXJ0KSwKLSAgICAgICAgcmVjdCk7CisgICAg
V2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFNjcm9sbGJh
clRodW1iKGNhbnZhcywgaG9yeiA/IFNCUF9HUklQUEVSSE9SWiA6IFNCUF9HUklQUEVSVkVSVCwg
Z2V0VGhlbWVTdGF0ZShzY3JvbGxiYXIsIFRodW1iUGFydCksIGdldENsYXNzaWNUaGVtZVN0YXRl
KHNjcm9sbGJhciwgVGh1bWJQYXJ0KSwgV2ViS2l0OjpXZWJSZWN0KHJlY3QpKTsKIH0KIAogaW50
IFNjcm9sbGJhclRoZW1lQ2hyb21pdW1XaW46OmdldFRoZW1lU3RhdGUoU2Nyb2xsYmFyVGhlbWVD
bGllbnQqIHNjcm9sbGJhciwgU2Nyb2xsYmFyUGFydCBwYXJ0KSBjb25zdApJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcAko
cmV2aXNpb24gMTM2NTI3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVk
ZSAiTGF5b3V0VGVzdFN1cHBvcnQuaCIKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xFbGVtZW50cy5o
IgogI2luY2x1ZGUgIlBhaW50SW5mby5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgor
I2luY2x1ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIK
ICNpbmNsdWRlICJSZW5kZXJQcm9ncmVzcy5oIgogI2luY2x1ZGUgIlJlbmRlclNsaWRlci5oIgpA
QCAtNDYsNiArNDYsOSBAQAogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lLmgiCiAjaW5jbHVkZSAi
U3lzdGVtSW5mby5oIgogI2luY2x1ZGUgIlRyYW5zcGFyZW5jeVdpbi5oIgorI2luY2x1ZGUgPHB1
YmxpYy9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJSZWN0Lmg+CisjaW5jbHVkZSA8
cHVibGljL3dpbi9XZWJUaGVtZUVuZ2luZS5oPgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5o
PgogCiAKQEAgLTMwNCwxMSArMzA3LDggQEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpw
YWludEJ1dHRvbgogICAgIGNvbnN0IFRoZW1lRGF0YSYgdGhlbWVEYXRhID0gZ2V0VGhlbWVEYXRh
KG8pOwogCiAgICAgVGhlbWVQYWludGVyIHBhaW50ZXIoaS5jb250ZXh0LCByKTsKLSAgICBQbGF0
Zm9ybVN1cHBvcnQ6OnBhaW50QnV0dG9uKHBhaW50ZXIuY29udGV4dCgpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0aGVtZURhdGEubV9wYXJ0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aGVtZURhdGEubV9zdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYWludGVyLmRyYXdSZWN0KCkpOworICAgIFdlYktpdDo6V2ViQ2FudmFzKiBj
YW52YXMgPSBwYWludGVyLmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOwor
ICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRCdXR0
b24oY2FudmFzLCB0aGVtZURhdGEubV9wYXJ0LCB0aGVtZURhdGEubV9zdGF0ZSwgdGhlbWVEYXRh
Lm1fY2xhc3NpY1N0YXRlLCBXZWJLaXQ6OldlYlJlY3QocGFpbnRlci5kcmF3UmVjdCgpKSk7CiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC0zMjIsMTEgKzMyMiw4IEBAIGJvb2wgUmVuZGVyVGhl
bWVDaHJvbWl1bVdpbjo6cGFpbnRTbGlkZXIKICAgICBjb25zdCBUaGVtZURhdGEmIHRoZW1lRGF0
YSA9IGdldFRoZW1lRGF0YShvKTsKIAogICAgIFRoZW1lUGFpbnRlciBwYWludGVyKGkuY29udGV4
dCwgcik7Ci0gICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFRyYWNrYmFyKHBhaW50ZXIuY29udGV4
dCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lRGF0YS5tX3BhcnQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1fc3RhdGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaW50ZXIuZHJhd1JlY3QoKSk7
CisgICAgV2ViS2l0OjpXZWJDYW52YXMqIGNhbnZhcyA9IHBhaW50ZXIuY29udGV4dCgpLT5wbGF0
Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCk7CisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgp
LT50aGVtZUVuZ2luZSgpLT5wYWludFRyYWNrYmFyKGNhbnZhcywgdGhlbWVEYXRhLm1fcGFydCwg
dGhlbWVEYXRhLm1fc3RhdGUsIHRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0ZSwgV2ViS2l0OjpXZWJS
ZWN0KHBhaW50ZXIuZHJhd1JlY3QoKSkpOwogCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQp
CiAgICAgcGFpbnRTbGlkZXJUaWNrcyhvLCBpLCByKTsKQEAgLTM0MCwxMSArMzM3LDggQEAgYm9v
bCBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpwYWludFNsaWRlcgogICAgIGNvbnN0IFRoZW1lRGF0
YSYgdGhlbWVEYXRhID0gZ2V0VGhlbWVEYXRhKG8pOwogCiAgICAgVGhlbWVQYWludGVyIHBhaW50
ZXIoaS5jb250ZXh0LCByKTsKLSAgICBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50VHJhY2tiYXIocGFp
bnRlci5jb250ZXh0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1l
RGF0YS5tX3BhcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lRGF0
YS5tX3N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZURhdGEu
bV9jbGFzc2ljU3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaW50
ZXIuZHJhd1JlY3QoKSk7CisgICAgV2ViS2l0OjpXZWJDYW52YXMqIGNhbnZhcyA9IHBhaW50ZXIu
Y29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCk7CisgICAgV2ViS2l0OjpQbGF0
Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFRyYWNrYmFyKGNhbnZhcywgdGhl
bWVEYXRhLm1fcGFydCwgdGhlbWVEYXRhLm1fc3RhdGUsIHRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0
ZSwgV2ViS2l0OjpXZWJSZWN0KHBhaW50ZXIuZHJhd1JlY3QoKSkpOwogCiAgICAgcmV0dXJuIGZh
bHNlOwogfQpAQCAtMzk5LDExICszOTMsOCBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46
OnBhaW50TWVudUxpCiAKICAgICAvLyBHZXQgdGhlIGNvcnJlY3QgdGhlbWUgZGF0YSBmb3IgYSB0
ZXh0ZmllbGQgYW5kIHBhaW50IHRoZSBtZW51LgogICAgIFRoZW1lUGFpbnRlciBwYWludGVyKGku
Y29udGV4dCwgcmVjdCk7Ci0gICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludE1lbnVMaXN0KHBhaW50
ZXIuY29udGV4dCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDUF9EUk9Q
RE9XTkJVVFRPTiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0ZXJtaW5l
U3RhdGUobyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGVybWluZUNs
YXNzaWNTdGF0ZShvKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFpbnRl
ci5kcmF3UmVjdCgpKTsKKyAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0gcGFpbnRlci5j
b250ZXh0KCktPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKTsKKyAgICBXZWJLaXQ6OlBsYXRm
b3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50TWVudUxpc3QoY2FudmFzLCBDUF9E
Uk9QRE9XTkJVVFRPTiwgZGV0ZXJtaW5lU3RhdGUobyksIGRldGVybWluZUNsYXNzaWNTdGF0ZShv
KSwgV2ViS2l0OjpXZWJSZWN0KHBhaW50ZXIuZHJhd1JlY3QoKSkpOwogICAgIHJldHVybiBmYWxz
ZTsKIH0KIApAQCAtNTU2LDcgKzU0Nyw2IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6
cGFpbnRUZXh0RmkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIGRyYXdFZGdlcykKIHsKICAgICAvLyBGYWxsYmFjayB0byB3aGl0ZSBpZiB0
aGUgc3BlY2lmaWVkIGNvbG9yIG9iamVjdCBpcyBpbnZhbGlkLgotICAgIC8vIChOb3RlIFBsYXRm
b3JtU3VwcG9ydDo6cGFpbnRUZXh0RmllbGQgZHVwbGljYXRlcyB0aGlzIGNoZWNrKS4KICAgICBD
b2xvciBiYWNrZ3JvdW5kQ29sb3IoQ29sb3I6OndoaXRlKTsKICAgICBpZiAoby0+c3R5bGUoKS0+
dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yKS5pc1ZhbGlk
KCkpCiAgICAgICAgIGJhY2tncm91bmRDb2xvciA9IG8tPnN0eWxlKCktPnZpc2l0ZWREZXBlbmRl
bnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcik7CkBAIC01ODAsMTQgKzU3MCw4IEBA
IGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRUZXh0RmkKICAgICB7CiAgICAgICAg
IGNvbnN0IFRoZW1lRGF0YSYgdGhlbWVEYXRhID0gZ2V0VGhlbWVEYXRhKG8pOwogICAgICAgICBU
aGVtZVBhaW50ZXIgcGFpbnRlcihpLmNvbnRleHQsIHIpOwotICAgICAgICBQbGF0Zm9ybVN1cHBv
cnQ6OnBhaW50VGV4dEZpZWxkKHBhaW50ZXIuY29udGV4dCgpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRoZW1lRGF0YS5tX3BhcnQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1fc3RhdGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhaW50ZXIuZHJhd1JlY3QoKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3Is
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbENvbnRlbnRBcmVh
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYXdFZGdlcyk7Cisg
ICAgICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBwYWludGVyLmNvbnRleHQoKS0+cGxh
dGZvcm1Db250ZXh0KCktPmNhbnZhcygpOworICAgICAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJy
ZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50VGV4dEZpZWxkKGNhbnZhcywgdGhlbWVEYXRhLm1f
cGFydCwgdGhlbWVEYXRhLm1fc3RhdGUsIHRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0ZSwgV2ViS2l0
OjpXZWJSZWN0KHBhaW50ZXIuZHJhd1JlY3QoKSksIGJhY2tncm91bmRDb2xvciwgZmlsbENvbnRl
bnRBcmVhLCBkcmF3RWRnZXMpOwogICAgICAgICAvLyBFbmQgb2YgYmxvY2sgY29tbWl0cyB0aGUg
cGFpbnRlciBiZWZvcmUgcmVzdG9yaW5nIGNvbnRleHQuCiAgICAgfQogICAgIGlmIChvLT5zdHls
ZSgpLT5oYXNCb3JkZXJSYWRpdXMoKSkKQEAgLTYxMSwyMiArNTk1LDE2IEBAIGJvb2wgUmVuZGVy
VGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRJbm5lclMKICAgICAgICAgaGFsZi5zZXRIZWlnaHQocmVj
dC5oZWlnaHQoKSAvIDIpOwogICAgICAgICBjb25zdCBUaGVtZURhdGEmIHVwVGhlbWVEYXRhID0g
Z2V0VGhlbWVEYXRhKG9iamVjdCwgU3BpbkJ1dHRvblVwKTsKICAgICAgICAgVGhlbWVQYWludGVy
IHVwUGFpbnRlcihpbmZvLmNvbnRleHQsIGhhbGYpOwotICAgICAgICBQbGF0Zm9ybVN1cHBvcnQ6
OnBhaW50U3BpbkJ1dHRvbih1cFBhaW50ZXIuY29udGV4dCgpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1cFRoZW1lRGF0YS5tX3BhcnQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwVGhlbWVEYXRhLm1fc3RhdGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwVGhlbWVEYXRhLm1fY2xhc3NpY1N0
YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cFBhaW50ZXIu
ZHJhd1JlY3QoKSk7CisgICAgICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBwYWludGVy
LmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOworICAgICAgICBXZWJLaXQ6
OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50U3BpbkJ1dHRvbihjYW52
YXMsIHVwVGhlbWVEYXRhLm1fcGFydCwgdXBUaGVtZURhdGEubV9zdGF0ZSwgdXBUaGVtZURhdGEu
bV9jbGFzc2ljU3RhdGUsIFdlYktpdDo6V2ViUmVjdCh1cFBhaW50ZXIuZHJhd1JlY3QoKSkpOwog
ICAgIH0KIAogICAgIHsKICAgICAgICAgaGFsZi5zZXRZKHJlY3QueSgpICsgcmVjdC5oZWlnaHQo
KSAvIDIpOwogICAgICAgICBjb25zdCBUaGVtZURhdGEmIGRvd25UaGVtZURhdGEgPSBnZXRUaGVt
ZURhdGEob2JqZWN0LCBTcGluQnV0dG9uRG93bik7CiAgICAgICAgIFRoZW1lUGFpbnRlciBkb3du
UGFpbnRlcihpbmZvLmNvbnRleHQsIGhhbGYpOwotICAgICAgICBQbGF0Zm9ybVN1cHBvcnQ6OnBh
aW50U3BpbkJ1dHRvbihkb3duUGFpbnRlci5jb250ZXh0KCksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRvd25UaGVtZURhdGEubV9wYXJ0LAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3duVGhlbWVEYXRhLm1fc3RhdGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25UaGVtZURhdGEubV9jbGFz
c2ljU3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25Q
YWludGVyLmRyYXdSZWN0KCkpOworICAgICAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0g
cGFpbnRlci5jb250ZXh0KCktPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKTsKKyAgICAgICAg
V2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFNwaW5CdXR0
b24oY2FudmFzLCBkb3duVGhlbWVEYXRhLm1fcGFydCwgZG93blRoZW1lRGF0YS5tX3N0YXRlLCBk
b3duVGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRlLCBXZWJLaXQ6OldlYlJlY3QoZG93blBhaW50ZXIu
ZHJhd1JlY3QoKSkpOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CkBAIC02NjUsNyArNjQz
LDggQEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpwYWludFByb2dyZQogICAgIGRvdWJs
ZSBhbmltYXRlZFNlY29uZHMgPSByZW5kZXJQcm9ncmVzcy0+YW5pbWF0aW9uU3RhcnRUaW1lKCkg
PyAgV1RGOjpjdXJyZW50VGltZSgpIC0gcmVuZGVyUHJvZ3Jlc3MtPmFuaW1hdGlvblN0YXJ0VGlt
ZSgpIDogMDsKICAgICBUaGVtZVBhaW50ZXIgcGFpbnRlcihpLmNvbnRleHQsIHIpOwogICAgIERp
cmVjdGlvbkZsaXBwaW5nU2NvcGUgc2NvcGUobywgaSwgcik7Ci0gICAgUGxhdGZvcm1TdXBwb3J0
OjpwYWludFByb2dyZXNzQmFyKHBhaW50ZXIuY29udGV4dCgpLCByLCB2YWx1ZVJlY3QsIHJlbmRl
clByb2dyZXNzLT5pc0RldGVybWluYXRlKCksIGFuaW1hdGVkU2Vjb25kcyk7CisgICAgV2ViS2l0
OjpXZWJDYW52YXMqIGNhbnZhcyA9IHBhaW50ZXIuY29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQo
KS0+Y2FudmFzKCk7CisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2lu
ZSgpLT5wYWludFByb2dyZXNzQmFyKGNhbnZhcywgV2ViS2l0OjpXZWJSZWN0KHIpLCBXZWJLaXQ6
OldlYlJlY3QodmFsdWVSZWN0KSwgcmVuZGVyUHJvZ3Jlc3MtPmlzRGV0ZXJtaW5hdGUoKSwgYW5p
bWF0ZWRTZWNvbmRzKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzY1MjcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEyLTA0ICBN
YXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1d
W1dpbl0gUmVtb3ZlIHRoZW1lLXJlbGF0ZWQgZnVuY3Rpb25zIGZyb20gUGxhdGZvcm1TdXBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI2OTkK
KworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIENhbGwgdGhlbWUg
ZW5naW5lIGRpcmVjdGx5IGluc3RlYWQgb2YgZ29pbmcgdGhyb3VnaAorICAgICAgICBQbGF0Zm9y
bVN1cHBvcnQuIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0cmFja2luZyBidWcg
ODI5NDguCisKKyAgICAgICAgKiBzcmMvUGxhdGZvcm1TdXBwb3J0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtU3VwcG9ydDo6cGx1Z2luU2NyaXB0YWJsZU9iamVjdCk6CisKIDIwMTIt
MTItMDQgIENoYXJsaWUgUmVpcyAgPGNyZWlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQg
RnJhbWVMb2FkZXJDbGllbnQ6OmRpZERpc293bk9wZW5lcgpJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCShyZXZpc2lvbiAxMzY1MjcpCisr
KyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01Niw0MCArNTYsMTAgQEAKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcu
aCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIKIAotI2lmIE9TKFdJTkRPV1MpCi0jaW5j
bHVkZSAicGxhdGZvcm0vV2ViUmVjdC5oIgotI2lmICFFTkFCTEUoREVGQVVMVF9SRU5ERVJfVEhF
TUUpCi0jaW5jbHVkZSA8cHVibGljL3dpbi9XZWJUaGVtZUVuZ2luZS5oPgotI2VuZGlmIC8vICFF
TkFCTEUoREVGQVVMVF9SRU5ERVJfVEhFTUUpCi0jZW5kaWYKLQotI2lmIEVOQUJMRShERUZBVUxU
X1JFTkRFUl9USEVNRSkKLSNpbmNsdWRlIDxwdWJsaWMvZGVmYXVsdC9XZWJUaGVtZUVuZ2luZS5o
PgotI2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0jaW5jbHVkZSA8cHVibGljL21hYy9XZWJUaGVt
ZUVuZ2luZS5oPgotI2VsaWYgT1MoVU5JWCkKLSNpbmNsdWRlICJXZWJGb250UmVuZGVyU3R5bGUu
aCIKLSNpZiBPUyhBTkRST0lEKQotI2luY2x1ZGUgPHB1YmxpYy9hbmRyb2lkL1dlYlRoZW1lRW5n
aW5lLmg+Ci0jZWxzZQotI2luY2x1ZGUgIldlYkZvbnRJbmZvLmgiCi0jaWYgIUVOQUJMRShERUZB
VUxUX1JFTkRFUl9USEVNRSkKLSNpbmNsdWRlIDxwdWJsaWMvbGludXgvV2ViVGhlbWVFbmdpbmUu
aD4KLSNlbmRpZiAvLyAhRU5BQkxFKERFRkFVTFRfUkVOREVSX1RIRU1FKQotI2VuZGlmIC8vIE9T
KEFORFJPSUQpCi0jZW5kaWYgLy8gZWxpZiBPUyhVTklYKQotCi0jaW5jbHVkZSAiTmF0aXZlSW1h
Z2VTa2lhLmgiCi0KLSNpbmNsdWRlICJCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIkZyYW1lVmll
dy5oIgotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIklEQkZhY3RvcnlC
YWNrZW5kUHJveHkuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50
ZWQuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRTa2lhLmgiCiAjaW5jbHVkZSAiUGx1Z2lu
RGF0YS5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogCkBAIC0xMjIsODkgKzkyLDYgQEAg
Ym9vbCBQbGF0Zm9ybVN1cHBvcnQ6OnBsdWdpbnMoYm9vbCByZWZyZQogICAgIHJldHVybiB0cnVl
OyAgLy8gRklYTUU6IFRoZXJlIGlzIG5vIG5lZWQgZm9yIHRoaXMgZnVuY3Rpb24gdG8gcmV0dXJu
IGEgdmFsdWUuCiB9CiAKLS8vIFRoZW1pbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotI2lmIE9TKFdJTkRPV1Mp
ICYmICFFTkFCTEUoREVGQVVMVF9SRU5ERVJfVEhFTUUpCi0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0
OjpwYWludEJ1dHRvbigKLSAgICBHcmFwaGljc0NvbnRleHQqIGdjLCBpbnQgcGFydCwgaW50IHN0
YXRlLCBpbnQgY2xhc3NpY1N0YXRlLAotICAgIGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAg
V2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludEJ1dHRvbigK
LSAgICAgICAgZ2MtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKSwgcGFydCwgc3RhdGUsIGNs
YXNzaWNTdGF0ZSwgcmVjdCk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWludE1lbnVM
aXN0KAotICAgIEdyYXBoaWNzQ29udGV4dCogZ2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBj
bGFzc2ljU3RhdGUsCi0gICAgY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBs
YXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50TWVudUxpc3QoCi0gICAgICAg
IGdjLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCksIHBhcnQsIHN0YXRlLCBjbGFzc2ljU3Rh
dGUsIHJlY3QpOwotfQotCi12b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTY3JvbGxiYXJBcnJv
dygKLSAgICBHcmFwaGljc0NvbnRleHQqIGdjLCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUs
Ci0gICAgY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJy
ZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50U2Nyb2xsYmFyQXJyb3coCi0gICAgICAgIGdjLT5w
bGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCksIHN0YXRlLCBjbGFzc2ljU3RhdGUsIHJlY3QpOwot
fQotCi12b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTY3JvbGxiYXJUaHVtYigKLSAgICBHcmFw
aGljc0NvbnRleHQqIGdjLCBpbnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLAot
ICAgIGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVu
dCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFNjcm9sbGJhclRodW1iKAotICAgICAgICBnYy0+cGxh
dGZvcm1Db250ZXh0KCktPmNhbnZhcygpLCBwYXJ0LCBzdGF0ZSwgY2xhc3NpY1N0YXRlLCByZWN0
KTsKLX0KLQotdm9pZCBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50U2Nyb2xsYmFyVHJhY2soCi0gICAg
R3JhcGhpY3NDb250ZXh0KiBnYywgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50IGNsYXNzaWNTdGF0
ZSwKLSAgICBjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBJbnRSZWN0JiBhbGlnblJlY3QpCi17
Ci0gICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFNj
cm9sbGJhclRyYWNrKAotICAgICAgICBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLCBw
YXJ0LCBzdGF0ZSwgY2xhc3NpY1N0YXRlLCByZWN0LAotICAgICAgICBhbGlnblJlY3QpOwotfQot
Ci12b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTcGluQnV0dG9uKAotICAgIEdyYXBoaWNzQ29u
dGV4dCogZ2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsCi0gICAgY29u
c3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRo
ZW1lRW5naW5lKCktPnBhaW50U3BpbkJ1dHRvbigKLSAgICAgICAgZ2MtPnBsYXRmb3JtQ29udGV4
dCgpLT5jYW52YXMoKSwgcGFydCwgc3RhdGUsIGNsYXNzaWNTdGF0ZSwgcmVjdCk7Ci19Ci0KLXZv
aWQgUGxhdGZvcm1TdXBwb3J0OjpwYWludFRleHRGaWVsZCgKLSAgICBHcmFwaGljc0NvbnRleHQq
IGdjLCBpbnQgcGFydCwgaW50IHN0YXRlLCBpbnQgY2xhc3NpY1N0YXRlLAotICAgIGNvbnN0IElu
dFJlY3QmIHJlY3QsIGNvbnN0IENvbG9yJiBjb2xvciwgYm9vbCBmaWxsQ29udGVudEFyZWEsCi0g
ICAgYm9vbCBkcmF3RWRnZXMpCi17Ci0gICAgLy8gRmFsbGJhY2sgdG8gd2hpdGUgd2hlbiB8Y29s
b3J8IGlzIGludmFsaWQuCi0gICAgUkdCQTMyIGJhY2tncm91bmRDb2xvciA9IGNvbG9yLmlzVmFs
aWQoKSA/IGNvbG9yLnJnYigpIDogQ29sb3I6OndoaXRlOwotCi0gICAgV2ViS2l0OjpQbGF0Zm9y
bTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFRleHRGaWVsZCgKLSAgICAgICAgZ2Mt
PnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKSwgcGFydCwgc3RhdGUsIGNsYXNzaWNTdGF0ZSwg
cmVjdCwKLSAgICAgICAgYmFja2dyb3VuZENvbG9yLCBmaWxsQ29udGVudEFyZWEsIGRyYXdFZGdl
cyk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWludFRyYWNrYmFyKAotICAgIEdyYXBo
aWNzQ29udGV4dCogZ2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsCi0g
ICAgY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50
KCktPnRoZW1lRW5naW5lKCktPnBhaW50VHJhY2tiYXIoCi0gICAgICAgIGdjLT5wbGF0Zm9ybUNv
bnRleHQoKS0+Y2FudmFzKCksIHBhcnQsIHN0YXRlLCBjbGFzc2ljU3RhdGUsIHJlY3QpOwotfQot
Ci12b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRQcm9ncmVzc0JhcigKLSAgICBHcmFwaGljc0Nv
bnRleHQqIGdjLCBjb25zdCBJbnRSZWN0JiBiYXJSZWN0LCBjb25zdCBJbnRSZWN0JiB2YWx1ZVJl
Y3QsIGJvb2wgZGV0ZXJtaW5hdGUsIGRvdWJsZSBhbmltYXRlZFNlY29uZHMpCi17Ci0gICAgV2Vi
S2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFByb2dyZXNzQmFy
KAotICAgICAgICBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLCBiYXJSZWN0LCB2YWx1
ZVJlY3QsIGRldGVybWluYXRlLCBhbmltYXRlZFNlY29uZHMpOwotfQotCi0jZW5kaWYKLQogLy8g
VGhlc2UgYXJlIHRlbXBvcmFyeSBtZXRob2RzIHRoYXQgdGhlIFdlYktpdCBsYXllciBjYW4gdXNl
IHRvIGNhbGwgdG8gdGhlCiAvLyBHbHVlIGxheWVyLiBPbmNlIHRoZSBHbHVlIGxheWVyIG1vdmVz
IGVudGlyZWx5IGludG8gdGhlIFdlYktpdCBsYXllciwgdGhlc2UKIC8vIG1ldGhvZHMgd2lsbCBi
ZSBkZWxldGVkLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178595</attachid>
            <date>2012-12-10 11:10:25 -0800</date>
            <delta_ts>2012-12-10 13:34:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102699-20121210140707.patch</filename>
            <type>text/plain</type>
            <size>17764</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNzE3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEyLTEwICBNYXJrIFBp
bGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dW1dpbl0g
UmVtb3ZlIHRoZW1lLXJlbGF0ZWQgZnVuY3Rpb25zIGZyb20gUGxhdGZvcm1TdXBwb3J0CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI2OTkKKworICAg
ICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIENhbGwgdGhlbWUgZW5naW5l
IGRpcmVjdGx5IGluc3RlYWQgb2YgZ29pbmcgdGhyb3VnaAorICAgICAgICBQbGF0Zm9ybVN1cHBv
cnQuIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0cmFja2luZyBidWcgODI5NDgu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAg
ICAgKFBsYXRmb3JtU3VwcG9ydCk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vU2Nyb2xs
YmFyVGhlbWVDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVt
ZUNocm9taXVtV2luOjpwYWludFRyYWNrUGllY2UpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
YmFyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRCdXR0b24pOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRCdXR0b24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRTbGlkZXJUcmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtV2luOjpwYWludFNsaWRlclRodW1iKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50TWVudUxpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRUZXh0Rmll
bGRJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9taXVtV2luOjpw
YWludElubmVyU3BpbkJ1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZUNocm9t
aXVtV2luOjpwYWludFByb2dyZXNzQmFyKToKKwogMjAxMi0xMi0xMCAgQ2hyaXMgRmxlaXphY2gg
IDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBDcmFzaCBpbiBOU0FjY2Vzc2li
aWxpdHlVbmlnbm9yZWREZXNjZW5kYW50CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtV2luLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TY3JvbGxiYXJUaGVtZUNocm9taXVtV2luLmNw
cAkocmV2aXNpb24gMTM3MTc5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
U2Nyb2xsYmFyVGhlbWVDaHJvbWl1bVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDkgKzM0
LDExIEBACiAjaW5jbHVkZSAiTGF5b3V0VGVzdFN1cHBvcnQuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bUNvbnRleHRTa2lhLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCi0jaW5jbHVk
ZSAiUGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAjaW5jbHVkZSAi
U3lzdGVtSW5mby5oIgorI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHB1
YmxpYy9XZWJSZWN0Lmg+CisjaW5jbHVkZSA8cHVibGljL3dpbi9XZWJUaGVtZUVuZ2luZS5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEwNCwxNCArMTA2LDEwIEBAIHZvaWQgU2Nyb2xs
YmFyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRUcmEKIAogICAgIEludFJlY3QgYWxpZ25SZWN0ID0g
dHJhY2tSZWN0KHNjcm9sbGJhciwgZmFsc2UpOwogCisgICAgV2ViS2l0OjpXZWJDYW52YXMqIGNh
bnZhcyA9IGdjLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCk7CiAgICAgLy8gRHJhdyB0aGUg
dHJhY2sgYXJlYSBiZWZvcmUvYWZ0ZXIgdGhlIHRodW1iIG9uIHRoZSBzY3JvbGwgYmFyLgotICAg
IFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTY3JvbGxiYXJUcmFjaygKLSAgICAgICAgZ2MsCi0gICAg
ICAgIHBhcnRJZCwKLSAgICAgICAgZ2V0VGhlbWVTdGF0ZShzY3JvbGxiYXIsIHBhcnRUeXBlKSwK
LSAgICAgICAgZ2V0Q2xhc3NpY1RoZW1lU3RhdGUoc2Nyb2xsYmFyLCBwYXJ0VHlwZSksCi0gICAg
ICAgIHJlY3QsCi0gICAgICAgIGFsaWduUmVjdCk7CisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3Vy
cmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFNjcm9sbGJhclRyYWNrKGNhbnZhcywgcGFydElk
LCBnZXRUaGVtZVN0YXRlKHNjcm9sbGJhciwgcGFydFR5cGUpLCBnZXRDbGFzc2ljVGhlbWVTdGF0
ZShzY3JvbGxiYXIsIHBhcnRUeXBlKSwgV2ViS2l0OjpXZWJSZWN0KHJlY3QpLCBXZWJLaXQ6Oldl
YlJlY3QoYWxpZ25SZWN0KSk7CisKIH0KIAogdm9pZCBTY3JvbGxiYXJUaGVtZUNocm9taXVtV2lu
OjpwYWludEJ1dHRvbihHcmFwaGljc0NvbnRleHQqIGdjLCBTY3JvbGxiYXJUaGVtZUNsaWVudCog
c2Nyb2xsYmFyLCBjb25zdCBJbnRSZWN0JiByZWN0LCBTY3JvbGxiYXJQYXJ0IHBhcnQpCkBAIC0x
MjQsMzMgKzEyMiwyMSBAQCB2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1XaW46OnBhaW50QnV0
CiAgICAgZWxzZQogICAgICAgICBwYXJ0SWQgPSBob3J6ID8gREZDU19TQ1JPTExSSUdIVCA6IERG
Q1NfU0NST0xMRE9XTjsKIAorICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBnYy0+cGxh
dGZvcm1Db250ZXh0KCktPmNhbnZhcygpOwogICAgIC8vIERyYXcgdGhlIHRodW1iICh0aGUgYm94
IHlvdSBkcmFnIGluIHRoZSBzY3JvbGwgYmFyIHRvIHNjcm9sbCkuCi0gICAgUGxhdGZvcm1TdXBw
b3J0OjpwYWludFNjcm9sbGJhckFycm93KAotICAgICAgICBnYywKLSAgICAgICAgZ2V0VGhlbWVB
cnJvd1N0YXRlKHNjcm9sbGJhciwgcGFydCksCi0gICAgICAgIHBhcnRJZCB8IGdldENsYXNzaWNU
aGVtZVN0YXRlKHNjcm9sbGJhciwgcGFydCksCi0gICAgICAgIHJlY3QpOworICAgIFdlYktpdDo6
UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRTY3JvbGxiYXJBcnJvdyhj
YW52YXMsIGdldFRoZW1lQXJyb3dTdGF0ZShzY3JvbGxiYXIsIHBhcnQpLCBwYXJ0SWQgfCBnZXRD
bGFzc2ljVGhlbWVTdGF0ZShzY3JvbGxiYXIsIHBhcnQpLCBXZWJLaXQ6OldlYlJlY3QocmVjdCkp
OwogfQogCiB2b2lkIFNjcm9sbGJhclRoZW1lQ2hyb21pdW1XaW46OnBhaW50VGh1bWIoR3JhcGhp
Y3NDb250ZXh0KiBnYywgU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhciwgY29uc3QgSW50
UmVjdCYgcmVjdCkKIHsKICAgICBib29sIGhvcnogPSBzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkg
PT0gSG9yaXpvbnRhbFNjcm9sbGJhcjsKIAorICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMg
PSBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOwogICAgIC8vIERyYXcgdGhlIHRodW1i
ICh0aGUgYm94IHlvdSBkcmFnIGluIHRoZSBzY3JvbGwgYmFyIHRvIHNjcm9sbCkuCi0gICAgUGxh
dGZvcm1TdXBwb3J0OjpwYWludFNjcm9sbGJhclRodW1iKAotICAgICAgICBnYywKLSAgICAgICAg
aG9yeiA/IFNCUF9USFVNQkJUTkhPUlogOiBTQlBfVEhVTUJCVE5WRVJULAotICAgICAgICBnZXRU
aGVtZVN0YXRlKHNjcm9sbGJhciwgVGh1bWJQYXJ0KSwKLSAgICAgICAgZ2V0Q2xhc3NpY1RoZW1l
U3RhdGUoc2Nyb2xsYmFyLCBUaHVtYlBhcnQpLAotICAgICAgICByZWN0KTsKKyAgICBXZWJLaXQ6
OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50U2Nyb2xsYmFyVGh1bWIo
Y2FudmFzLCBob3J6ID8gU0JQX1RIVU1CQlROSE9SWiA6IFNCUF9USFVNQkJUTlZFUlQsIGdldFRo
ZW1lU3RhdGUoc2Nyb2xsYmFyLCBUaHVtYlBhcnQpLCBnZXRDbGFzc2ljVGhlbWVTdGF0ZShzY3Jv
bGxiYXIsIFRodW1iUGFydCksIFdlYktpdDo6V2ViUmVjdChyZWN0KSk7CiAKICAgICAvLyBEcmF3
IHRoZSBncmlwcGVyICh0aGUgdGhyZWUgbGl0dGxlIGxpbmVzIG9uIHRoZSB0aHVtYikuCi0gICAg
UGxhdGZvcm1TdXBwb3J0OjpwYWludFNjcm9sbGJhclRodW1iKAotICAgICAgICBnYywKLSAgICAg
ICAgaG9yeiA/IFNCUF9HUklQUEVSSE9SWiA6IFNCUF9HUklQUEVSVkVSVCwKLSAgICAgICAgZ2V0
VGhlbWVTdGF0ZShzY3JvbGxiYXIsIFRodW1iUGFydCksCi0gICAgICAgIGdldENsYXNzaWNUaGVt
ZVN0YXRlKHNjcm9sbGJhciwgVGh1bWJQYXJ0KSwKLSAgICAgICAgcmVjdCk7CisgICAgV2ViS2l0
OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFNjcm9sbGJhclRodW1i
KGNhbnZhcywgaG9yeiA/IFNCUF9HUklQUEVSSE9SWiA6IFNCUF9HUklQUEVSVkVSVCwgZ2V0VGhl
bWVTdGF0ZShzY3JvbGxiYXIsIFRodW1iUGFydCksIGdldENsYXNzaWNUaGVtZVN0YXRlKHNjcm9s
bGJhciwgVGh1bWJQYXJ0KSwgV2ViS2l0OjpXZWJSZWN0KHJlY3QpKTsKIH0KIAogaW50IFNjcm9s
bGJhclRoZW1lQ2hyb21pdW1XaW46OmdldFRoZW1lU3RhdGUoU2Nyb2xsYmFyVGhlbWVDbGllbnQq
IHNjcm9sbGJhciwgU2Nyb2xsYmFyUGFydCBwYXJ0KSBjb25zdApJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmNwcAkocmV2aXNp
b24gMTM3MTc5KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21p
dW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiTGF5
b3V0VGVzdFN1cHBvcnQuaCIKICNpbmNsdWRlICJNZWRpYUNvbnRyb2xFbGVtZW50cy5oIgogI2lu
Y2x1ZGUgIlBhaW50SW5mby5oIgotI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgorI2luY2x1
ZGUgIlBsYXRmb3JtQ29udGV4dFNraWEuaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKICNpbmNs
dWRlICJSZW5kZXJQcm9ncmVzcy5oIgogI2luY2x1ZGUgIlJlbmRlclNsaWRlci5oIgpAQCAtNDYs
NiArNDYsMTAgQEAKICNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZS5oIgogI2luY2x1ZGUgIlN5c3Rl
bUluZm8uaCIKICNpbmNsdWRlICJUcmFuc3BhcmVuY3lXaW4uaCIKKyNpbmNsdWRlIDxwdWJsaWMv
UGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViQ29sb3IuaD4KKyNpbmNsdWRlIDxwdWJs
aWMvV2ViUmVjdC5oPgorI2luY2x1ZGUgPHB1YmxpYy93aW4vV2ViVGhlbWVFbmdpbmUuaD4KICNp
bmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KIAogCkBAIC0zMDQsMTEgKzMwOCw4IEBAIGJvb2wg
UmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRCdXR0b24KICAgICBjb25zdCBUaGVtZURhdGEm
IHRoZW1lRGF0YSA9IGdldFRoZW1lRGF0YShvKTsKIAogICAgIFRoZW1lUGFpbnRlciBwYWludGVy
KGkuY29udGV4dCwgcik7Ci0gICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludEJ1dHRvbihwYWludGVy
LmNvbnRleHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1f
cGFydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1fc3RhdGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFpbnRlci5kcmF3UmVjdCgpKTsK
KyAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0gcGFpbnRlci5jb250ZXh0KCktPnBsYXRm
b3JtQ29udGV4dCgpLT5jYW52YXMoKTsKKyAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCkt
PnRoZW1lRW5naW5lKCktPnBhaW50QnV0dG9uKGNhbnZhcywgdGhlbWVEYXRhLm1fcGFydCwgdGhl
bWVEYXRhLm1fc3RhdGUsIHRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0ZSwgV2ViS2l0OjpXZWJSZWN0
KHBhaW50ZXIuZHJhd1JlY3QoKSkpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtMzIyLDEx
ICszMjMsOCBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50U2xpZGVyCiAgICAg
Y29uc3QgVGhlbWVEYXRhJiB0aGVtZURhdGEgPSBnZXRUaGVtZURhdGEobyk7CiAKICAgICBUaGVt
ZVBhaW50ZXIgcGFpbnRlcihpLmNvbnRleHQsIHIpOwotICAgIFBsYXRmb3JtU3VwcG9ydDo6cGFp
bnRUcmFja2JhcihwYWludGVyLmNvbnRleHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0aGVtZURhdGEubV9wYXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRoZW1lRGF0YS5tX3N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYWludGVyLmRyYXdSZWN0KCkpOworICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMg
PSBwYWludGVyLmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOworICAgIFdl
YktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRUcmFja2Jhcihj
YW52YXMsIHRoZW1lRGF0YS5tX3BhcnQsIHRoZW1lRGF0YS5tX3N0YXRlLCB0aGVtZURhdGEubV9j
bGFzc2ljU3RhdGUsIFdlYktpdDo6V2ViUmVjdChwYWludGVyLmRyYXdSZWN0KCkpKTsKIAogI2lm
IEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHBhaW50U2xpZGVyVGlja3MobywgaSwgcik7
CkBAIC0zNDAsMTEgKzMzOCw4IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRT
bGlkZXIKICAgICBjb25zdCBUaGVtZURhdGEmIHRoZW1lRGF0YSA9IGdldFRoZW1lRGF0YShvKTsK
IAogICAgIFRoZW1lUGFpbnRlciBwYWludGVyKGkuY29udGV4dCwgcik7Ci0gICAgUGxhdGZvcm1T
dXBwb3J0OjpwYWludFRyYWNrYmFyKHBhaW50ZXIuY29udGV4dCgpLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0aGVtZURhdGEubV9wYXJ0LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aGVtZURhdGEubV9zdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGhlbWVEYXRhLm1fY2xhc3NpY1N0YXRlLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYWludGVyLmRyYXdSZWN0KCkpOworICAgIFdlYktpdDo6V2Vi
Q2FudmFzKiBjYW52YXMgPSBwYWludGVyLmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNh
bnZhcygpOworICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+
cGFpbnRUcmFja2JhcihjYW52YXMsIHRoZW1lRGF0YS5tX3BhcnQsIHRoZW1lRGF0YS5tX3N0YXRl
LCB0aGVtZURhdGEubV9jbGFzc2ljU3RhdGUsIFdlYktpdDo6V2ViUmVjdChwYWludGVyLmRyYXdS
ZWN0KCkpKTsKIAogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTM5OSwxMSArMzk0LDggQEAgYm9v
bCBSZW5kZXJUaGVtZUNocm9taXVtV2luOjpwYWludE1lbnVMaQogCiAgICAgLy8gR2V0IHRoZSBj
b3JyZWN0IHRoZW1lIGRhdGEgZm9yIGEgdGV4dGZpZWxkIGFuZCBwYWludCB0aGUgbWVudS4KICAg
ICBUaGVtZVBhaW50ZXIgcGFpbnRlcihpLmNvbnRleHQsIHJlY3QpOwotICAgIFBsYXRmb3JtU3Vw
cG9ydDo6cGFpbnRNZW51TGlzdChwYWludGVyLmNvbnRleHQoKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQ1BfRFJPUERPV05CVVRUT04sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRldGVybWluZVN0YXRlKG8pLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBkZXRlcm1pbmVDbGFzc2ljU3RhdGUobyksCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBhaW50ZXIuZHJhd1JlY3QoKSk7CisgICAgV2ViS2l0OjpXZWJD
YW52YXMqIGNhbnZhcyA9IHBhaW50ZXIuY29udGV4dCgpLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2Fu
dmFzKCk7CisgICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5w
YWludE1lbnVMaXN0KGNhbnZhcywgQ1BfRFJPUERPV05CVVRUT04sIGRldGVybWluZVN0YXRlKG8p
LCBkZXRlcm1pbmVDbGFzc2ljU3RhdGUobyksIFdlYktpdDo6V2ViUmVjdChwYWludGVyLmRyYXdS
ZWN0KCkpKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTU1Niw3ICs1NDgsNiBAQCBib29s
IFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50VGV4dEZpCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBkcmF3RWRnZXMpCiB7CiAgICAg
Ly8gRmFsbGJhY2sgdG8gd2hpdGUgaWYgdGhlIHNwZWNpZmllZCBjb2xvciBvYmplY3QgaXMgaW52
YWxpZC4KLSAgICAvLyAoTm90ZSBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50VGV4dEZpZWxkIGR1cGxp
Y2F0ZXMgdGhpcyBjaGVjaykuCiAgICAgQ29sb3IgYmFja2dyb3VuZENvbG9yKENvbG9yOjp3aGl0
ZSk7CiAgICAgaWYgKG8tPnN0eWxlKCktPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0
eUJhY2tncm91bmRDb2xvcikuaXNWYWxpZCgpKQogICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSBv
LT5zdHlsZSgpLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29s
b3IpOwpAQCAtNTgwLDE0ICs1NzEsOCBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBh
aW50VGV4dEZpCiAgICAgewogICAgICAgICBjb25zdCBUaGVtZURhdGEmIHRoZW1lRGF0YSA9IGdl
dFRoZW1lRGF0YShvKTsKICAgICAgICAgVGhlbWVQYWludGVyIHBhaW50ZXIoaS5jb250ZXh0LCBy
KTsKLSAgICAgICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFRleHRGaWVsZChwYWludGVyLmNvbnRl
eHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZURhdGEu
bV9wYXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lRGF0
YS5tX3N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1l
RGF0YS5tX2NsYXNzaWNTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYWludGVyLmRyYXdSZWN0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYmFja2dyb3VuZENvbG9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZpbGxDb250ZW50QXJlYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkcmF3RWRnZXMpOworICAgICAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFz
ID0gcGFpbnRlci5jb250ZXh0KCktPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKTsKKyAgICAg
ICAgV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT50aGVtZUVuZ2luZSgpLT5wYWludFRleHRG
aWVsZChjYW52YXMsIHRoZW1lRGF0YS5tX3BhcnQsIHRoZW1lRGF0YS5tX3N0YXRlLCB0aGVtZURh
dGEubV9jbGFzc2ljU3RhdGUsIFdlYktpdDo6V2ViUmVjdChwYWludGVyLmRyYXdSZWN0KCkpLCBi
YWNrZ3JvdW5kQ29sb3IucmdiKCksIGZpbGxDb250ZW50QXJlYSwgZHJhd0VkZ2VzKTsKICAgICAg
ICAgLy8gRW5kIG9mIGJsb2NrIGNvbW1pdHMgdGhlIHBhaW50ZXIgYmVmb3JlIHJlc3RvcmluZyBj
b250ZXh0LgogICAgIH0KICAgICBpZiAoby0+c3R5bGUoKS0+aGFzQm9yZGVyUmFkaXVzKCkpCkBA
IC02MTEsMjIgKzU5NiwxNiBAQCBib29sIFJlbmRlclRoZW1lQ2hyb21pdW1XaW46OnBhaW50SW5u
ZXJTCiAgICAgICAgIGhhbGYuc2V0SGVpZ2h0KHJlY3QuaGVpZ2h0KCkgLyAyKTsKICAgICAgICAg
Y29uc3QgVGhlbWVEYXRhJiB1cFRoZW1lRGF0YSA9IGdldFRoZW1lRGF0YShvYmplY3QsIFNwaW5C
dXR0b25VcCk7CiAgICAgICAgIFRoZW1lUGFpbnRlciB1cFBhaW50ZXIoaW5mby5jb250ZXh0LCBo
YWxmKTsKLSAgICAgICAgUGxhdGZvcm1TdXBwb3J0OjpwYWludFNwaW5CdXR0b24odXBQYWludGVy
LmNvbnRleHQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBU
aGVtZURhdGEubV9wYXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1cFRoZW1lRGF0YS5tX3N0YXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1cFRoZW1lRGF0YS5tX2NsYXNzaWNTdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdXBQYWludGVyLmRyYXdSZWN0KCkpOworICAgICAgICBXZWJL
aXQ6OldlYkNhbnZhcyogY2FudmFzID0gdXBQYWludGVyLmNvbnRleHQoKS0+cGxhdGZvcm1Db250
ZXh0KCktPmNhbnZhcygpOworICAgICAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRo
ZW1lRW5naW5lKCktPnBhaW50U3BpbkJ1dHRvbihjYW52YXMsIHVwVGhlbWVEYXRhLm1fcGFydCwg
dXBUaGVtZURhdGEubV9zdGF0ZSwgdXBUaGVtZURhdGEubV9jbGFzc2ljU3RhdGUsIFdlYktpdDo6
V2ViUmVjdCh1cFBhaW50ZXIuZHJhd1JlY3QoKSkpOwogICAgIH0KIAogICAgIHsKICAgICAgICAg
aGFsZi5zZXRZKHJlY3QueSgpICsgcmVjdC5oZWlnaHQoKSAvIDIpOwogICAgICAgICBjb25zdCBU
aGVtZURhdGEmIGRvd25UaGVtZURhdGEgPSBnZXRUaGVtZURhdGEob2JqZWN0LCBTcGluQnV0dG9u
RG93bik7CiAgICAgICAgIFRoZW1lUGFpbnRlciBkb3duUGFpbnRlcihpbmZvLmNvbnRleHQsIGhh
bGYpOwotICAgICAgICBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50U3BpbkJ1dHRvbihkb3duUGFpbnRl
ci5jb250ZXh0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRv
d25UaGVtZURhdGEubV9wYXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkb3duVGhlbWVEYXRhLm1fc3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRvd25UaGVtZURhdGEubV9jbGFzc2ljU3RhdGUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25QYWludGVyLmRyYXdSZWN0KCkpOworICAg
ICAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0gZG93blBhaW50ZXIuY29udGV4dCgpLT5w
bGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCk7CisgICAgICAgIFdlYktpdDo6UGxhdGZvcm06OmN1
cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRTcGluQnV0dG9uKGNhbnZhcywgZG93blRoZW1l
RGF0YS5tX3BhcnQsIGRvd25UaGVtZURhdGEubV9zdGF0ZSwgZG93blRoZW1lRGF0YS5tX2NsYXNz
aWNTdGF0ZSwgV2ViS2l0OjpXZWJSZWN0KGRvd25QYWludGVyLmRyYXdSZWN0KCkpKTsKICAgICB9
CiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtNjY1LDcgKzY0NCw4IEBAIGJvb2wgUmVuZGVyVGhl
bWVDaHJvbWl1bVdpbjo6cGFpbnRQcm9ncmUKICAgICBkb3VibGUgYW5pbWF0ZWRTZWNvbmRzID0g
cmVuZGVyUHJvZ3Jlc3MtPmFuaW1hdGlvblN0YXJ0VGltZSgpID8gIFdURjo6Y3VycmVudFRpbWUo
KSAtIHJlbmRlclByb2dyZXNzLT5hbmltYXRpb25TdGFydFRpbWUoKSA6IDA7CiAgICAgVGhlbWVQ
YWludGVyIHBhaW50ZXIoaS5jb250ZXh0LCByKTsKICAgICBEaXJlY3Rpb25GbGlwcGluZ1Njb3Bl
IHNjb3BlKG8sIGksIHIpOwotICAgIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRQcm9ncmVzc0Jhcihw
YWludGVyLmNvbnRleHQoKSwgciwgdmFsdWVSZWN0LCByZW5kZXJQcm9ncmVzcy0+aXNEZXRlcm1p
bmF0ZSgpLCBhbmltYXRlZFNlY29uZHMpOworICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMg
PSBwYWludGVyLmNvbnRleHQoKS0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpOworICAgIFdl
YktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRQcm9ncmVzc0Jh
cihjYW52YXMsIFdlYktpdDo6V2ViUmVjdChyKSwgV2ViS2l0OjpXZWJSZWN0KHZhbHVlUmVjdCks
IHJlbmRlclByb2dyZXNzLT5pc0RldGVybWluYXRlKCksIGFuaW1hdGVkU2Vjb25kcyk7CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNp
b24gMTM3MTc5KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMi0xMCAgTWFyayBQaWxncmltICA8cGlsZ3Jp
bUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXVtXaW5dIFJlbW92ZSB0aGVtZS1y
ZWxhdGVkIGZ1bmN0aW9ucyBmcm9tIFBsYXRmb3JtU3VwcG9ydAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNjk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBDYWxsIHRoZW1lIGVuZ2luZSBkaXJlY3RseSBpbnN0
ZWFkIG9mIGdvaW5nIHRocm91Z2gKKyAgICAgICAgUGxhdGZvcm1TdXBwb3J0LiBQYXJ0IG9mIGEg
cmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisgICAgICAgICog
c3JjL1BsYXRmb3JtU3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVN1cHBv
cnQ6OnBsdWdpblNjcmlwdGFibGVPYmplY3QpOgorCiAyMDEyLTEyLTEwICBNYXJrIFBpbGdyaW0g
IDxwaWxncmltQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIE1vdmUgZ2V0UGx1
Z2luc0xpc3Qgb3V0IG9mIFBsYXRmb3JtU3VwcG9ydApJbmRleDogU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvUGxhdGZvcm1TdXBwb3J0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCShyZXZpc2lvbiAxMzcxNzkpCisrKyBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybVN1cHBvcnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01NCw0MCArNTQsMTAgQEAKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcuaCIK
ICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIKIAotI2lmIE9TKFdJTkRPV1MpCi0jaW5jbHVk
ZSAicGxhdGZvcm0vV2ViUmVjdC5oIgotI2lmICFFTkFCTEUoREVGQVVMVF9SRU5ERVJfVEhFTUUp
Ci0jaW5jbHVkZSA8cHVibGljL3dpbi9XZWJUaGVtZUVuZ2luZS5oPgotI2VuZGlmIC8vICFFTkFC
TEUoREVGQVVMVF9SRU5ERVJfVEhFTUUpCi0jZW5kaWYKLQotI2lmIEVOQUJMRShERUZBVUxUX1JF
TkRFUl9USEVNRSkKLSNpbmNsdWRlIDxwdWJsaWMvZGVmYXVsdC9XZWJUaGVtZUVuZ2luZS5oPgot
I2VuZGlmCi0KLSNpZiBPUyhEQVJXSU4pCi0jaW5jbHVkZSA8cHVibGljL21hYy9XZWJUaGVtZUVu
Z2luZS5oPgotI2VsaWYgT1MoVU5JWCkKLSNpbmNsdWRlICJXZWJGb250UmVuZGVyU3R5bGUuaCIK
LSNpZiBPUyhBTkRST0lEKQotI2luY2x1ZGUgPHB1YmxpYy9hbmRyb2lkL1dlYlRoZW1lRW5naW5l
Lmg+Ci0jZWxzZQotI2luY2x1ZGUgIldlYkZvbnRJbmZvLmgiCi0jaWYgIUVOQUJMRShERUZBVUxU
X1JFTkRFUl9USEVNRSkKLSNpbmNsdWRlIDxwdWJsaWMvbGludXgvV2ViVGhlbWVFbmdpbmUuaD4K
LSNlbmRpZiAvLyAhRU5BQkxFKERFRkFVTFRfUkVOREVSX1RIRU1FKQotI2VuZGlmIC8vIE9TKEFO
RFJPSUQpCi0jZW5kaWYgLy8gZWxpZiBPUyhVTklYKQotCi0jaW5jbHVkZSAiTmF0aXZlSW1hZ2VT
a2lhLmgiCi0KLSNpbmNsdWRlICJCaXRtYXBJbWFnZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5o
IgotI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIklEQkZhY3RvcnlCYWNr
ZW5kUHJveHkuaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKLSNpbmNsdWRlICJQbGF0Zm9ybUNvbnRleHRTa2lhLmgiCiAjaW5jbHVkZSAiUGx1Z2luRGF0
YS5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogCkBAIC0xMTEsODcgKzgxLDQgQEAgUGFz
c1JlZlB0cjxJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4gUAogICAgIHJldHVybiBJREJGYWN0
b3J5QmFja2VuZFByb3h5OjpjcmVhdGUoKTsKIH0KIAotLy8gVGhlbWluZyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot
Ci0jaWYgT1MoV0lORE9XUykgJiYgIUVOQUJMRShERUZBVUxUX1JFTkRFUl9USEVNRSkKLQotdm9p
ZCBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50QnV0dG9uKAotICAgIEdyYXBoaWNzQ29udGV4dCogZ2Ms
IGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3RhdGUsCi0gICAgY29uc3QgSW50UmVj
dCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5l
KCktPnBhaW50QnV0dG9uKAotICAgICAgICBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygp
LCBwYXJ0LCBzdGF0ZSwgY2xhc3NpY1N0YXRlLCByZWN0KTsKLX0KLQotdm9pZCBQbGF0Zm9ybVN1
cHBvcnQ6OnBhaW50TWVudUxpc3QoCi0gICAgR3JhcGhpY3NDb250ZXh0KiBnYywgaW50IHBhcnQs
IGludCBzdGF0ZSwgaW50IGNsYXNzaWNTdGF0ZSwKLSAgICBjb25zdCBJbnRSZWN0JiByZWN0KQot
ewotICAgIFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRN
ZW51TGlzdCgKLSAgICAgICAgZ2MtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKSwgcGFydCwg
c3RhdGUsIGNsYXNzaWNTdGF0ZSwgcmVjdCk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0Ojpw
YWludFNjcm9sbGJhckFycm93KAotICAgIEdyYXBoaWNzQ29udGV4dCogZ2MsIGludCBzdGF0ZSwg
aW50IGNsYXNzaWNTdGF0ZSwKLSAgICBjb25zdCBJbnRSZWN0JiByZWN0KQotewotICAgIFdlYktp
dDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRTY3JvbGxiYXJBcnJv
dygKLSAgICAgICAgZ2MtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKSwgc3RhdGUsIGNsYXNz
aWNTdGF0ZSwgcmVjdCk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWludFNjcm9sbGJh
clRodW1iKAotICAgIEdyYXBoaWNzQ29udGV4dCogZ2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGlu
dCBjbGFzc2ljU3RhdGUsCi0gICAgY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBXZWJLaXQ6
OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50U2Nyb2xsYmFyVGh1bWIo
Ci0gICAgICAgIGdjLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCksIHBhcnQsIHN0YXRlLCBj
bGFzc2ljU3RhdGUsIHJlY3QpOwotfQotCi12b2lkIFBsYXRmb3JtU3VwcG9ydDo6cGFpbnRTY3Jv
bGxiYXJUcmFjaygKLSAgICBHcmFwaGljc0NvbnRleHQqIGdjLCBpbnQgcGFydCwgaW50IHN0YXRl
LCBpbnQgY2xhc3NpY1N0YXRlLAotICAgIGNvbnN0IEludFJlY3QmIHJlY3QsIGNvbnN0IEludFJl
Y3QmIGFsaWduUmVjdCkKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1l
RW5naW5lKCktPnBhaW50U2Nyb2xsYmFyVHJhY2soCi0gICAgICAgIGdjLT5wbGF0Zm9ybUNvbnRl
eHQoKS0+Y2FudmFzKCksIHBhcnQsIHN0YXRlLCBjbGFzc2ljU3RhdGUsIHJlY3QsCi0gICAgICAg
IGFsaWduUmVjdCk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWludFNwaW5CdXR0b24o
Ci0gICAgR3JhcGhpY3NDb250ZXh0KiBnYywgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50IGNsYXNz
aWNTdGF0ZSwKLSAgICBjb25zdCBJbnRSZWN0JiByZWN0KQotewotICAgIFdlYktpdDo6UGxhdGZv
cm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRTcGluQnV0dG9uKAotICAgICAgICBn
Yy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLCBwYXJ0LCBzdGF0ZSwgY2xhc3NpY1N0YXRl
LCByZWN0KTsKLX0KLQotdm9pZCBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50VGV4dEZpZWxkKAotICAg
IEdyYXBoaWNzQ29udGV4dCogZ2MsIGludCBwYXJ0LCBpbnQgc3RhdGUsIGludCBjbGFzc2ljU3Rh
dGUsCi0gICAgY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgQ29sb3ImIGNvbG9yLCBib29sIGZp
bGxDb250ZW50QXJlYSwKLSAgICBib29sIGRyYXdFZGdlcykKLXsKLSAgICAvLyBGYWxsYmFjayB0
byB3aGl0ZSB3aGVuIHxjb2xvcnwgaXMgaW52YWxpZC4KLSAgICBSR0JBMzIgYmFja2dyb3VuZENv
bG9yID0gY29sb3IuaXNWYWxpZCgpID8gY29sb3IucmdiKCkgOiBDb2xvcjo6d2hpdGU7Ci0KLSAg
ICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCktPnBhaW50VGV4dEZp
ZWxkKAotICAgICAgICBnYy0+cGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLCBwYXJ0LCBzdGF0
ZSwgY2xhc3NpY1N0YXRlLCByZWN0LAotICAgICAgICBiYWNrZ3JvdW5kQ29sb3IsIGZpbGxDb250
ZW50QXJlYSwgZHJhd0VkZ2VzKTsKLX0KLQotdm9pZCBQbGF0Zm9ybVN1cHBvcnQ6OnBhaW50VHJh
Y2tiYXIoCi0gICAgR3JhcGhpY3NDb250ZXh0KiBnYywgaW50IHBhcnQsIGludCBzdGF0ZSwgaW50
IGNsYXNzaWNTdGF0ZSwKLSAgICBjb25zdCBJbnRSZWN0JiByZWN0KQotewotICAgIFdlYktpdDo6
UGxhdGZvcm06OmN1cnJlbnQoKS0+dGhlbWVFbmdpbmUoKS0+cGFpbnRUcmFja2JhcigKLSAgICAg
ICAgZ2MtPnBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKSwgcGFydCwgc3RhdGUsIGNsYXNzaWNT
dGF0ZSwgcmVjdCk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdXBwb3J0OjpwYWludFByb2dyZXNzQmFy
KAotICAgIEdyYXBoaWNzQ29udGV4dCogZ2MsIGNvbnN0IEludFJlY3QmIGJhclJlY3QsIGNvbnN0
IEludFJlY3QmIHZhbHVlUmVjdCwgYm9vbCBkZXRlcm1pbmF0ZSwgZG91YmxlIGFuaW1hdGVkU2Vj
b25kcykKLXsKLSAgICBXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPnRoZW1lRW5naW5lKCkt
PnBhaW50UHJvZ3Jlc3NCYXIoCi0gICAgICAgIGdjLT5wbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFz
KCksIGJhclJlY3QsIHZhbHVlUmVjdCwgZGV0ZXJtaW5hdGUsIGFuaW1hdGVkU2Vjb25kcyk7Ci19
Ci0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>