<?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>86774</bug_id>
          
          <creation_ts>2012-05-17 14:18:11 -0700</creation_ts>
          <short_desc>Add more descriptive warnings for framebuffer incomplete conditions</short_desc>
          <delta_ts>2012-05-17 15:27: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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gregg Tavares">gman</reporter>
          <assigned_to name="Gregg Tavares">gman</assigned_to>
          <cc>kbr</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>626975</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2012-05-17 14:18:11 -0700</bug_when>
    <thetext>Add more descriptive warnings for framebuffer incomplete conditions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626982</commentid>
    <comment_count>1</comment_count>
      <attachid>142555</attachid>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2012-05-17 14:24:19 -0700</bug_when>
    <thetext>Created attachment 142555
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626997</commentid>
    <comment_count>2</comment_count>
      <attachid>142555</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-05-17 14:44:34 -0700</bug_when>
    <thetext>Comment on attachment 142555
Patch

Looks good. I was going to comment that using String&amp; rather than const char** might be &quot;cleaner&quot;, but realized that you don&apos;t want to have any const char* -&gt; String conversion overhead when calling around in the common case. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627048</commentid>
    <comment_count>3</comment_count>
      <attachid>142555</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-17 15:27:11 -0700</bug_when>
    <thetext>Comment on attachment 142555
Patch

Clearing flags on attachment: 142555

Committed r117506: &lt;http://trac.webkit.org/changeset/117506&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627049</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-17 15:27:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142555</attachid>
            <date>2012-05-17 14:24:19 -0700</date>
            <delta_ts>2012-05-17 15:27:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86774-20120517142418.patch</filename>
            <type>text/plain</type>
            <size>18167</size>
            <attacher name="Gregg Tavares">gman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjE1NjU0YzM1MDExNmVk
YWIzYzQ2NDQxYzNhZGJmMTdiMGM1YTM5MS4uMzIzNTUzZDBhOTJhYTAyNTZlY2I3ZjkyY2FlZTU5
OTY5ODg3ZTQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA1LTE3ICBHcmVn
ZyBUYXZhcmVzICA8Z21hbkBnb29nbGUuY29tPgorCisgICAgICAgIEFkZCBtb3JlIGRlc2NyaXB0
aXZlIHdhcm5pbmdzIGZvciBmcmFtZWJ1ZmZlciBpbmNvbXBsZXRlIGNvbmRpdGlvbnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg2Nzc0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGFz
IHRoZXJlIGlzIG5vIG5ldyBmdW5jdGlvbmFsaXR5CisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJHTEZyYW1lYnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMRnJhbWVidWZmZXI6
OmNoZWNrU3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMRnJhbWVidWZmZXI6Om9uQWNj
ZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMRnJhbWVidWZmZXI6OmluaXRpYWxpemVSZW5k
ZXJidWZmZXJzKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmg6Cisg
ICAgICAgIChXZWJHTEZyYW1lYnVmZmVyKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmNoZWNrRnJhbWVidWZmZXJTdGF0dXMpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpjbGVhcik6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmNvcHlUZXhJbWFnZTJEKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y29weVRleFN1YkltYWdlMkQpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkcmF3QXJyYXlzKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0VsZW1lbnRzKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6cmVhZFBpeGVscyk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnByaW50R0xXYXJuaW5nVG9Db25zb2xlKToK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaDoKKwogMjAxMi0w
NS0xNyAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IHJv
dW5kaW5nIGluIHBhaW50U2VsZWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMRnJhbWVidWZmZXIuY3BwCmluZGV4IGRkNGQwZGJmMmMxZGMzNjg2ZWQzNDdhZDU4MzNj
Mzg3ODM5MjY2YWEuLmViMDdjZjA2YTg3ZTEwYjIzYzc1ODEwYzg1ODE4ZWRhZTFlNWY4ZWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuY3BwCkBA
IC0zNiwzMCArMzYsMzkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgewogCi0g
ICAgYm9vbCBpc0F0dGFjaG1lbnRDb21wbGV0ZShXZWJHTFNoYXJlZE9iamVjdCogYXR0YWNoZWRP
YmplY3QsIEdDM0RlbnVtIGF0dGFjaG1lbnQpCisgICAgYm9vbCBpc0F0dGFjaG1lbnRDb21wbGV0
ZShXZWJHTFNoYXJlZE9iamVjdCogYXR0YWNoZWRPYmplY3QsIEdDM0RlbnVtIGF0dGFjaG1lbnQs
IGNvbnN0IGNoYXIqKiByZWFzb24pCiAgICAgewogICAgICAgICBBU1NFUlQoYXR0YWNoZWRPYmpl
Y3QgJiYgYXR0YWNoZWRPYmplY3QtPm9iamVjdCgpKTsKICAgICAgICAgQVNTRVJUKGF0dGFjaGVk
T2JqZWN0LT5pc1JlbmRlcmJ1ZmZlcigpKTsKKyAgICAgICAgQVNTRVJUKHJlYXNvbik7CiAgICAg
ICAgIFdlYkdMUmVuZGVyYnVmZmVyKiBidWZmZXIgPSByZWludGVycHJldF9jYXN0PFdlYkdMUmVu
ZGVyYnVmZmVyKj4oYXR0YWNoZWRPYmplY3QpOwogICAgICAgICBzd2l0Y2ggKGF0dGFjaG1lbnQp
IHsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfQVRUQUNITUVOVDoKLSAg
ICAgICAgICAgIGlmIChidWZmZXItPmdldEludGVybmFsRm9ybWF0KCkgIT0gR3JhcGhpY3NDb250
ZXh0M0Q6OkRFUFRIX0NPTVBPTkVOVDE2KQorICAgICAgICAgICAgaWYgKGJ1ZmZlci0+Z2V0SW50
ZXJuYWxGb3JtYXQoKSAhPSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhfQ09NUE9ORU5UMTYpIHsK
KyAgICAgICAgICAgICAgICAqcmVhc29uID0gIkRFUFRIX0FUVEFDSE1FTlQgaXMgbm90IGEgZGVw
dGggZm9ybWF0IjsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBHcmFwaGljc0NvbnRleHQzRDo6U1RF
TkNJTF9BVFRBQ0hNRU5UOgotICAgICAgICAgICAgaWYgKGJ1ZmZlci0+Z2V0SW50ZXJuYWxGb3Jt
YXQoKSAhPSBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9JTkRFWDgpCisgICAgICAgICAgICBp
ZiAoYnVmZmVyLT5nZXRJbnRlcm5hbEZvcm1hdCgpICE9IEdyYXBoaWNzQ29udGV4dDNEOjpTVEVO
Q0lMX0lOREVYOCkgeworICAgICAgICAgICAgICAgICpyZWFzb24gPSAiU1RFTkNJTF9BVFRBQ0hN
RU5UIGlzIG5vdCBhIHN0ZW5jaWwgZm9ybWF0IjsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBHcmFw
aGljc0NvbnRleHQzRDo6REVQVEhfU1RFTkNJTF9BVFRBQ0hNRU5UOgotICAgICAgICAgICAgaWYg
KGJ1ZmZlci0+Z2V0SW50ZXJuYWxGb3JtYXQoKSAhPSBHcmFwaGljc0NvbnRleHQzRDo6REVQVEhf
U1RFTkNJTCkKKyAgICAgICAgICAgIGlmIChidWZmZXItPmdldEludGVybmFsRm9ybWF0KCkgIT0g
R3JhcGhpY3NDb250ZXh0M0Q6OkRFUFRIX1NURU5DSUwpIHsKKyAgICAgICAgICAgICAgICAqcmVh
c29uID0gIkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCBpcyBub3QgYSBkZXB0aC1zdGVuY2lsIGZv
cm1hdCI7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQotICAgICAg
ICBpZiAoIWJ1ZmZlci0+Z2V0V2lkdGgoKSB8fCAhYnVmZmVyLT5nZXRIZWlnaHQoKSkKKyAgICAg
ICAgaWYgKCFidWZmZXItPmdldFdpZHRoKCkgfHwgIWJ1ZmZlci0+Z2V0SGVpZ2h0KCkpIHsKKyAg
ICAgICAgICAgICpyZWFzb24gPSAiYXR0YWNobWVudCBoYXMgYSAwIGRpbWVuc2lvbiI7CiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogCkBAIC0zMTksNzAgKzMyOCw4NyBAQCBHQzNEZW51bSBXZWJHTEZyYW1lYnVmZmVyOjpn
ZXRDb2xvckJ1ZmZlckZvcm1hdCgpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKLUdDM0RlbnVt
IFdlYkdMRnJhbWVidWZmZXI6OmNoZWNrU3RhdHVzKCkgY29uc3QKK0dDM0RlbnVtIFdlYkdMRnJh
bWVidWZmZXI6OmNoZWNrU3RhdHVzKGNvbnN0IGNoYXIqKiByZWFzb24pIGNvbnN0CiB7CiAgICAg
dW5zaWduZWQgaW50IGNvdW50ID0gMDsKICAgICBHQzNEc2l6ZWkgd2lkdGggPSAwLCBoZWlnaHQg
PSAwOwogICAgIGlmIChpc0RlcHRoQXR0YWNoZWQoKSkgewotICAgICAgICBpZiAoIWlzQXR0YWNo
bWVudENvbXBsZXRlKG1fZGVwdGhBdHRhY2htZW50LmdldCgpLCBHcmFwaGljc0NvbnRleHQzRDo6
REVQVEhfQVRUQUNITUVOVCkpCisgICAgICAgIGlmICghaXNBdHRhY2htZW50Q29tcGxldGUobV9k
ZXB0aEF0dGFjaG1lbnQuZ2V0KCksIEdyYXBoaWNzQ29udGV4dDNEOjpERVBUSF9BVFRBQ0hNRU5U
LCByZWFzb24pKQogICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJV
RkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQ7CiAgICAgICAgIHdpZHRoID0gZ2V0SW1hZ2VXaWR0
aChtX2RlcHRoQXR0YWNobWVudC5nZXQoKSk7CiAgICAgICAgIGhlaWdodCA9IGdldEltYWdlSGVp
Z2h0KG1fZGVwdGhBdHRhY2htZW50LmdldCgpKTsKICAgICAgICAgY291bnQrKzsKICAgICB9CiAg
ICAgaWYgKGlzU3RlbmNpbEF0dGFjaGVkKCkpIHsKLSAgICAgICAgaWYgKCFpc0F0dGFjaG1lbnRD
b21wbGV0ZShtX3N0ZW5jaWxBdHRhY2htZW50LmdldCgpLCBHcmFwaGljc0NvbnRleHQzRDo6U1RF
TkNJTF9BVFRBQ0hNRU5UKSkKKyAgICAgICAgaWYgKCFpc0F0dGFjaG1lbnRDb21wbGV0ZShtX3N0
ZW5jaWxBdHRhY2htZW50LmdldCgpLCBHcmFwaGljc0NvbnRleHQzRDo6U1RFTkNJTF9BVFRBQ0hN
RU5ULCByZWFzb24pKQogICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEOjpGUkFN
RUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQ7CiAgICAgICAgIGlmICghY291bnQpIHsKICAg
ICAgICAgICAgIHdpZHRoID0gZ2V0SW1hZ2VXaWR0aChtX3N0ZW5jaWxBdHRhY2htZW50LmdldCgp
KTsKICAgICAgICAgICAgIGhlaWdodCA9IGdldEltYWdlSGVpZ2h0KG1fc3RlbmNpbEF0dGFjaG1l
bnQuZ2V0KCkpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKHdpZHRoICE9IGdl
dEltYWdlV2lkdGgobV9zdGVuY2lsQXR0YWNobWVudC5nZXQoKSkgfHwgaGVpZ2h0ICE9IGdldElt
YWdlSGVpZ2h0KG1fc3RlbmNpbEF0dGFjaG1lbnQuZ2V0KCkpKQorICAgICAgICAgICAgaWYgKHdp
ZHRoICE9IGdldEltYWdlV2lkdGgobV9zdGVuY2lsQXR0YWNobWVudC5nZXQoKSkgfHwgaGVpZ2h0
ICE9IGdldEltYWdlSGVpZ2h0KG1fc3RlbmNpbEF0dGFjaG1lbnQuZ2V0KCkpKSB7CisgICAgICAg
ICAgICAgICAgKnJlYXNvbiA9ICJTVEVOQ0lMX0FUVEFDSE1FTlQgaGFzIGRpZmZlcmVudCBkaW1l
bnNpb25zIHRoYW4gREVQVEhfQVRUQUNITUVOVCI7CiAgICAgICAgICAgICAgICAgcmV0dXJuIEdy
YXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlM7CisgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgY291bnQrKzsKICAgICB9CiAgICAgaWYgKGlz
RGVwdGhTdGVuY2lsQXR0YWNoZWQoKSkgewotICAgICAgICBpZiAoIWlzQXR0YWNobWVudENvbXBs
ZXRlKG1fZGVwdGhTdGVuY2lsQXR0YWNobWVudC5nZXQoKSwgR3JhcGhpY3NDb250ZXh0M0Q6OkRF
UFRIX1NURU5DSUxfQVRUQUNITUVOVCkpCisgICAgICAgIGlmICghaXNBdHRhY2htZW50Q29tcGxl
dGUobV9kZXB0aFN0ZW5jaWxBdHRhY2htZW50LmdldCgpLCBHcmFwaGljc0NvbnRleHQzRDo6REVQ
VEhfU1RFTkNJTF9BVFRBQ0hNRU5ULCByZWFzb24pKQogICAgICAgICAgICAgcmV0dXJuIEdyYXBo
aWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQ7Ci0gICAgICAg
IGlmICghaXNWYWxpZFJlbmRlcmJ1ZmZlcihtX2RlcHRoU3RlbmNpbEF0dGFjaG1lbnQuZ2V0KCkp
KQorICAgICAgICBpZiAoIWlzVmFsaWRSZW5kZXJidWZmZXIobV9kZXB0aFN0ZW5jaWxBdHRhY2ht
ZW50LmdldCgpKSkgeworICAgICAgICAgICAgKnJlYXNvbiA9ICJERVBUSF9TVEVOQ0lMX0FUVEFD
SE1FTlQgaXMgbm90IHZhbGlkIjsKICAgICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHQz
RDo6RlJBTUVCVUZGRVJfVU5TVVBQT1JURUQ7CisgICAgICAgIH0KICAgICAgICAgaWYgKCFjb3Vu
dCkgewogICAgICAgICAgICAgd2lkdGggPSBnZXRJbWFnZVdpZHRoKG1fZGVwdGhTdGVuY2lsQXR0
YWNobWVudC5nZXQoKSk7CiAgICAgICAgICAgICBoZWlnaHQgPSBnZXRJbWFnZUhlaWdodChtX2Rl
cHRoU3RlbmNpbEF0dGFjaG1lbnQuZ2V0KCkpOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgaWYgKHdpZHRoICE9IGdldEltYWdlV2lkdGgobV9kZXB0aFN0ZW5jaWxBdHRhY2htZW50Lmdl
dCgpKSB8fCBoZWlnaHQgIT0gZ2V0SW1hZ2VIZWlnaHQobV9kZXB0aFN0ZW5jaWxBdHRhY2htZW50
LmdldCgpKSkKKyAgICAgICAgICAgIGlmICh3aWR0aCAhPSBnZXRJbWFnZVdpZHRoKG1fZGVwdGhT
dGVuY2lsQXR0YWNobWVudC5nZXQoKSkgfHwgaGVpZ2h0ICE9IGdldEltYWdlSGVpZ2h0KG1fZGVw
dGhTdGVuY2lsQXR0YWNobWVudC5nZXQoKSkpIHsKKyAgICAgICAgICAgICAgICAqcmVhc29uID0g
IkRFUFRIX1NURU5DSUxfQVRUQUNITUVOVCBoYXMgZGlmZmVyZW50IGRpbWVuc2lvbnMgdGhhbiBv
dGhlciBhdHRhY2htZW50cyI7CiAgICAgICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4
dDNEOjpGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlM7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICAgICAgY291bnQrKzsKICAgICB9CiAgICAgLy8gV2ViR0wgc3BlY2lmaWM6
IG5vIGNvbmZsaWN0aW5nIERFUFRIL1NURU5DSUwvREVQVEhfU1RFTkNJTCBhdHRhY2htZW50cy4K
LSAgICBpZiAoY291bnQgPiAxKQorICAgIGlmIChjb3VudCA+IDEpIHsKKyAgICAgICAgKnJlYXNv
biA9ICJjb25mbGljdGluZyBERVBUSC9TVEVOQ0lML0RFUFRIX1NURU5DSUwgYXR0YWNobWVudHMi
OwogICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSX1VOU1VQUE9S
VEVEOworICAgIH0KICAgICBpZiAoaXNDb2xvckF0dGFjaGVkKCkpIHsKICAgICAgICAgLy8gRklY
TUU6IGlmIGNvbG9yIGJ1ZmZlciBpcyB0ZXh0dXJlLCBpcyBBTFBIQSwgTFVNSU5BTkNFIG9yIExV
TUlOQU5DRV9BTFBIQSB2YWxpZD8KLSAgICAgICAgaWYgKCFnZXRDb2xvckJ1ZmZlckZvcm1hdCgp
KQorICAgICAgICBpZiAoIWdldENvbG9yQnVmZmVyRm9ybWF0KCkpIHsKKyAgICAgICAgICAgICpy
ZWFzb24gPSAiQ09MT1JfQVRUQUNITUVOVDAgaXMgYW4gdW5zdXBwb3J0ZWQgZm9ybWF0IjsKICAg
ICAgICAgICAgIHJldHVybiBHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVJfSU5DT01QTEVU
RV9BVFRBQ0hNRU5UOworICAgICAgICB9CiAgICAgICAgIGlmICghY291bnQpIHsKLSAgICAgICAg
ICAgIGlmICghZ2V0Q29sb3JCdWZmZXJXaWR0aCgpIHx8ICFnZXRDb2xvckJ1ZmZlckhlaWdodCgp
KQorICAgICAgICAgICAgaWYgKCFnZXRDb2xvckJ1ZmZlcldpZHRoKCkgfHwgIWdldENvbG9yQnVm
ZmVySGVpZ2h0KCkpICB7CisgICAgICAgICAgICAgICAgKnJlYXNvbiA9ICJDT0xPUl9BVFRBQ0hN
RU5UMCBoYXMgYSAwIGRpbWVuc2lvbiI7CiAgICAgICAgICAgICAgICAgcmV0dXJuIEdyYXBoaWNz
Q29udGV4dDNEOjpGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFDSE1FTlQ7CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpZiAod2lkdGggIT0gZ2V0Q29sb3JC
dWZmZXJXaWR0aCgpIHx8IGhlaWdodCAhPSBnZXRDb2xvckJ1ZmZlckhlaWdodCgpKQorICAgICAg
ICAgICAgaWYgKHdpZHRoICE9IGdldENvbG9yQnVmZmVyV2lkdGgoKSB8fCBoZWlnaHQgIT0gZ2V0
Q29sb3JCdWZmZXJIZWlnaHQoKSkgIHsKKyAgICAgICAgICAgICAgICAqcmVhc29uID0gIkNPTE9S
X0FUVEFDSE1FTlQwIGhhcyBkaWZmZXJlbnQgZGltZW5zaW9ucyB0aGFuIG90aGVyIGF0dGFjaG1l
bnRzIjsKICAgICAgICAgICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVG
RkVSX0lOQ09NUExFVEVfRElNRU5TSU9OUzsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQorCiAg
ICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKCFjb3VudCkKKyAgICAgICAgaWYgKCFjb3VudCkgewor
ICAgICAgICAgICAgKnJlYXNvbiA9ICJubyBhdHRhY2htZW50cyI7CiAgICAgICAgICAgICByZXR1
cm4gR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSX0lOQ09NUExFVEVfTUlTU0lOR19BVFRB
Q0hNRU5UOworICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBHcmFwaGljc0NvbnRleHQzRDo6
RlJBTUVCVUZGRVJfQ09NUExFVEU7CiB9CiAKLWJvb2wgV2ViR0xGcmFtZWJ1ZmZlcjo6b25BY2Nl
c3MoR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQzZCwgYm9vbCBuZWVkVG9Jbml0aWFsaXplUmVu
ZGVyYnVmZmVycykKK2Jvb2wgV2ViR0xGcmFtZWJ1ZmZlcjo6b25BY2Nlc3MoR3JhcGhpY3NDb250
ZXh0M0QqIGNvbnRleHQzZCwgYm9vbCBuZWVkVG9Jbml0aWFsaXplUmVuZGVyYnVmZmVycywgY29u
c3QgY2hhcioqIHJlYXNvbikKIHsKLSAgICBpZiAoY2hlY2tTdGF0dXMoKSAhPSBHcmFwaGljc0Nv
bnRleHQzRDo6RlJBTUVCVUZGRVJfQ09NUExFVEUpCisgICAgaWYgKGNoZWNrU3RhdHVzKHJlYXNv
bikgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSX0NPTVBMRVRFKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgaWYgKG5lZWRUb0luaXRpYWxpemVSZW5kZXJidWZmZXJzKQotICAg
ICAgICByZXR1cm4gaW5pdGlhbGl6ZVJlbmRlcmJ1ZmZlcnMoY29udGV4dDNkKTsKKyAgICAgICAg
cmV0dXJuIGluaXRpYWxpemVSZW5kZXJidWZmZXJzKGNvbnRleHQzZCwgcmVhc29uKTsKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIApAQCAtNDA0LDcgKzQzMCw3IEBAIHZvaWQgV2ViR0xGcmFtZWJ1ZmZl
cjo6ZGVsZXRlT2JqZWN0SW1wbChHcmFwaGljc0NvbnRleHQzRCogY29udGV4dDNkLCBQbGF0Zm9y
bTNECiAgICAgY29udGV4dDNkLT5kZWxldGVGcmFtZWJ1ZmZlcihvYmplY3QpOwogfQogCi1ib29s
IFdlYkdMRnJhbWVidWZmZXI6OmluaXRpYWxpemVSZW5kZXJidWZmZXJzKEdyYXBoaWNzQ29udGV4
dDNEKiBnM2QpCitib29sIFdlYkdMRnJhbWVidWZmZXI6OmluaXRpYWxpemVSZW5kZXJidWZmZXJz
KEdyYXBoaWNzQ29udGV4dDNEKiBnM2QsIGNvbnN0IGNoYXIqKiByZWFzb24pCiB7CiAgICAgQVNT
RVJUKG9iamVjdCgpKTsKICAgICBib29sIGluaXRDb2xvciA9IGZhbHNlLCBpbml0RGVwdGggPSBm
YWxzZSwgaW5pdFN0ZW5jaWwgPSBmYWxzZTsKQEAgLTQzMSw4ICs0NTcsMTAgQEAgYm9vbCBXZWJH
TEZyYW1lYnVmZmVyOjppbml0aWFsaXplUmVuZGVyYnVmZmVycyhHcmFwaGljc0NvbnRleHQzRCog
ZzNkKQogCiAgICAgLy8gV2Ugb25seSBjbGVhciB1bi1pbml0aWFsaXplZCByZW5kZXJidWZmZXJz
IHdoZW4gdGhleSBhcmUgcmVhZHkgdG8gYmUKICAgICAvLyByZWFkLCBpLmUuLCB3aGVuIHRoZSBm
cmFtZWJ1ZmZlciBpcyBjb21wbGV0ZS4KLSAgICBpZiAoZzNkLT5jaGVja0ZyYW1lYnVmZmVyU3Rh
dHVzKEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUikgIT0gR3JhcGhpY3NDb250ZXh0M0Q6
OkZSQU1FQlVGRkVSX0NPTVBMRVRFKQorICAgIGlmIChnM2QtPmNoZWNrRnJhbWVidWZmZXJTdGF0
dXMoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSKSAhPSBHcmFwaGljc0NvbnRleHQzRDo6
RlJBTUVCVUZGRVJfQ09NUExFVEUpIHsKKyAgICAgICAgKnJlYXNvbiA9ICJmcmFtZWJ1ZmZlciBu
b3QgY29tcGxldGUiOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogCiAgICAgR0MzRGZs
b2F0IGNvbG9yQ2xlYXJWYWx1ZVtdID0gezAsIDAsIDAsIDB9LCBkZXB0aENsZWFyVmFsdWUgPSAw
OwogICAgIEdDM0RpbnQgc3RlbmNpbENsZWFyVmFsdWUgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5oCmluZGV4IDY3NmEwYTg5MzE4OTE3NWFlOWJk
M2VhZDBkZWI3ZDQ1MWFmMWI1NjIuLmM2OWIwY2M2YTU4ZjVmYWE4YzljMDlmOThkZWJjODRkNjU4
YjA4MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVi
dWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVy
LmgKQEAgLTYxLDEzICs2MSwxMyBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJuIGZhbHNlIGlmIHRo
ZSBmcmFtZWJ1ZmZlciBpcyBpbmNvbXBsZXRlOyBvdGhlcndpc2UgaW5pdGlhbGl6ZQogICAgIC8v
IHRoZSBidWZmZXJzIGlmIHRoZXkgaGF2ZW4ndCBiZWVuIGluaXRpYWxpemVkIGFuZAogICAgIC8v
IG5lZWRUb0luaXRpYWxpemVSZW5kZXJidWZmZXJzIGlzIHRydWUuCi0gICAgYm9vbCBvbkFjY2Vz
cyhHcmFwaGljc0NvbnRleHQzRCosIGJvb2wgbmVlZFRvSW5pdGlhbGl6ZVJlbmRlcmJ1ZmZlcnMp
OworICAgIGJvb2wgb25BY2Nlc3MoR3JhcGhpY3NDb250ZXh0M0QqLCBib29sIG5lZWRUb0luaXRp
YWxpemVSZW5kZXJidWZmZXJzLCBjb25zdCBjaGFyKiogcmVhc29uKTsKIAogICAgIC8vIFNvZnR3
YXJlIHZlcnNpb24gb2YgZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzKCksIGV4Y2VwdCB0aGF0IHdo
ZW4KICAgICAvLyBGUkFNRUJVRkZFUl9DT01QTEVURSBpcyByZXR1cm5lZCwgaXQgaXMgc3RpbGwg
cG9zc2libGUgZm9yCiAgICAgLy8gZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzKCkgdG8gcmV0dXJu
IEZSQU1FQlVGRkVSX1VOU1VQUE9SVEVELAogICAgIC8vIGRlcGVuZGluZyBvbiBoYXJkd2FyZSBp
bXBsZW1lbnRhdGlvbi4KLSAgICBHQzNEZW51bSBjaGVja1N0YXR1cygpIGNvbnN0OworICAgIEdD
M0RlbnVtIGNoZWNrU3RhdHVzKGNvbnN0IGNoYXIqKiByZWFzb24pIGNvbnN0OwogCiAgICAgYm9v
bCBoYXNFdmVyQmVlbkJvdW5kKCkgY29uc3QgeyByZXR1cm4gb2JqZWN0KCkgJiYgbV9oYXNFdmVy
QmVlbkJvdW5kOyB9CiAKQEAgLTg0LDcgKzg0LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJv
b2wgaXNGcmFtZWJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIC8vIFJldHVy
biBmYWxzZSBpZiBmcmFtZWJ1ZmZlciBpcyBpbmNvbXBsZXRlLgotICAgIGJvb2wgaW5pdGlhbGl6
ZVJlbmRlcmJ1ZmZlcnMoR3JhcGhpY3NDb250ZXh0M0QqKTsKKyAgICBib29sIGluaXRpYWxpemVS
ZW5kZXJidWZmZXJzKEdyYXBoaWNzQ29udGV4dDNEKiwgY29uc3QgY2hhcioqIHJlYXNvbik7CiAK
ICAgICAvLyBDaGVjayBpZiB0aGUgZnJhbWVidWZmZXIgaXMgY3VycmVudGx5IGJvdW5kLgogICAg
IGJvb2wgaXNCb3VuZCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggNThhNGFjMjNmYTQyNzM4OWZmMjU4
Y2JhNDMwNTUyMzY1N2U0OGI2ZC4uOTAxMjQ2ZDJlMDhkNmYxMWI4ZDYwNjhiOWYzZGI5NGU4Njc2
Y2Y5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwCkBAIC0xMTY1LDkgKzExNjUsMTIgQEAgR0MzRGVudW0gV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpjaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdDM0RlbnVtIHRhcmdldCkKICAg
ICB9CiAgICAgaWYgKCFtX2ZyYW1lYnVmZmVyQmluZGluZyB8fCAhbV9mcmFtZWJ1ZmZlckJpbmRp
bmctPm9iamVjdCgpKQogICAgICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVG
RkVSX0NPTVBMRVRFOwotICAgIEdDM0RlbnVtIHJlc3VsdCA9IG1fZnJhbWVidWZmZXJCaW5kaW5n
LT5jaGVja1N0YXR1cygpOwotICAgIGlmIChyZXN1bHQgIT0gR3JhcGhpY3NDb250ZXh0M0Q6OkZS
QU1FQlVGRkVSX0NPTVBMRVRFKQorICAgIGNvbnN0IGNoYXIqIHJlYXNvbiA9ICJmcmFtZWJ1ZmZl
ciBpbmNvbXBsZXRlIjsKKyAgICBHQzNEZW51bSByZXN1bHQgPSBtX2ZyYW1lYnVmZmVyQmluZGlu
Zy0+Y2hlY2tTdGF0dXMoJnJlYXNvbik7CisgICAgaWYgKHJlc3VsdCAhPSBHcmFwaGljc0NvbnRl
eHQzRDo6RlJBTUVCVUZGRVJfQ09NUExFVEUpIHsKKyAgICAgICAgcHJpbnRHTFdhcm5pbmdUb0Nv
bnNvbGUoImNoZWNrRnJhbWVidWZmZXJTdGF0dXMiLCByZWFzb24pOwogICAgICAgICByZXR1cm4g
cmVzdWx0OworICAgIH0KICAgICByZXN1bHQgPSBtX2NvbnRleHQtPmNoZWNrRnJhbWVidWZmZXJT
dGF0dXModGFyZ2V0KTsKICAgICBjbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwogICAg
IHJldHVybiByZXN1bHQ7CkBAIC0xMTgxLDggKzExODQsOSBAQCB2b2lkIFdlYkdMUmVuZGVyaW5n
Q29udGV4dDo6Y2xlYXIoR0MzRGJpdGZpZWxkIG1hc2spCiAgICAgICAgIHN5bnRoZXNpemVHTEVy
cm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXIiLCAiaW52YWxpZCBt
YXNrIik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYgKG1fZnJhbWVidWZmZXJCaW5k
aW5nICYmICFtX2ZyYW1lYnVmZmVyQmluZGluZy0+b25BY2Nlc3MoZ3JhcGhpY3NDb250ZXh0M0Qo
KSwgIWlzUmVzb3VyY2VTYWZlKCkpKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dDNEOjpJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgImNsZWFyIiwgImNh
biBub3QgcmVuZGVyIHRvIGZyYW1lYnVmZmVyIik7CisgICAgY29uc3QgY2hhciogcmVhc29uID0g
ImZyYW1lYnVmZmVyIGluY29tcGxldGUiOworICAgIGlmIChtX2ZyYW1lYnVmZmVyQmluZGluZyAm
JiAhbV9mcmFtZWJ1ZmZlckJpbmRpbmctPm9uQWNjZXNzKGdyYXBoaWNzQ29udGV4dDNEKCksICFp
c1Jlc291cmNlU2FmZSgpLCAmcmVhc29uKSkgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihH
cmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sICJjbGVhciIs
IHJlYXNvbik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYgKCFjbGVhcklmQ29tcG9z
aXRlZChtYXNrKSkKQEAgLTEzMzMsOCArMTMzNyw5IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0Ojpjb3B5VGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0Rl
CiAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZB
TFVFLCAiY29weVRleEltYWdlMkQiLCAibGV2ZWwgPiAwIG5vdCBwb3dlciBvZiAyIik7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYgKG1fZnJhbWVidWZmZXJCaW5kaW5nICYmICFtX2Zy
YW1lYnVmZmVyQmluZGluZy0+b25BY2Nlc3MoZ3JhcGhpY3NDb250ZXh0M0QoKSwgIWlzUmVzb3Vy
Y2VTYWZlKCkpKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNE
OjpJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgImNvcHlUZXhJbWFnZTJEIiwgImZyYW1l
YnVmZmVyIG5vdCByZWFkYWJsZSIpOworICAgIGNvbnN0IGNoYXIqIHJlYXNvbiA9ICJmcmFtZWJ1
ZmZlciBpbmNvbXBsZXRlIjsKKyAgICBpZiAobV9mcmFtZWJ1ZmZlckJpbmRpbmcgJiYgIW1fZnJh
bWVidWZmZXJCaW5kaW5nLT5vbkFjY2VzcyhncmFwaGljc0NvbnRleHQzRCgpLCAhaXNSZXNvdXJj
ZVNhZmUoKSwgJnJlYXNvbikpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3ND
b250ZXh0M0Q6OklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OLCAiY29weVRleEltYWdlMkQi
LCByZWFzb24pOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNsZWFySWZDb21wb3NpdGVk
KCk7CkBAIC0xMzc5LDggKzEzODQsOSBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Y29w
eVRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQwogICAgICAg
ICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04s
ICJjb3B5VGV4U3ViSW1hZ2UyRCIsICJmcmFtZWJ1ZmZlciBpcyBpbmNvbXBhdGlibGUgZm9ybWF0
Iik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYgKG1fZnJhbWVidWZmZXJCaW5kaW5n
ICYmICFtX2ZyYW1lYnVmZmVyQmluZGluZy0+b25BY2Nlc3MoZ3JhcGhpY3NDb250ZXh0M0QoKSwg
IWlzUmVzb3VyY2VTYWZlKCkpKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgImNvcHlUZXhTdWJJbWFn
ZTJEIiwgImZyYW1lYnVmZmVyIG5vdCByZWFkYWJsZSIpOworICAgIGNvbnN0IGNoYXIqIHJlYXNv
biA9ICJmcmFtZWJ1ZmZlciBpbmNvbXBsZXRlIjsKKyAgICBpZiAobV9mcmFtZWJ1ZmZlckJpbmRp
bmcgJiYgIW1fZnJhbWVidWZmZXJCaW5kaW5nLT5vbkFjY2VzcyhncmFwaGljc0NvbnRleHQzRCgp
LCAhaXNSZXNvdXJjZVNhZmUoKSwgJnJlYXNvbikpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJy
b3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OLCAiY29w
eVRleFN1YkltYWdlMkQiLCByZWFzb24pOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGNs
ZWFySWZDb21wb3NpdGVkKCk7CkBAIC0xODc4LDggKzE4ODQsOSBAQCB2b2lkIFdlYkdMUmVuZGVy
aW5nQ29udGV4dDo6ZHJhd0FycmF5cyhHQzNEZW51bSBtb2RlLCBHQzNEaW50IGZpcnN0LCBHQzNE
c2l6ZWkgYwogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKG1fZnJhbWVidWZmZXJCaW5kaW5n
ICYmICFtX2ZyYW1lYnVmZmVyQmluZGluZy0+b25BY2Nlc3MoZ3JhcGhpY3NDb250ZXh0M0QoKSwg
IWlzUmVzb3VyY2VTYWZlKCkpKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dDNEOjpJTlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgImRyYXdBcnJheXMiLCAi
ZnJhbWVidWZmZXIgY2FuIG5vdCBiZSByZW5kZXJlZCB0byIpOworICAgIGNvbnN0IGNoYXIqIHJl
YXNvbiA9ICJmcmFtZWJ1ZmZlciBpbmNvbXBsZXRlIjsKKyAgICBpZiAobV9mcmFtZWJ1ZmZlckJp
bmRpbmcgJiYgIW1fZnJhbWVidWZmZXJCaW5kaW5nLT5vbkFjY2VzcyhncmFwaGljc0NvbnRleHQz
RCgpLCAhaXNSZXNvdXJjZVNhZmUoKSwgJnJlYXNvbikpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRlJBTUVCVUZGRVJfT1BFUkFUSU9OLCAi
ZHJhd0FycmF5cyIsIHJlYXNvbik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE5NTIs
OCArMTk1OSw5IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpkcmF3RWxlbWVudHMoR0Mz
RGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzNEZW51CiAgICAgICAgIH0KICAgICB9CiAK
LSAgICBpZiAobV9mcmFtZWJ1ZmZlckJpbmRpbmcgJiYgIW1fZnJhbWVidWZmZXJCaW5kaW5nLT5v
bkFjY2VzcyhncmFwaGljc0NvbnRleHQzRCgpLCAhaXNSZXNvdXJjZVNhZmUoKSkpIHsKLSAgICAg
ICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRlJBTUVCVUZG
RVJfT1BFUkFUSU9OLCAiZHJhd0VsZW1lbnRzIiwgImZyYW1lYnVmZmVyIGNhbiBub3QgYmUgcmVu
ZGVyZWQgdG8iKTsKKyAgICBjb25zdCBjaGFyKiByZWFzb24gPSAiZnJhbWVidWZmZXIgaW5jb21w
bGV0ZSI7CisgICAgaWYgKG1fZnJhbWVidWZmZXJCaW5kaW5nICYmICFtX2ZyYW1lYnVmZmVyQmlu
ZGluZy0+b25BY2Nlc3MoZ3JhcGhpY3NDb250ZXh0M0QoKSwgIWlzUmVzb3VyY2VTYWZlKCksICZy
ZWFzb24pKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJ
TlZBTElEX0ZSQU1FQlVGRkVSX09QRVJBVElPTiwgImRyYXdFbGVtZW50cyIsIHJlYXNvbik7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAgICAgY2xlYXJJZkNvbXBvc2l0ZWQoKTsKQEAgLTMyNTUs
OCArMzI2Myw5IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0OjpyZWFkUGl4ZWxzKEdDM0Rp
bnQgeCwgR0MzRGludCB5LCBHQzNEc2l6ZWkgd2lkdGgsIEdDCiAgICAgICAgIHN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX09QRVJBVElPTiwgInJlYWRQaXhlbHMi
LCAiQXJyYXlCdWZmZXJWaWV3IG5vdCBVaW50OEFycmF5Iik7CiAgICAgICAgIHJldHVybjsKICAg
ICB9Ci0gICAgaWYgKG1fZnJhbWVidWZmZXJCaW5kaW5nICYmICFtX2ZyYW1lYnVmZmVyQmluZGlu
Zy0+b25BY2Nlc3MoZ3JhcGhpY3NDb250ZXh0M0QoKSwgIWlzUmVzb3VyY2VTYWZlKCkpKSB7Ci0g
ICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX0ZSQU1F
QlVGRkVSX09QRVJBVElPTiwgInJlYWRQaXhlbHMiLCAiZnJhbWVidWZmZXIgbm90IHJlYWRhYmxl
Iik7CisgICAgY29uc3QgY2hhciogcmVhc29uID0gImZyYW1lYnVmZmVyIGluY29tcGxldGUiOwor
ICAgIGlmIChtX2ZyYW1lYnVmZmVyQmluZGluZyAmJiAhbV9mcmFtZWJ1ZmZlckJpbmRpbmctPm9u
QWNjZXNzKGdyYXBoaWNzQ29udGV4dDNEKCksICFpc1Jlc291cmNlU2FmZSgpLCAmcmVhc29uKSkg
eworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9G
UkFNRUJVRkZFUl9PUEVSQVRJT04sICJyZWFkUGl4ZWxzIiwgcmVhc29uKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KICAgICAvLyBDYWxjdWxhdGUgYXJyYXkgc2l6ZSwgdGFraW5nIGludG8gY29u
c2lkZXJhdGlvbiBvZiBQQUNLX0FMSUdOTUVOVC4KQEAgLTU1MzIsNiArNTU0MSwxNCBAQCB2b2lk
IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6c3ludGhlc2l6ZUdMRXJyb3IoR0MzRGVudW0gZXJyb3Is
IGNvbnN0IGNoYXIqIGZ1bmN0aQogfQogCiAKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0Ojpw
cmludEdMV2FybmluZ1RvQ29uc29sZShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIGNvbnN0IGNo
YXIqIGRlc2NyaXB0aW9uKQoreworICAgIGlmIChtX3N5bnRoZXNpemVkRXJyb3JzVG9Db25zb2xl
KSB7CisgICAgICAgIFN0cmluZyBzdHIgPSBTdHJpbmcoIldlYkdMOiAiKSArIFN0cmluZyhmdW5j
dGlvbk5hbWUpICsgIjogIiArIFN0cmluZyhkZXNjcmlwdGlvbik7CisgICAgICAgIHByaW50R0xF
cnJvclRvQ29uc29sZShzdHIpOworICAgIH0KK30KKwogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmFwcGx5U3RlbmNpbFRlc3QoKQogewogICAgIGJvb2wgaGF2ZVN0ZW5jaWxCdWZmZXIgPSBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmgKaW5kZXggZjE4Y2IxNzUzYjFiZDI3ZDFhNzExZTQwMDIwMTBlNWYxOTg4MDQyYS4u
NTQ4YTk5OWIxYTcwYWNjNTQ3YjI5ZGYxMmQzNWU2ODQ1NDM3MDZkZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgKQEAgLTYzNCw2
ICs2MzQsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gcHJpbnQgR0wg
ZXJyb3JzIHRvIGNvbnNvbGUuCiAgICAgdm9pZCBwcmludEdMRXJyb3JUb0NvbnNvbGUoY29uc3Qg
U3RyaW5nJik7CisgICAgdm9pZCBwcmludEdMV2FybmluZ1RvQ29uc29sZShjb25zdCBjaGFyKiBm
dW5jdGlvbiwgY29uc3QgY2hhciogcmVhc29uKTsKIAogICAgIC8vIEhlbHBlciBmdW5jdGlvbiB0
byBwcmludCB3YXJuaW5ncyB0byBjb25zb2xlLiBDdXJyZW50bHkKICAgICAvLyB1c2VkIG9ubHkg
dG8gd2FybiBhYm91dCB1c2Ugb2Ygb2Jzb2xldGUgZnVuY3Rpb25zLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>