<?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>28399</bug_id>
          
          <creation_ts>2009-08-17 10:48:54 -0700</creation_ts>
          <short_desc>Use OwnPtr for GraphicsLayers</short_desc>
          <delta_ts>2009-08-17 17:42:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>140757</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-08-17 10:48:54 -0700</bug_when>
    <thetext>We should use OwnPtr for GraphicsLayers, to avoid the need for manual deletion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140759</commentid>
    <comment_count>1</comment_count>
      <attachid>34977</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-08-17 10:50:22 -0700</bug_when>
    <thetext>Created attachment 34977
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140775</commentid>
    <comment_count>2</comment_count>
      <attachid>34977</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-17 11:23:53 -0700</bug_when>
    <thetext>Comment on attachment 34977
Patch

no need for .get()-&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140777</commentid>
    <comment_count>3</comment_count>
      <attachid>34980</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-08-17 11:26:32 -0700</bug_when>
    <thetext>Created attachment 34980
New patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140779</commentid>
    <comment_count>4</comment_count>
      <attachid>34980</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-17 11:28:02 -0700</bug_when>
    <thetext>Comment on attachment 34980
New patch

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>140925</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-08-17 17:42:14 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/47370</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34977</attachid>
            <date>2009-08-17 10:50:22 -0700</date>
            <delta_ts>2009-08-17 11:26:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>28399_patch.txt</filename>
            <type>text/plain</type>
            <size>14190</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzA0NTc3Ni4uOTE1M2VkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAwOS0wOC0xNyAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVc2UgT3duUHRycyBmb3IgR3JhcGhpY3NMYXllcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4Mzk5CisKKyAgICAg
ICAgQ29udmVydCBSZW5kZXJMYXllckJhY2tpbmcgYW5kIFJlbmRlckxheWVyQ29tcG9zaXRvciB0
byB1c2UgT3duUHRycworICAgICAgICBmb3IgdGhlaXIgcmVmZXJlbmNlcyB0byBHcmFwaGljc0xh
eWVycy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6Y3JlYXRlKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFj
a2luZzo6UmVuZGVyTGF5ZXJCYWNraW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
QmFja2luZzo6Y3JlYXRlR3JhcGhpY3NMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckJhY2tpbmc6OmRlc3Ryb3lHcmFwaGljc0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVDbGlwcGluZ0xheWVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUZvcmVncm91
bmRMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRl
bnRzTmVlZERpc3BsYXlJblJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6Z3JhcGhpY3NM
YXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmNsaXBwaW5nTGF5
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjphbmNlc3RvckNsaXBw
aW5nTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpmb3JlZ3Jv
dW5kTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYXJlbnRG
b3JTdWJsYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpjaGls
ZEZvclN1cGVybGF5ZXJzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6flJlbmRl
ckxheWVyQ29tcG9zaXRvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnJvb3RQbGF0Zm9ybUxheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29t
cG9zaXRvcjo6ZGlkTW92ZU9uc2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6ZW5zdXJlUm9vdFBsYXRmb3JtTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpkZXN0cm95Um9vdFBsYXRmb3JtTGF5ZXIpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKwogMjAwOS0wOC0xNyAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdl
aW5pZy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggNGQ3
NjY4YS4uODQ3NDE3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgog
I2luY2x1ZGUgIlRyYW5zZm9ybU9wZXJhdGlvbnMuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNpZmRl
ZiBfX09CSkNfXwpAQCAtMTUyLDcgKzE1Myw3IEBAIHByb3RlY3RlZDoKIGNsYXNzIEdyYXBoaWNz
TGF5ZXIgewogcHVibGljOgogCi0gICAgc3RhdGljIEdyYXBoaWNzTGF5ZXIqIGNyZWF0ZUdyYXBo
aWNzTGF5ZXIoR3JhcGhpY3NMYXllckNsaWVudCopOworICAgIHN0YXRpYyBQYXNzT3duUHRyPEdy
YXBoaWNzTGF5ZXI+IGNyZWF0ZShHcmFwaGljc0xheWVyQ2xpZW50Kik7CiAgICAgCiAgICAgdmly
dHVhbCB+R3JhcGhpY3NMYXllcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9HcmFwaGljc0xheWVyQ0EubW0gYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9HcmFwaGljc0xheWVyQ0EubW0KaW5kZXggZTViOTAzNS4uNjQ0NWJjZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLm1tCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzTGF5ZXJDQS5tbQpAQCAtMzMx
LDcgKzMzMSw3IEBAIHN0YXRpYyBOU0RpY3Rpb25hcnkqIG51bGxBY3Rpb25zRGljdGlvbmFyeSgp
CiAgICAgcmV0dXJuIGFjdGlvbnM7CiB9CiAKLUdyYXBoaWNzTGF5ZXIqIEdyYXBoaWNzTGF5ZXI6
OmNyZWF0ZUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQorUGFzc093
blB0cjxHcmFwaGljc0xheWVyPiBHcmFwaGljc0xheWVyOjpjcmVhdGUoR3JhcGhpY3NMYXllckNs
aWVudCogY2xpZW50KQogewogICAgIHJldHVybiBuZXcgR3JhcGhpY3NMYXllckNBKGNsaWVudCk7
CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBlOThjNDU4
Li5mNzdjNTYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAg
LTUzLDEwICs1Myw2IEBAIHN0YXRpYyBib29sIGhhc0JveERlY29yYXRpb25zV2l0aEJhY2tncm91
bmRJbWFnZShjb25zdCBSZW5kZXJTdHlsZSopOwogCiBSZW5kZXJMYXllckJhY2tpbmc6OlJlbmRl
ckxheWVyQmFja2luZyhSZW5kZXJMYXllciogbGF5ZXIpCiAgICAgOiBtX293bmluZ0xheWVyKGxh
eWVyKQotICAgICwgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIoMCkKLSAgICAsIG1fZ3JhcGhpY3NM
YXllcigwKQotICAgICwgbV9mb3JlZ3JvdW5kTGF5ZXIoMCkKLSAgICAsIG1fY2xpcHBpbmdMYXll
cigwKQogICAgICwgbV9oYXNEaXJlY3RseUNvbXBvc2l0ZWRDb250ZW50KGZhbHNlKQogewogICAg
IGNyZWF0ZUdyYXBoaWNzTGF5ZXIoKTsKQEAgLTcxLDcgKzY3LDcgQEAgUmVuZGVyTGF5ZXJCYWNr
aW5nOjp+UmVuZGVyTGF5ZXJCYWNraW5nKCkKIAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmNy
ZWF0ZUdyYXBoaWNzTGF5ZXIoKQogewotICAgIG1fZ3JhcGhpY3NMYXllciA9IEdyYXBoaWNzTGF5
ZXI6OmNyZWF0ZUdyYXBoaWNzTGF5ZXIodGhpcyk7CisgICAgbV9ncmFwaGljc0xheWVyID0gR3Jh
cGhpY3NMYXllcjo6Y3JlYXRlKHRoaXMpOwogICAgIAogI2lmbmRlZiBOREVCVUcKICAgICBpZiAo
cmVuZGVyZXIoKS0+bm9kZSgpKSB7CkBAIC05NiwxMyArOTIsOCBAQCB2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6ZGVzdHJveUdyYXBoaWNzTGF5ZXIoKQogICAgIGlmIChtX2dyYXBoaWNzTGF5ZXIp
CiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwogCi0gICAgZGVs
ZXRlIG1fZ3JhcGhpY3NMYXllcjsKICAgICBtX2dyYXBoaWNzTGF5ZXIgPSAwOwotCi0gICAgZGVs
ZXRlIG1fZm9yZWdyb3VuZExheWVyOwogICAgIG1fZm9yZWdyb3VuZExheWVyID0gMDsKLQotICAg
IGRlbGV0ZSBtX2NsaXBwaW5nTGF5ZXI7CiAgICAgbV9jbGlwcGluZ0xheWVyID0gMDsKIH0KIApA
QCAtMjI2LDEyICsyMTcsMTIgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBo
aWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgIG1fb3duaW5nTGF5ZXItPnBhcmVudENsaXBSZWN0
cyhjb21wQW5jZXN0b3IsIHBhcmVudFJlY3RzLCB0cnVlKTsKICAgICAgICAgSW50UmVjdCBwYXJl
bnRDbGlwUmVjdCA9IHBhcmVudFJlY3RzLm92ZXJmbG93Q2xpcFJlY3QoKTsKICAgICAgICAgCi0g
ICAgICAgIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KCkg
KyAocGFyZW50Q2xpcFJlY3QubG9jYXRpb24oKSAtIGdyYXBoaWNzTGF5ZXJQYXJlbnRMb2NhdGlv
bikpOwotICAgICAgICBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllci0+c2V0U2l6ZShwYXJlbnRDbGlw
UmVjdC5zaXplKCkpOworICAgICAgICBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllci5nZXQoKS0+c2V0
UG9zaXRpb24oRmxvYXRQb2ludCgpICsgKHBhcmVudENsaXBSZWN0LmxvY2F0aW9uKCkgLSBncmFw
aGljc0xheWVyUGFyZW50TG9jYXRpb24pKTsKKyAgICAgICAgbV9hbmNlc3RvckNsaXBwaW5nTGF5
ZXIuZ2V0KCktPnNldFNpemUocGFyZW50Q2xpcFJlY3Quc2l6ZSgpKTsKIAogICAgICAgICAvLyBi
YWNrZ3JvdW5kUmVjdCBpcyByZWxhdGl2ZSB0byBjb21wQW5jZXN0b3IsIHNvIHN1YnRyYWN0IGRl
bHRhWC9kZWx0YVkgdG8gZ2V0IGJhY2sgdG8gbG9jYWwgY29vcmRzLgogICAgICAgICBJbnRTaXpl
IHJlbmRlcmVyT2Zmc2V0KHBhcmVudENsaXBSZWN0LmxvY2F0aW9uKCkueCgpIC0gZGVsdGFYLCBw
YXJlbnRDbGlwUmVjdC5sb2NhdGlvbigpLnkoKSAtIGRlbHRhWSk7Ci0gICAgICAgIG1fYW5jZXN0
b3JDbGlwcGluZ0xheWVyLT5zZXRPZmZzZXRGcm9tUmVuZGVyZXIocmVuZGVyZXJPZmZzZXQpOwor
ICAgICAgICBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllci5nZXQoKS0+c2V0T2Zmc2V0RnJvbVJlbmRl
cmVyKHJlbmRlcmVyT2Zmc2V0KTsKIAogICAgICAgICAvLyBUaGUgcHJpbWFyeSBsYXllciBpcyB0
aGVuIHBhcmVudGVkIGluLCBhbmQgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGlzIGNsaXBwaW5n
IGxheWVyLgogICAgICAgICBncmFwaGljc0xheWVyUGFyZW50TG9jYXRpb24gPSBwYXJlbnRDbGlw
UmVjdC5sb2NhdGlvbigpOwpAQCAtMzA5LDE0ICszMDAsMTQgQEAgdm9pZCBSZW5kZXJMYXllckJh
Y2tpbmc6OnVwZGF0ZUludGVybmFsSGllcmFyY2h5KCkKICAgICAvLyBtX2ZvcmVncm91bmRMYXll
ciBoYXMgdG8gYmUgaW5zZXJ0ZWQgaW4gdGhlIGNvcnJlY3Qgb3JkZXIgd2l0aCBjaGlsZCBsYXll
cnMsCiAgICAgLy8gc28gaXQncyBub3QgaW5zZXJ0ZWQgaGVyZS4KICAgICBpZiAobV9hbmNlc3Rv
ckNsaXBwaW5nTGF5ZXIpIHsKLSAgICAgICAgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXItPnJlbW92
ZUFsbENoaWxkcmVuKCk7CisgICAgICAgIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyLmdldCgpLT5y
ZW1vdmVBbGxDaGlsZHJlbigpOwogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnJlbW92ZUZyb21Q
YXJlbnQoKTsKLSAgICAgICAgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXItPmFkZENoaWxkKG1fZ3Jh
cGhpY3NMYXllcik7CisgICAgICAgIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyLmdldCgpLT5hZGRD
aGlsZChtX2dyYXBoaWNzTGF5ZXIuZ2V0KCkpOwogICAgIH0KIAogICAgIGlmIChtX2NsaXBwaW5n
TGF5ZXIpIHsKICAgICAgICAgbV9jbGlwcGluZ0xheWVyLT5yZW1vdmVGcm9tUGFyZW50KCk7Ci0g
ICAgICAgIG1fZ3JhcGhpY3NMYXllci0+YWRkQ2hpbGQobV9jbGlwcGluZ0xheWVyKTsKKyAgICAg
ICAgbV9ncmFwaGljc0xheWVyLT5hZGRDaGlsZChtX2NsaXBwaW5nTGF5ZXIuZ2V0KCkpOwogICAg
IH0KIH0KIApAQCAtMzI3LDcgKzMxOCw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRh
dGVDbGlwcGluZ0xheWVycyhib29sIG5lZWRzQW5jZXN0b3JDbGlwLCBib29sIG5lZWRzCiAKICAg
ICBpZiAobmVlZHNBbmNlc3RvckNsaXApIHsKICAgICAgICAgaWYgKCFtX2FuY2VzdG9yQ2xpcHBp
bmdMYXllcikgewotICAgICAgICAgICAgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIgPSBHcmFwaGlj
c0xheWVyOjpjcmVhdGVHcmFwaGljc0xheWVyKHRoaXMpOworICAgICAgICAgICAgbV9hbmNlc3Rv
ckNsaXBwaW5nTGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUodGhpcyk7CiAjaWZuZGVmIE5E
RUJVRwogICAgICAgICAgICAgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXItPnNldE5hbWUoIkFuY2Vz
dG9yIGNsaXBwaW5nIExheWVyIik7CiAjZW5kaWYKQEAgLTMzNiwxNCArMzI3LDEzIEBAIGJvb2wg
UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVDbGlwcGluZ0xheWVycyhib29sIG5lZWRzQW5jZXN0
b3JDbGlwLCBib29sIG5lZWRzCiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG1fYW5jZXN0b3JD
bGlwcGluZ0xheWVyKSB7CiAgICAgICAgIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyLT5yZW1vdmVG
cm9tUGFyZW50KCk7Ci0gICAgICAgIGRlbGV0ZSBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllcjsKICAg
ICAgICAgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIgPSAwOwogICAgICAgICBsYXllcnNDaGFuZ2Vk
ID0gdHJ1ZTsKICAgICB9CiAgICAgCiAgICAgaWYgKG5lZWRzRGVzY2VuZGFudENsaXApIHsKICAg
ICAgICAgaWYgKCFtX2NsaXBwaW5nTGF5ZXIpIHsKLSAgICAgICAgICAgIG1fY2xpcHBpbmdMYXll
ciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZUdyYXBoaWNzTGF5ZXIoMCk7CisgICAgICAgICAgICBt
X2NsaXBwaW5nTGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUoMCk7CiAjaWZuZGVmIE5ERUJV
RwogICAgICAgICAgICAgbV9jbGlwcGluZ0xheWVyLT5zZXROYW1lKCJDaGlsZCBjbGlwcGluZyBM
YXllciIpOwogI2VuZGlmCkBAIC0zNTIsNyArMzQyLDYgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tp
bmc6OnVwZGF0ZUNsaXBwaW5nTGF5ZXJzKGJvb2wgbmVlZHNBbmNlc3RvckNsaXAsIGJvb2wgbmVl
ZHMKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAobV9jbGlwcGluZ0xheWVyKSB7CiAgICAgICAg
IG1fY2xpcHBpbmdMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwotICAgICAgICBkZWxldGUgbV9j
bGlwcGluZ0xheWVyOwogICAgICAgICBtX2NsaXBwaW5nTGF5ZXIgPSAwOwogICAgICAgICBsYXll
cnNDaGFuZ2VkID0gdHJ1ZTsKICAgICB9CkBAIC0zNjgsNyArMzU3LDcgQEAgYm9vbCBSZW5kZXJM
YXllckJhY2tpbmc6OnVwZGF0ZUZvcmVncm91bmRMYXllcihib29sIG5lZWRzRm9yZWdyb3VuZExh
eWVyKQogICAgIGJvb2wgbGF5ZXJDaGFuZ2VkID0gZmFsc2U7CiAgICAgaWYgKG5lZWRzRm9yZWdy
b3VuZExheWVyKSB7CiAgICAgICAgIGlmICghbV9mb3JlZ3JvdW5kTGF5ZXIpIHsKLSAgICAgICAg
ICAgIG1fZm9yZWdyb3VuZExheWVyID0gR3JhcGhpY3NMYXllcjo6Y3JlYXRlR3JhcGhpY3NMYXll
cih0aGlzKTsKKyAgICAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyID0gR3JhcGhpY3NMYXllcjo6
Y3JlYXRlKHRoaXMpOwogI2lmbmRlZiBOREVCVUcKICAgICAgICAgICAgIG1fZm9yZWdyb3VuZExh
eWVyLT5zZXROYW1lKCJDb250ZW50cyIpOwogI2VuZGlmCkBAIC0zNzksNyArMzY4LDYgQEAgYm9v
bCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUZvcmVncm91bmRMYXllcihib29sIG5lZWRzRm9y
ZWdyb3VuZExheWVyKQogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChtX2ZvcmVncm91bmRMYXll
cikgewogICAgICAgICBtX2ZvcmVncm91bmRMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwotICAg
ICAgICBkZWxldGUgbV9mb3JlZ3JvdW5kTGF5ZXI7CiAgICAgICAgIG1fZm9yZWdyb3VuZExheWVy
ID0gMDsKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXREcmF3aW5nUGhhc2UoR3JhcGhpY3NM
YXllclBhaW50QWxsTWFzayk7CiAgICAgICAgIGxheWVyQ2hhbmdlZCA9IHRydWU7CkBAIC03MTEs
NyArNjk5LDcgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3Bs
YXkoKQogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXlJblJl
Y3QoY29uc3QgSW50UmVjdCYgcikKIHsKICAgICBpZiAobV9ncmFwaGljc0xheWVyICYmIG1fZ3Jh
cGhpY3NMYXllci0+ZHJhd3NDb250ZW50KCkpIHsKLSAgICAgICAgRmxvYXRQb2ludCBkaXJ0eU9y
aWdpbiA9IGNvbnRlbnRzVG9HcmFwaGljc0xheWVyQ29vcmRpbmF0ZXMobV9ncmFwaGljc0xheWVy
LCBGbG9hdFBvaW50KHIueCgpLCByLnkoKSkpOworICAgICAgICBGbG9hdFBvaW50IGRpcnR5T3Jp
Z2luID0gY29udGVudHNUb0dyYXBoaWNzTGF5ZXJDb29yZGluYXRlcyhtX2dyYXBoaWNzTGF5ZXIu
Z2V0KCksIEZsb2F0UG9pbnQoci54KCksIHIueSgpKSk7CiAgICAgICAgIEZsb2F0UmVjdCBkaXJ0
eVJlY3QoZGlydHlPcmlnaW4sIHIuc2l6ZSgpKTsKICAgICAgICAgRmxvYXRSZWN0IGJvdW5kcyhG
bG9hdFBvaW50KCksIG1fZ3JhcGhpY3NMYXllci0+c2l6ZSgpKTsKICAgICAgICAgaWYgKGJvdW5k
cy5pbnRlcnNlY3RzKGRpcnR5UmVjdCkpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckJhY2tpbmcuaCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5oCmluZGV4IGIwMjc2ODUuLjg1NTVkYzggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQmFja2luZy5oCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5oCkBAIC02MywyMSArNjMsMjEgQEAgcHVibGljOgogICAgIC8vIFVwZGF0ZSBjb250
ZW50cyBhbmQgY2xpcHBpbmcgc3RydWN0dXJlLgogICAgIHZvaWQgdXBkYXRlSW50ZXJuYWxIaWVy
YXJjaHkoKTsgLy8gbWFrZSBwcml2YXRlCiAgICAgCi0gICAgR3JhcGhpY3NMYXllciogZ3JhcGhp
Y3NMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fZ3JhcGhpY3NMYXllcjsgfQorICAgIEdyYXBoaWNz
TGF5ZXIqIGdyYXBoaWNzTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2dyYXBoaWNzTGF5ZXIuZ2V0
KCk7IH0KIAogICAgIC8vIExheWVyIHRvIGNsaXAgY2hpbGRyZW4KICAgICBib29sIGhhc0NsaXBw
aW5nTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2NsaXBwaW5nTGF5ZXIgIT0gMDsgfQotICAgIEdy
YXBoaWNzTGF5ZXIqIGNsaXBwaW5nTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2NsaXBwaW5nTGF5
ZXI7IH0KKyAgICBHcmFwaGljc0xheWVyKiBjbGlwcGluZ0xheWVyKCkgY29uc3QgeyByZXR1cm4g
bV9jbGlwcGluZ0xheWVyLmdldCgpOyB9CiAKICAgICAvLyBMYXllciB0byBnZXQgY2xpcHBlZCBi
eSBhbmNlc3RvcgogICAgIGJvb2wgaGFzQW5jZXN0b3JDbGlwcGluZ0xheWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIgIT0gMDsgfQotICAgIEdyYXBoaWNzTGF5ZXIq
IGFuY2VzdG9yQ2xpcHBpbmdMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fYW5jZXN0b3JDbGlwcGlu
Z0xheWVyOyB9CisgICAgR3JhcGhpY3NMYXllciogYW5jZXN0b3JDbGlwcGluZ0xheWVyKCkgY29u
c3QgeyByZXR1cm4gbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIuZ2V0KCk7IH0KIAogICAgIGJvb2wg
aGFzQ29udGVudHNMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fZm9yZWdyb3VuZExheWVyICE9IDA7
IH0KLSAgICBHcmFwaGljc0xheWVyKiBmb3JlZ3JvdW5kTGF5ZXIoKSBjb25zdCB7IHJldHVybiBt
X2ZvcmVncm91bmRMYXllcjsgfQorICAgIEdyYXBoaWNzTGF5ZXIqIGZvcmVncm91bmRMYXllcigp
IGNvbnN0IHsgcmV0dXJuIG1fZm9yZWdyb3VuZExheWVyLmdldCgpOyB9CiAgICAgCi0gICAgR3Jh
cGhpY3NMYXllciogcGFyZW50Rm9yU3VibGF5ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9jbGlwcGlu
Z0xheWVyID8gbV9jbGlwcGluZ0xheWVyIDogbV9ncmFwaGljc0xheWVyOyB9Ci0gICAgR3JhcGhp
Y3NMYXllciogY2hpbGRGb3JTdXBlcmxheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fYW5jZXN0b3JD
bGlwcGluZ0xheWVyID8gbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIgOiBtX2dyYXBoaWNzTGF5ZXI7
IH0KKyAgICBHcmFwaGljc0xheWVyKiBwYXJlbnRGb3JTdWJsYXllcnMoKSBjb25zdCB7IHJldHVy
biBtX2NsaXBwaW5nTGF5ZXIgPyBtX2NsaXBwaW5nTGF5ZXIuZ2V0KCkgOiBtX2dyYXBoaWNzTGF5
ZXIuZ2V0KCk7IH0KKyAgICBHcmFwaGljc0xheWVyKiBjaGlsZEZvclN1cGVybGF5ZXJzKCkgY29u
c3QgeyByZXR1cm4gbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIgPyBtX2FuY2VzdG9yQ2xpcHBpbmdM
YXllci5nZXQoKSA6IG1fZ3JhcGhpY3NMYXllci5nZXQoKTsgfQogCiAgICAgLy8gUmVuZGVyTGF5
ZXJzIHdpdGggYmFja2luZyBub3JtYWxseSBzaG9ydC1jaXJjdWl0IHBhaW50TGF5ZXIoKSBiZWNh
dXNlCiAgICAgLy8gdGhlaXIgY29udGVudCBpcyByZW5kZXJlZCB2aWEgY2FsbGJhY2tzIGZyb20g
R3JhcGhpY3NMYXllci4gSG93ZXZlciwgdGhlIGRvY3VtZW50CkBAIC0xNjIsMTAgKzE2MiwxMCBA
QCBwcml2YXRlOgogcHJpdmF0ZToKICAgICBSZW5kZXJMYXllciogbV9vd25pbmdMYXllcjsKIAot
ICAgIEdyYXBoaWNzTGF5ZXIqIG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyOyAvLyBvbmx5IHVzZWQg
aWYgd2UgYXJlIGNsaXBwZWQgYnkgYW4gYW5jZXN0b3Igd2hpY2ggaXMgbm90IGEgc3RhY2tpbmcg
Y29udGV4dAotICAgIEdyYXBoaWNzTGF5ZXIqIG1fZ3JhcGhpY3NMYXllcjsKLSAgICBHcmFwaGlj
c0xheWVyKiBtX2ZvcmVncm91bmRMYXllcjsgICAgICAgLy8gb25seSB1c2VkIGluIGNhc2VzIHdo
ZXJlIHdlIG5lZWQgdG8gZHJhdyB0aGUgZm9yZWdyb3VuZCBzZXBhcmF0ZWx5Ci0gICAgR3JhcGhp
Y3NMYXllciogbV9jbGlwcGluZ0xheWVyOyAgICAgICAgIC8vIG9ubHkgdXNlZCBpZiB3ZSBoYXZl
IGNsaXBwaW5nIG9uIGEgc3RhY2tpbmcgY29udGV4dCwgd2l0aCBjb21wb3NpdGluZyBjaGlsZHJl
bgorICAgIE93blB0cjxHcmFwaGljc0xheWVyPiBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllcjsgLy8g
b25seSB1c2VkIGlmIHdlIGFyZSBjbGlwcGVkIGJ5IGFuIGFuY2VzdG9yIHdoaWNoIGlzIG5vdCBh
IHN0YWNraW5nIGNvbnRleHQKKyAgICBPd25QdHI8R3JhcGhpY3NMYXllcj4gbV9ncmFwaGljc0xh
eWVyOworICAgIE93blB0cjxHcmFwaGljc0xheWVyPiBtX2ZvcmVncm91bmRMYXllcjsgICAgICAg
Ly8gb25seSB1c2VkIGluIGNhc2VzIHdoZXJlIHdlIG5lZWQgdG8gZHJhdyB0aGUgZm9yZWdyb3Vu
ZCBzZXBhcmF0ZWx5CisgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1fY2xpcHBpbmdMYXllcjsg
ICAgICAgICAvLyBvbmx5IHVzZWQgaWYgd2UgaGF2ZSBjbGlwcGluZyBvbiBhIHN0YWNraW5nIGNv
bnRleHQsIHdpdGggY29tcG9zaXRpbmcgY2hpbGRyZW4KIAogICAgIEludFJlY3QgbV9jb21wb3Np
dGVkQm91bmRzOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cAppbmRleCBmYjE1ODAwLi40ZmJiMDlkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyQ29tcG9zaXRvci5jcHAKQEAgLTkyLDcgKzkyLDYgQEAgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpSZW5kZXJMYXllckNvbXBvc2l0b3IoUmVuZGVyVmlldyogcmVuZGVyVmlldykKIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6flJlbmRlckxheWVyQ29tcG9zaXRvcigpCiB7CiAgICAgQVNTRVJUKCFt
X3Jvb3RMYXllckF0dGFjaGVkKTsKLSAgICBkZWxldGUgbV9yb290UGxhdGZvcm1MYXllcjsKIH0K
IAogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmVuYWJsZUNvbXBvc2l0aW5nTW9kZShib29s
IGVuYWJsZSAvKiA9IHRydWUgKi8pCkBAIC03NTksNyArNzU4LDcgQEAgUmVuZGVyTGF5ZXIqIFJl
bmRlckxheWVyQ29tcG9zaXRvcjo6cm9vdFJlbmRlckxheWVyKCkgY29uc3QKIAogR3JhcGhpY3NM
YXllciogUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyb290UGxhdGZvcm1MYXllcigpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIG1fcm9vdFBsYXRmb3JtTGF5ZXI7CisgICAgcmV0dXJuIG1fcm9vdFBsYXRm
b3JtTGF5ZXIuZ2V0KCk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpkaWRNb3Zl
T25zY3JlZW4oKQpAQCAtNzcyLDcgKzc3MSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpkaWRNb3ZlT25zY3JlZW4oKQogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5hdHRhY2hSb290R3JhcGhpY3NMYXllcihmcmFt
ZSwgbV9yb290UGxhdGZvcm1MYXllcik7CisgICAgcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpLT5h
dHRhY2hSb290R3JhcGhpY3NMYXllcihmcmFtZSwgbV9yb290UGxhdGZvcm1MYXllci5nZXQoKSk7
CiAgICAgbV9yb290TGF5ZXJBdHRhY2hlZCA9IHRydWU7CiB9CiAKQEAgLTkxOSw3ICs5MTgsNyBA
QCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5zdXJlUm9vdFBsYXRmb3JtTGF5ZXIoKQog
ICAgIGlmIChtX3Jvb3RQbGF0Zm9ybUxheWVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3Jv
b3RQbGF0Zm9ybUxheWVyID0gR3JhcGhpY3NMYXllcjo6Y3JlYXRlR3JhcGhpY3NMYXllcigwKTsK
KyAgICBtX3Jvb3RQbGF0Zm9ybUxheWVyID0gR3JhcGhpY3NMYXllcjo6Y3JlYXRlKDApOwogICAg
IG1fcm9vdFBsYXRmb3JtTGF5ZXItPnNldFNpemUoRmxvYXRTaXplKG1fcmVuZGVyVmlldy0+b3Zl
cmZsb3dXaWR0aCgpLCBtX3JlbmRlclZpZXctPm92ZXJmbG93SGVpZ2h0KCkpKTsKICAgICBtX3Jv
b3RQbGF0Zm9ybUxheWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KDAsIDApKTsKICAgICAvLyBU
aGUgcm9vdCBsYXllciBkb2VzIGZsaXBwaW5nIGlmIHdlIG5lZWQgaXQgb24gdGhpcyBwbGF0Zm9y
bS4KQEAgLTkzNyw3ICs5MzYsNiBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZGVzdHJv
eVJvb3RQbGF0Zm9ybUxheWVyKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgd2lsbE1vdmVPZmZz
Y3JlZW4oKTsKLSAgICBkZWxldGUgbV9yb290UGxhdGZvcm1MYXllcjsKICAgICBtX3Jvb3RQbGF0
Zm9ybUxheWVyID0gMDsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmggYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuaAppbmRleCAwMjkyOWRjLi44MGEwMWJkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuaApAQCAtMTY3LDcgKzE2Nyw3IEBAIHByaXZhdGU6CiAKIHByaXZhdGU6
CiAgICAgUmVuZGVyVmlldyogbV9yZW5kZXJWaWV3OwotICAgIEdyYXBoaWNzTGF5ZXIqIG1fcm9v
dFBsYXRmb3JtTGF5ZXI7CisgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1fcm9vdFBsYXRmb3Jt
TGF5ZXI7CiAgICAgYm9vbCBtX2hhc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmc7CiAgICAgYm9vbCBt
X2NvbXBvc2l0aW5nQ29uc3VsdHNPdmVybGFwOwogICAgIGJvb2wgbV9jb21wb3NpdGluZzsK
</data>
<flag name="review"
          id="19152"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34980</attachid>
            <date>2009-08-17 11:26:32 -0700</date>
            <delta_ts>2009-08-17 11:28:01 -0700</delta_ts>
            <desc>New patch</desc>
            <filename>28399_patch.txt</filename>
            <type>text/plain</type>
            <size>12846</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzA0NTc3Ni4uOTE1M2VkNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAwOS0wOC0xNyAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVc2UgT3duUHRycyBmb3IgR3JhcGhpY3NMYXllcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4Mzk5CisKKyAgICAg
ICAgQ29udmVydCBSZW5kZXJMYXllckJhY2tpbmcgYW5kIFJlbmRlckxheWVyQ29tcG9zaXRvciB0
byB1c2UgT3duUHRycworICAgICAgICBmb3IgdGhlaXIgcmVmZXJlbmNlcyB0byBHcmFwaGljc0xh
eWVycy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6Y3JlYXRlKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFj
a2luZzo6UmVuZGVyTGF5ZXJCYWNraW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
QmFja2luZzo6Y3JlYXRlR3JhcGhpY3NMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckJhY2tpbmc6OmRlc3Ryb3lHcmFwaGljc0xheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlSW50ZXJuYWxIaWVyYXJjaHkpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVDbGlwcGluZ0xheWVy
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUZvcmVncm91
bmRMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRl
bnRzTmVlZERpc3BsYXlJblJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6Z3JhcGhpY3NM
YXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmNsaXBwaW5nTGF5
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjphbmNlc3RvckNsaXBw
aW5nTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpmb3JlZ3Jv
dW5kTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYXJlbnRG
b3JTdWJsYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpjaGls
ZEZvclN1cGVybGF5ZXJzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6flJlbmRl
ckxheWVyQ29tcG9zaXRvcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnJvb3RQbGF0Zm9ybUxheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29t
cG9zaXRvcjo6ZGlkTW92ZU9uc2NyZWVuKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6ZW5zdXJlUm9vdFBsYXRmb3JtTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpkZXN0cm95Um9vdFBsYXRmb3JtTGF5ZXIpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaDoKKwogMjAwOS0wOC0xNyAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdl
aW5pZy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKaW5kZXggNGQ3
NjY4YS4uODQ3NDE3NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFw
aGljc0xheWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVy
LmgKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgog
I2luY2x1ZGUgIlRyYW5zZm9ybU9wZXJhdGlvbnMuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+
CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykKICNpZmRl
ZiBfX09CSkNfXwpAQCAtMTUyLDcgKzE1Myw3IEBAIHByb3RlY3RlZDoKIGNsYXNzIEdyYXBoaWNz
TGF5ZXIgewogcHVibGljOgogCi0gICAgc3RhdGljIEdyYXBoaWNzTGF5ZXIqIGNyZWF0ZUdyYXBo
aWNzTGF5ZXIoR3JhcGhpY3NMYXllckNsaWVudCopOworICAgIHN0YXRpYyBQYXNzT3duUHRyPEdy
YXBoaWNzTGF5ZXI+IGNyZWF0ZShHcmFwaGljc0xheWVyQ2xpZW50Kik7CiAgICAgCiAgICAgdmly
dHVhbCB+R3JhcGhpY3NMYXllcigpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9HcmFwaGljc0xheWVyQ0EubW0gYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9HcmFwaGljc0xheWVyQ0EubW0KaW5kZXggZTViOTAzNS4uNjQ0NWJjZiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NMYXllckNBLm1tCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dyYXBoaWNzTGF5ZXJDQS5tbQpAQCAtMzMx
LDcgKzMzMSw3IEBAIHN0YXRpYyBOU0RpY3Rpb25hcnkqIG51bGxBY3Rpb25zRGljdGlvbmFyeSgp
CiAgICAgcmV0dXJuIGFjdGlvbnM7CiB9CiAKLUdyYXBoaWNzTGF5ZXIqIEdyYXBoaWNzTGF5ZXI6
OmNyZWF0ZUdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQorUGFzc093
blB0cjxHcmFwaGljc0xheWVyPiBHcmFwaGljc0xheWVyOjpjcmVhdGUoR3JhcGhpY3NMYXllckNs
aWVudCogY2xpZW50KQogewogICAgIHJldHVybiBuZXcgR3JhcGhpY3NMYXllckNBKGNsaWVudCk7
CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3Bw
IGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBlOThjNDU4
Li43OGU2M2U3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAg
LTUzLDEwICs1Myw2IEBAIHN0YXRpYyBib29sIGhhc0JveERlY29yYXRpb25zV2l0aEJhY2tncm91
bmRJbWFnZShjb25zdCBSZW5kZXJTdHlsZSopOwogCiBSZW5kZXJMYXllckJhY2tpbmc6OlJlbmRl
ckxheWVyQmFja2luZyhSZW5kZXJMYXllciogbGF5ZXIpCiAgICAgOiBtX293bmluZ0xheWVyKGxh
eWVyKQotICAgICwgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIoMCkKLSAgICAsIG1fZ3JhcGhpY3NM
YXllcigwKQotICAgICwgbV9mb3JlZ3JvdW5kTGF5ZXIoMCkKLSAgICAsIG1fY2xpcHBpbmdMYXll
cigwKQogICAgICwgbV9oYXNEaXJlY3RseUNvbXBvc2l0ZWRDb250ZW50KGZhbHNlKQogewogICAg
IGNyZWF0ZUdyYXBoaWNzTGF5ZXIoKTsKQEAgLTcxLDcgKzY3LDcgQEAgUmVuZGVyTGF5ZXJCYWNr
aW5nOjp+UmVuZGVyTGF5ZXJCYWNraW5nKCkKIAogdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OmNy
ZWF0ZUdyYXBoaWNzTGF5ZXIoKQogewotICAgIG1fZ3JhcGhpY3NMYXllciA9IEdyYXBoaWNzTGF5
ZXI6OmNyZWF0ZUdyYXBoaWNzTGF5ZXIodGhpcyk7CisgICAgbV9ncmFwaGljc0xheWVyID0gR3Jh
cGhpY3NMYXllcjo6Y3JlYXRlKHRoaXMpOwogICAgIAogI2lmbmRlZiBOREVCVUcKICAgICBpZiAo
cmVuZGVyZXIoKS0+bm9kZSgpKSB7CkBAIC05NiwxMyArOTIsOCBAQCB2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6ZGVzdHJveUdyYXBoaWNzTGF5ZXIoKQogICAgIGlmIChtX2dyYXBoaWNzTGF5ZXIp
CiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwogCi0gICAgZGVs
ZXRlIG1fZ3JhcGhpY3NMYXllcjsKICAgICBtX2dyYXBoaWNzTGF5ZXIgPSAwOwotCi0gICAgZGVs
ZXRlIG1fZm9yZWdyb3VuZExheWVyOwogICAgIG1fZm9yZWdyb3VuZExheWVyID0gMDsKLQotICAg
IGRlbGV0ZSBtX2NsaXBwaW5nTGF5ZXI7CiAgICAgbV9jbGlwcGluZ0xheWVyID0gMDsKIH0KIApA
QCAtMzExLDEyICszMDIsMTIgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUludGVy
bmFsSGllcmFyY2h5KCkKICAgICBpZiAobV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIpIHsKICAgICAg
ICAgbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXItPnJlbW92ZUFsbENoaWxkcmVuKCk7CiAgICAgICAg
IG1fZ3JhcGhpY3NMYXllci0+cmVtb3ZlRnJvbVBhcmVudCgpOwotICAgICAgICBtX2FuY2VzdG9y
Q2xpcHBpbmdMYXllci0+YWRkQ2hpbGQobV9ncmFwaGljc0xheWVyKTsKKyAgICAgICAgbV9hbmNl
c3RvckNsaXBwaW5nTGF5ZXItPmFkZENoaWxkKG1fZ3JhcGhpY3NMYXllci5nZXQoKSk7CiAgICAg
fQogCiAgICAgaWYgKG1fY2xpcHBpbmdMYXllcikgewogICAgICAgICBtX2NsaXBwaW5nTGF5ZXIt
PnJlbW92ZUZyb21QYXJlbnQoKTsKLSAgICAgICAgbV9ncmFwaGljc0xheWVyLT5hZGRDaGlsZCht
X2NsaXBwaW5nTGF5ZXIpOworICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPmFkZENoaWxkKG1fY2xp
cHBpbmdMYXllci5nZXQoKSk7CiAgICAgfQogfQogCkBAIC0zMjcsNyArMzE4LDcgQEAgYm9vbCBS
ZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUNsaXBwaW5nTGF5ZXJzKGJvb2wgbmVlZHNBbmNlc3Rv
ckNsaXAsIGJvb2wgbmVlZHMKIAogICAgIGlmIChuZWVkc0FuY2VzdG9yQ2xpcCkgewogICAgICAg
ICBpZiAoIW1fYW5jZXN0b3JDbGlwcGluZ0xheWVyKSB7Ci0gICAgICAgICAgICBtX2FuY2VzdG9y
Q2xpcHBpbmdMYXllciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZUdyYXBoaWNzTGF5ZXIodGhpcyk7
CisgICAgICAgICAgICBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllciA9IEdyYXBoaWNzTGF5ZXI6OmNy
ZWF0ZSh0aGlzKTsKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgICAgICBtX2FuY2VzdG9yQ2xpcHBp
bmdMYXllci0+c2V0TmFtZSgiQW5jZXN0b3IgY2xpcHBpbmcgTGF5ZXIiKTsKICNlbmRpZgpAQCAt
MzM2LDE0ICszMjcsMTMgQEAgYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUNsaXBwaW5n
TGF5ZXJzKGJvb2wgbmVlZHNBbmNlc3RvckNsaXAsIGJvb2wgbmVlZHMKICAgICAgICAgfQogICAg
IH0gZWxzZSBpZiAobV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIpIHsKICAgICAgICAgbV9hbmNlc3Rv
ckNsaXBwaW5nTGF5ZXItPnJlbW92ZUZyb21QYXJlbnQoKTsKLSAgICAgICAgZGVsZXRlIG1fYW5j
ZXN0b3JDbGlwcGluZ0xheWVyOwogICAgICAgICBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllciA9IDA7
CiAgICAgICAgIGxheWVyc0NoYW5nZWQgPSB0cnVlOwogICAgIH0KICAgICAKICAgICBpZiAobmVl
ZHNEZXNjZW5kYW50Q2xpcCkgewogICAgICAgICBpZiAoIW1fY2xpcHBpbmdMYXllcikgewotICAg
ICAgICAgICAgbV9jbGlwcGluZ0xheWVyID0gR3JhcGhpY3NMYXllcjo6Y3JlYXRlR3JhcGhpY3NM
YXllcigwKTsKKyAgICAgICAgICAgIG1fY2xpcHBpbmdMYXllciA9IEdyYXBoaWNzTGF5ZXI6OmNy
ZWF0ZSgwKTsKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgICAgICBtX2NsaXBwaW5nTGF5ZXItPnNl
dE5hbWUoIkNoaWxkIGNsaXBwaW5nIExheWVyIik7CiAjZW5kaWYKQEAgLTM1Miw3ICszNDIsNiBA
QCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlQ2xpcHBpbmdMYXllcnMoYm9vbCBuZWVk
c0FuY2VzdG9yQ2xpcCwgYm9vbCBuZWVkcwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChtX2Ns
aXBwaW5nTGF5ZXIpIHsKICAgICAgICAgbV9jbGlwcGluZ0xheWVyLT5yZW1vdmVGcm9tUGFyZW50
KCk7Ci0gICAgICAgIGRlbGV0ZSBtX2NsaXBwaW5nTGF5ZXI7CiAgICAgICAgIG1fY2xpcHBpbmdM
YXllciA9IDA7CiAgICAgICAgIGxheWVyc0NoYW5nZWQgPSB0cnVlOwogICAgIH0KQEAgLTM2OCw3
ICszNTcsNyBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRm9yZWdyb3VuZExheWVy
KGJvb2wgbmVlZHNGb3JlZ3JvdW5kTGF5ZXIpCiAgICAgYm9vbCBsYXllckNoYW5nZWQgPSBmYWxz
ZTsKICAgICBpZiAobmVlZHNGb3JlZ3JvdW5kTGF5ZXIpIHsKICAgICAgICAgaWYgKCFtX2ZvcmVn
cm91bmRMYXllcikgewotICAgICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXIgPSBHcmFwaGljc0xh
eWVyOjpjcmVhdGVHcmFwaGljc0xheWVyKHRoaXMpOworICAgICAgICAgICAgbV9mb3JlZ3JvdW5k
TGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUodGhpcyk7CiAjaWZuZGVmIE5ERUJVRwogICAg
ICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldE5hbWUoIkNvbnRlbnRzIik7CiAjZW5kaWYK
QEAgLTM3OSw3ICszNjgsNiBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRm9yZWdy
b3VuZExheWVyKGJvb2wgbmVlZHNGb3JlZ3JvdW5kTGF5ZXIpCiAgICAgICAgIH0KICAgICB9IGVs
c2UgaWYgKG1fZm9yZWdyb3VuZExheWVyKSB7CiAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5y
ZW1vdmVGcm9tUGFyZW50KCk7Ci0gICAgICAgIGRlbGV0ZSBtX2ZvcmVncm91bmRMYXllcjsKICAg
ICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXIgPSAwOwogICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNl
dERyYXdpbmdQaGFzZShHcmFwaGljc0xheWVyUGFpbnRBbGxNYXNrKTsKICAgICAgICAgbGF5ZXJD
aGFuZ2VkID0gdHJ1ZTsKQEAgLTcxMSw3ICs2OTksNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2lu
Zzo6c2V0Q29udGVudHNOZWVkRGlzcGxheSgpCiB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6c2V0
Q29udGVudHNOZWVkRGlzcGxheUluUmVjdChjb25zdCBJbnRSZWN0JiByKQogewogICAgIGlmICht
X2dyYXBoaWNzTGF5ZXIgJiYgbV9ncmFwaGljc0xheWVyLT5kcmF3c0NvbnRlbnQoKSkgewotICAg
ICAgICBGbG9hdFBvaW50IGRpcnR5T3JpZ2luID0gY29udGVudHNUb0dyYXBoaWNzTGF5ZXJDb29y
ZGluYXRlcyhtX2dyYXBoaWNzTGF5ZXIsIEZsb2F0UG9pbnQoci54KCksIHIueSgpKSk7CisgICAg
ICAgIEZsb2F0UG9pbnQgZGlydHlPcmlnaW4gPSBjb250ZW50c1RvR3JhcGhpY3NMYXllckNvb3Jk
aW5hdGVzKG1fZ3JhcGhpY3NMYXllci5nZXQoKSwgRmxvYXRQb2ludChyLngoKSwgci55KCkpKTsK
ICAgICAgICAgRmxvYXRSZWN0IGRpcnR5UmVjdChkaXJ0eU9yaWdpbiwgci5zaXplKCkpOwogICAg
ICAgICBGbG9hdFJlY3QgYm91bmRzKEZsb2F0UG9pbnQoKSwgbV9ncmFwaGljc0xheWVyLT5zaXpl
KCkpOwogICAgICAgICBpZiAoYm91bmRzLmludGVyc2VjdHMoZGlydHlSZWN0KSkKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKaW5kZXggYjAyNzY4NS4uODU1NWRjOCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAgLTYzLDIxICs2MywyMSBAQCBwdWJs
aWM6CiAgICAgLy8gVXBkYXRlIGNvbnRlbnRzIGFuZCBjbGlwcGluZyBzdHJ1Y3R1cmUuCiAgICAg
dm9pZCB1cGRhdGVJbnRlcm5hbEhpZXJhcmNoeSgpOyAvLyBtYWtlIHByaXZhdGUKICAgICAKLSAg
ICBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9ncmFwaGlj
c0xheWVyOyB9CisgICAgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcigpIGNvbnN0IHsgcmV0
dXJuIG1fZ3JhcGhpY3NMYXllci5nZXQoKTsgfQogCiAgICAgLy8gTGF5ZXIgdG8gY2xpcCBjaGls
ZHJlbgogICAgIGJvb2wgaGFzQ2xpcHBpbmdMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fY2xpcHBp
bmdMYXllciAhPSAwOyB9Ci0gICAgR3JhcGhpY3NMYXllciogY2xpcHBpbmdMYXllcigpIGNvbnN0
IHsgcmV0dXJuIG1fY2xpcHBpbmdMYXllcjsgfQorICAgIEdyYXBoaWNzTGF5ZXIqIGNsaXBwaW5n
TGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2NsaXBwaW5nTGF5ZXIuZ2V0KCk7IH0KIAogICAgIC8v
IExheWVyIHRvIGdldCBjbGlwcGVkIGJ5IGFuY2VzdG9yCiAgICAgYm9vbCBoYXNBbmNlc3RvckNs
aXBwaW5nTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2FuY2VzdG9yQ2xpcHBpbmdMYXllciAhPSAw
OyB9Ci0gICAgR3JhcGhpY3NMYXllciogYW5jZXN0b3JDbGlwcGluZ0xheWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXI7IH0KKyAgICBHcmFwaGljc0xheWVyKiBhbmNl
c3RvckNsaXBwaW5nTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2FuY2VzdG9yQ2xpcHBpbmdMYXll
ci5nZXQoKTsgfQogCiAgICAgYm9vbCBoYXNDb250ZW50c0xheWVyKCkgY29uc3QgeyByZXR1cm4g
bV9mb3JlZ3JvdW5kTGF5ZXIgIT0gMDsgfQotICAgIEdyYXBoaWNzTGF5ZXIqIGZvcmVncm91bmRM
YXllcigpIGNvbnN0IHsgcmV0dXJuIG1fZm9yZWdyb3VuZExheWVyOyB9CisgICAgR3JhcGhpY3NM
YXllciogZm9yZWdyb3VuZExheWVyKCkgY29uc3QgeyByZXR1cm4gbV9mb3JlZ3JvdW5kTGF5ZXIu
Z2V0KCk7IH0KICAgICAKLSAgICBHcmFwaGljc0xheWVyKiBwYXJlbnRGb3JTdWJsYXllcnMoKSBj
b25zdCB7IHJldHVybiBtX2NsaXBwaW5nTGF5ZXIgPyBtX2NsaXBwaW5nTGF5ZXIgOiBtX2dyYXBo
aWNzTGF5ZXI7IH0KLSAgICBHcmFwaGljc0xheWVyKiBjaGlsZEZvclN1cGVybGF5ZXJzKCkgY29u
c3QgeyByZXR1cm4gbV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIgPyBtX2FuY2VzdG9yQ2xpcHBpbmdM
YXllciA6IG1fZ3JhcGhpY3NMYXllcjsgfQorICAgIEdyYXBoaWNzTGF5ZXIqIHBhcmVudEZvclN1
YmxheWVycygpIGNvbnN0IHsgcmV0dXJuIG1fY2xpcHBpbmdMYXllciA/IG1fY2xpcHBpbmdMYXll
ci5nZXQoKSA6IG1fZ3JhcGhpY3NMYXllci5nZXQoKTsgfQorICAgIEdyYXBoaWNzTGF5ZXIqIGNo
aWxkRm9yU3VwZXJsYXllcnMoKSBjb25zdCB7IHJldHVybiBtX2FuY2VzdG9yQ2xpcHBpbmdMYXll
ciA/IG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyLmdldCgpIDogbV9ncmFwaGljc0xheWVyLmdldCgp
OyB9CiAKICAgICAvLyBSZW5kZXJMYXllcnMgd2l0aCBiYWNraW5nIG5vcm1hbGx5IHNob3J0LWNp
cmN1aXQgcGFpbnRMYXllcigpIGJlY2F1c2UKICAgICAvLyB0aGVpciBjb250ZW50IGlzIHJlbmRl
cmVkIHZpYSBjYWxsYmFja3MgZnJvbSBHcmFwaGljc0xheWVyLiBIb3dldmVyLCB0aGUgZG9jdW1l
bnQKQEAgLTE2MiwxMCArMTYyLDEwIEBAIHByaXZhdGU6CiBwcml2YXRlOgogICAgIFJlbmRlckxh
eWVyKiBtX293bmluZ0xheWVyOwogCi0gICAgR3JhcGhpY3NMYXllciogbV9hbmNlc3RvckNsaXBw
aW5nTGF5ZXI7IC8vIG9ubHkgdXNlZCBpZiB3ZSBhcmUgY2xpcHBlZCBieSBhbiBhbmNlc3RvciB3
aGljaCBpcyBub3QgYSBzdGFja2luZyBjb250ZXh0Ci0gICAgR3JhcGhpY3NMYXllciogbV9ncmFw
aGljc0xheWVyOwotICAgIEdyYXBoaWNzTGF5ZXIqIG1fZm9yZWdyb3VuZExheWVyOyAgICAgICAv
LyBvbmx5IHVzZWQgaW4gY2FzZXMgd2hlcmUgd2UgbmVlZCB0byBkcmF3IHRoZSBmb3JlZ3JvdW5k
IHNlcGFyYXRlbHkKLSAgICBHcmFwaGljc0xheWVyKiBtX2NsaXBwaW5nTGF5ZXI7ICAgICAgICAg
Ly8gb25seSB1c2VkIGlmIHdlIGhhdmUgY2xpcHBpbmcgb24gYSBzdGFja2luZyBjb250ZXh0LCB3
aXRoIGNvbXBvc2l0aW5nIGNoaWxkcmVuCisgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1fYW5j
ZXN0b3JDbGlwcGluZ0xheWVyOyAvLyBvbmx5IHVzZWQgaWYgd2UgYXJlIGNsaXBwZWQgYnkgYW4g
YW5jZXN0b3Igd2hpY2ggaXMgbm90IGEgc3RhY2tpbmcgY29udGV4dAorICAgIE93blB0cjxHcmFw
aGljc0xheWVyPiBtX2dyYXBoaWNzTGF5ZXI7CisgICAgT3duUHRyPEdyYXBoaWNzTGF5ZXI+IG1f
Zm9yZWdyb3VuZExheWVyOyAgICAgICAvLyBvbmx5IHVzZWQgaW4gY2FzZXMgd2hlcmUgd2UgbmVl
ZCB0byBkcmF3IHRoZSBmb3JlZ3JvdW5kIHNlcGFyYXRlbHkKKyAgICBPd25QdHI8R3JhcGhpY3NM
YXllcj4gbV9jbGlwcGluZ0xheWVyOyAgICAgICAgIC8vIG9ubHkgdXNlZCBpZiB3ZSBoYXZlIGNs
aXBwaW5nIG9uIGEgc3RhY2tpbmcgY29udGV4dCwgd2l0aCBjb21wb3NpdGluZyBjaGlsZHJlbgog
CiAgICAgSW50UmVjdCBtX2NvbXBvc2l0ZWRCb3VuZHM7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGZiMTU4MDAuLjRmYmIwOWQgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtOTIsNyArOTIsNiBA
QCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OlJlbmRlckxheWVyQ29tcG9zaXRvcihSZW5kZXJWaWV3
KiByZW5kZXJWaWV3KQogUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp+UmVuZGVyTGF5ZXJDb21wb3Np
dG9yKCkKIHsKICAgICBBU1NFUlQoIW1fcm9vdExheWVyQXR0YWNoZWQpOwotICAgIGRlbGV0ZSBt
X3Jvb3RQbGF0Zm9ybUxheWVyOwogfQogCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5h
YmxlQ29tcG9zaXRpbmdNb2RlKGJvb2wgZW5hYmxlIC8qID0gdHJ1ZSAqLykKQEAgLTc1OSw3ICs3
NTgsNyBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyb290UmVuZGVyTGF5
ZXIoKSBjb25zdAogCiBHcmFwaGljc0xheWVyKiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJvb3RQ
bGF0Zm9ybUxheWVyKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9yb290UGxhdGZvcm1MYXllcjsK
KyAgICByZXR1cm4gbV9yb290UGxhdGZvcm1MYXllci5nZXQoKTsKIH0KIAogdm9pZCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OmRpZE1vdmVPbnNjcmVlbigpCkBAIC03NzIsNyArNzcxLDcgQEAgdm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmRpZE1vdmVPbnNjcmVlbigpCiAgICAgaWYgKCFwYWdl
KQogICAgICAgICByZXR1cm47CiAKLSAgICBwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPmF0dGFj
aFJvb3RHcmFwaGljc0xheWVyKGZyYW1lLCBtX3Jvb3RQbGF0Zm9ybUxheWVyKTsKKyAgICBwYWdl
LT5jaHJvbWUoKS0+Y2xpZW50KCktPmF0dGFjaFJvb3RHcmFwaGljc0xheWVyKGZyYW1lLCBtX3Jv
b3RQbGF0Zm9ybUxheWVyLmdldCgpKTsKICAgICBtX3Jvb3RMYXllckF0dGFjaGVkID0gdHJ1ZTsK
IH0KIApAQCAtOTE5LDcgKzkxOCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjplbnN1
cmVSb290UGxhdGZvcm1MYXllcigpCiAgICAgaWYgKG1fcm9vdFBsYXRmb3JtTGF5ZXIpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIG1fcm9vdFBsYXRmb3JtTGF5ZXIgPSBHcmFwaGljc0xheWVyOjpj
cmVhdGVHcmFwaGljc0xheWVyKDApOworICAgIG1fcm9vdFBsYXRmb3JtTGF5ZXIgPSBHcmFwaGlj
c0xheWVyOjpjcmVhdGUoMCk7CiAgICAgbV9yb290UGxhdGZvcm1MYXllci0+c2V0U2l6ZShGbG9h
dFNpemUobV9yZW5kZXJWaWV3LT5vdmVyZmxvd1dpZHRoKCksIG1fcmVuZGVyVmlldy0+b3ZlcmZs
b3dIZWlnaHQoKSkpOwogICAgIG1fcm9vdFBsYXRmb3JtTGF5ZXItPnNldFBvc2l0aW9uKEZsb2F0
UG9pbnQoMCwgMCkpOwogICAgIC8vIFRoZSByb290IGxheWVyIGRvZXMgZmxpcHBpbmcgaWYgd2Ug
bmVlZCBpdCBvbiB0aGlzIHBsYXRmb3JtLgpAQCAtOTM3LDcgKzkzNiw2IEBAIHZvaWQgUmVuZGVy
TGF5ZXJDb21wb3NpdG9yOjpkZXN0cm95Um9vdFBsYXRmb3JtTGF5ZXIoKQogICAgICAgICByZXR1
cm47CiAKICAgICB3aWxsTW92ZU9mZnNjcmVlbigpOwotICAgIGRlbGV0ZSBtX3Jvb3RQbGF0Zm9y
bUxheWVyOwogICAgIG1fcm9vdFBsYXRmb3JtTGF5ZXIgPSAwOwogfQogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IDAyOTI5ZGMuLjgwYTAxYmQgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBAIC0xNjcsNyArMTY3LDcg
QEAgcHJpdmF0ZToKIAogcHJpdmF0ZToKICAgICBSZW5kZXJWaWV3KiBtX3JlbmRlclZpZXc7Ci0g
ICAgR3JhcGhpY3NMYXllciogbV9yb290UGxhdGZvcm1MYXllcjsKKyAgICBPd25QdHI8R3JhcGhp
Y3NMYXllcj4gbV9yb290UGxhdGZvcm1MYXllcjsKICAgICBib29sIG1faGFzQWNjZWxlcmF0ZWRD
b21wb3NpdGluZzsKICAgICBib29sIG1fY29tcG9zaXRpbmdDb25zdWx0c092ZXJsYXA7CiAgICAg
Ym9vbCBtX2NvbXBvc2l0aW5nOwpz
</data>
<flag name="review"
          id="19155"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>