<?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>7511</bug_id>
          
          <creation_ts>2006-02-28 02:52:13 -0800</creation_ts>
          <short_desc>make win32 DumpRenderTree run without crashing</short_desc>
          <delta_ts>2006-02-28 22:23:07 -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>Tools / Tests</component>
          <version>420+</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>34400</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-02-28 02:52:13 -0800</bug_when>
    <thetext>make win32 DumpRenderTree run without crashing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34401</commentid>
    <comment_count>1</comment_count>
      <attachid>6772</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-02-28 02:56:26 -0800</bug_when>
    <thetext>Created attachment 6772
patch to fix remaining crashes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34431</commentid>
    <comment_count>2</comment_count>
      <attachid>6772</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-02-28 09:35:27 -0800</bug_when>
    <thetext>Comment on attachment 6772
patch to fix remaining crashes

I&apos;d prefer that the macro names like QNAME_DEFAULT_CONSTRUCTOR and DOM_HTMLNAMES_HIDE_GLOBALS match more closely -- either both should use a prefix or neither.

It seems to me that the !AVOID_STATIC_CONSTRUCTORS case is now a bit broken, so I&apos;m not sure why AVOID_STATIC_CONSTRUCTORS still exists. It seems we now have a new technique for avoiding static constructors that is more portable, so we can do it everywhere.

I&apos;m not happy with all the casts to void*, although I suppose they are necessary.

I don&apos;t understand why the changes here for static constructors are not also in JavaScriptCore.

Instead of __VA_ARGS__ the DEFINE_GLOBAL macro could be changed to take a parenthesized list of constructor parameters as a single macro argument, and hence work around a problem you were addressing here.

The patch has tabs in it, in the DocumentImpl.cpp part.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>34438</commentid>
    <comment_count>3</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-02-28 11:37:40 -0800</bug_when>
    <thetext>The !AVOID case still generates static constructors, it just does its best to only make ones that won&apos;t do anything interesting. I believe it would still result in generating framework init functions.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6772</attachid>
            <date>2006-02-28 02:56:26 -0800</date>
            <delta_ts>2006-02-28 09:35:27 -0800</delta_ts>
            <desc>patch to fix remaining crashes</desc>
            <filename>win-drt-run.patch.txt</filename>
            <type>text/plain</type>
            <size>18859</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2h0bWwvaHRtbG5hbWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBraHRtbC9odG1s
L2h0bWxuYW1lcy5jcHAJKHJldmlzaW9uIDEzMDUzKQorKysga2h0bWwvaHRtbC9odG1sbmFtZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw4IEBACiAKICNpZiBBVk9JRF9TVEFUSUNf
Q09OU1RSVUNUT1JTCiAjZGVmaW5lIERPTV9IVE1MTkFNRVNfSElERV9HTE9CQUxTIDEKKyNlbHNl
CisjZGVmaW5lIFFOQU1FX0RFRkFVTFRfQ09OU1RSVUNUT1IgMQogI2VuZGlmCiAKICNpbmNsdWRl
ICJodG1sbmFtZXMuaCIKQEAgLTQ1LDE2ICs0NywxNSBAQCB2b2lkIGluaXQoKQogewogICAgIHN0
YXRpYyBib29sIGluaXRpYWxpemVkOwogICAgIGlmICghaW5pdGlhbGl6ZWQpIHsKLSNpZiBBVk9J
RF9TVEFUSUNfQ09OU1RSVUNUT1JTCiAgICAgICAgIC8vIFVzZSBwbGFjZW1lbnQgbmV3IHRvIGlu
aXRpYWxpemUgdGhlIGdsb2JhbHMuCiAKICAgICAgICAgQXRvbWljU3RyaW5nIHhodG1sTlMoImh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiKTsKIAogICAgICAgICAvLyBOYW1lc3BhY2UKLSAg
ICAgICAgbmV3ICgmeGh0bWxOYW1lc3BhY2VVUkkpIEF0b21pY1N0cmluZyh4aHRtbE5TKTsKKyAg
ICAgICAgbmV3ICgodm9pZCopJnhodG1sTmFtZXNwYWNlVVJJKSBBdG9taWNTdHJpbmcoeGh0bWxO
Uyk7CiAKICAgICAgICAgLy8gVGFncwotICAgICAgICAjZGVmaW5lIElOSVRJQUxJWkVfVEFHX0dM
T0JBTChuYW1lKSBuZXcgKCZuYW1lIyNUYWcpIFF1YWxpZmllZE5hbWUobnVsbEF0b20sICNuYW1l
LCB4aHRtbE5TKTsKKyAgICAgICAgI2RlZmluZSBJTklUSUFMSVpFX1RBR19HTE9CQUwobmFtZSkg
bmV3ICgodm9pZCopJm5hbWUjI1RhZykgUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgI25hbWUsIHho
dG1sTlMpOwogICAgICAgICBET01fSFRNTE5BTUVTX0ZPUl9FQUNIX1RBRyhJTklUSUFMSVpFX1RB
R19HTE9CQUwpCiAKICAgICAgICAgLy8gQXR0cmlidXRlcwpAQCAtNjMsMTIgKzY0LDggQEAgdm9p
ZCBpbml0KCkKICAgICAgICAgRE9NX0hUTUxOQU1FU19GT1JfRUFDSF9BVFRSKERFRklORV9BVFRS
X1NUUklORykKICAgICAgICAgYWNjZXB0X2NoYXJzZXRBdHRyU3RyaW5nID0gImFjY2VwdC1jaGFy
c2V0IjsKICAgICAgICAgaHR0cF9lcXVpdkF0dHJTdHJpbmcgPSAiaHR0cC1lcXVpdiI7Ci0gICAg
ICAgICNkZWZpbmUgSU5JVElBTElaRV9BVFRSX0dMT0JBTChuYW1lKSBuZXcgKCZuYW1lIyNBdHRy
KSBRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBuYW1lIyNBdHRyU3RyaW5nLCBudWxsQXRvbSk7Cisg
ICAgICAgICNkZWZpbmUgSU5JVElBTElaRV9BVFRSX0dMT0JBTChuYW1lKSBuZXcgKCh2b2lkKikm
bmFtZSMjQXR0cikgUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgbmFtZSMjQXR0clN0cmluZywgbnVs
bEF0b20pOwogICAgICAgICBET01fSFRNTE5BTUVTX0ZPUl9FQUNIX0FUVFIoSU5JVElBTElaRV9B
VFRSX0dMT0JBTCkKLSNlbHNlCi0gICAgICAgIGNvbnN0X2Nhc3Q8UXVhbGlmaWVkTmFtZSY+KGFj
Y2VwdF9jaGFyc2V0QXR0cikgPSBRdWFsaWZpZWROYW1lKG51bGxBdG9tLCAiYWNjZXB0LWNoYXJz
ZXQiLCBudWxsQXRvbSk7Ci0gICAgICAgIGNvbnN0X2Nhc3Q8UXVhbGlmaWVkTmFtZSY+KGh0dHBf
ZXF1aXZBdHRyKSA9IFF1YWxpZmllZE5hbWUobnVsbEF0b20sICJodHRwLWVxdWl2IiwgbnVsbEF0
b20pOwotI2VuZGlmCiAgICAgICAgIGluaXRpYWxpemVkID0gdHJ1ZTsKICAgICB9CiB9CkluZGV4
OiBwbGF0Zm9ybS93aW4vVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0
Zm9ybS93aW4vVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAkocmV2aXNpb24gMTMwNTMpCisrKyBwbGF0
Zm9ybS93aW4vVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiAr
MzQsNyBAQAogI2luY2x1ZGUgIlBsdWdJbkluZm9TdG9yZS5oIgogI2luY2x1ZGUgInJlbmRlcl90
aGVtZS5oIgogI2luY2x1ZGUgIkZyYW1lV2luLmgiCisjaW5jbHVkZSAiQnJvd3NlckV4dGVuc2lv
bldpbi5oIgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtMTYyLDcgKzE2Myw3IEBA
IHZvaWQgUVRleHRFZGl0OjpzZXRTZWxlY3Rpb25SYW5nZShpbnQsaW4KIHZvaWQgUVBhaW50ZXI6
OmRyYXdUZXh0KGludCxpbnQsaW50LGludCxRQ2hhciBjb25zdCosaW50LGludCxpbnQsaW50LENv
bG9yIGNvbnN0JixRUGFpbnRlcjo6VGV4dERpcmVjdGlvbixib29sLGludCxpbnQsYm9vbCkgeyBu
b3RJbXBsZW1lbnRlZCgpOyB9CiB2b2lkIFNjcm9sbFZpZXc6OnNjcm9sbFBvaW50UmVjdXJzaXZl
bHkoaW50LGludCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiBJbnRTaXplIFFMaW5lRWRpdDo6c2l6
ZUZvckNoYXJhY3RlcldpZHRoKGludCkgY29uc3QgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4g
SW50U2l6ZSgpOyB9Ci1DdXJzb3I6On5DdXJzb3IoKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KK0N1
cnNvcjo6fkN1cnNvcigpIHsgfQogSW50UmVjdCBRRm9udE1ldHJpY3M6OnNlbGVjdGlvblJlY3RG
b3JUZXh0KGludCxpbnQsaW50LGludCxpbnQsUUNoYXIgY29uc3QqLGludCxpbnQsaW50LGludCxi
b29sLGJvb2wsaW50LGludCxib29sKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiBJ
bnRSZWN0KCk7IH0KIHZvaWQgU2Nyb2xsVmlldzo6c3VwcHJlc3NTY3JvbGxCYXJzKGJvb2wsYm9v
bCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9CiBpbnQgUUZvbnRNZXRyaWNzOjpjaGVja1NlbGVjdGlv
blBvaW50KFFDaGFyKixpbnQsaW50LGludCxpbnQsaW50LGludCxpbnQsaW50LGJvb2wsaW50LGJv
b2wsYm9vbCxib29sKSBjb25zdCB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiAwOyB9CkBAIC0z
MTAsMTIgKzMxMSwxMiBAQCB1bnNpZ25lZCBQbHVnSW5JbmZvU3RvcmU6OnBsdWdpbkNvdW50KCkg
CiB2b2lkIFdlYkNvcmU6OnJlZnJlc2hQbHVnaW5zKGJvb2wpIHsgbm90SW1wbGVtZW50ZWQoKTsg
fQogaW50IFdlYkNvcmU6OnNjcmVlbkRlcHRoKFdlYkNvcmU6OldpZGdldCopIHsgbm90SW1wbGVt
ZW50ZWQoKTsgcmV0dXJuIDk2OyB9CiBRRm9udDo6UUZvbnQoKSB7IH0KLVFGb250Ojp+UUZvbnQo
KSB7IG5vdEltcGxlbWVudGVkKCk7IH0KK1FGb250Ojp+UUZvbnQoKSB7IH0KIGJvb2wgUUZvbnQ6
Oml0YWxpYygpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIGZhbHNlOyB9CiBpbnQg
UUZvbnQ6OndlaWdodCgpIGNvbnN0IHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIFFGb250OjpO
b3JtYWw7IH0KIHN0YXRpYyBRRm9udE1ldHJpY3MgbG9jYWxGb250TWV0cmljczsKIFFGb250TWV0
cmljczo6UUZvbnRNZXRyaWNzKCkgeyB9Ci1RRm9udE1ldHJpY3M6On5RRm9udE1ldHJpY3MoKSB7
IG5vdEltcGxlbWVudGVkKCk7IH0KK1FGb250TWV0cmljczo6flFGb250TWV0cmljcygpIHsgfQog
UUZvbnRNZXRyaWNzOjpRRm9udE1ldHJpY3MoUUZvbnRNZXRyaWNzIGNvbnN0JikgeyBub3RJbXBs
ZW1lbnRlZCgpOyB9CiBRRm9udE1ldHJpY3MmIFFGb250TWV0cmljczo6b3BlcmF0b3I9KFFGb250
TWV0cmljcyBjb25zdCYpIHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIGxvY2FsRm9udE1ldHJp
Y3M7IH0KIGZsb2F0IFFGb250TWV0cmljczo6eEhlaWdodCgpIGNvbnN0IHsgbm90SW1wbGVtZW50
ZWQoKTsgcmV0dXJuIDA7IH0KQEAgLTM0NSw3ICszNDYsNyBAQCBXaWRnZXQqIFdlYkNvcmU6OkZy
YW1lVmlldzo6dG9wTGV2ZWxXaWRnCiAgY2xhc3MgS0pTOjpCaW5kaW5nczo6SW5zdGFuY2UgKiAg
V2ViQ29yZTo6RnJhbWVXaW46OmdldE9iamVjdEluc3RhbmNlRm9yV2lkZ2V0KGNsYXNzIFdlYkNv
cmU6OldpZGdldCAqKSB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiAwOyB9CiAgY2xhc3MgS0pT
OjpCaW5kaW5nczo6SW5zdGFuY2UgKiAgV2ViQ29yZTo6RnJhbWVXaW46OmdldEVtYmVkSW5zdGFu
Y2VGb3JXaWRnZXQoY2xhc3MgV2ViQ29yZTo6V2lkZ2V0ICopIHsgbm90SW1wbGVtZW50ZWQoKTsg
cmV0dXJuIDA7IH0KICBib29sICBXZWJDb3JlOjpGcmFtZVdpbjo6Y2FuUmVkbyh2b2lkKWNvbnN0
ICB7IG5vdEltcGxlbWVudGVkKCk7IHJldHVybiAwOyB9Ci0gdm9pZCAgV2ViQ29yZTo6RnJhbWVX
aW46OnJlc3RvcmVEb2N1bWVudFN0YXRlKHZvaWQpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorIHZv
aWQgIFdlYkNvcmU6OkZyYW1lV2luOjpyZXN0b3JlRG9jdW1lbnRTdGF0ZSh2b2lkKSB7IH0KICBi
b29sICBXZWJDb3JlOjpGcmFtZVdpbjo6Y2FuVW5kbyh2b2lkKWNvbnN0ICB7IG5vdEltcGxlbWVu
dGVkKCk7IHJldHVybiAwOyB9CiAgYm9vbCAgV2ViQ29yZTo6RnJhbWVXaW46OnJ1bkphdmFTY3Jp
cHRQcm9tcHQoY2xhc3MgV2ViQ29yZTo6U3RyaW5nIGNvbnN0ICYsY2xhc3MgV2ViQ29yZTo6U3Ry
aW5nIGNvbnN0ICYsY2xhc3MgV2ViQ29yZTo6U3RyaW5nICYpIHsgbm90SW1wbGVtZW50ZWQoKTsg
cmV0dXJuIDA7IH0KICB2b2lkICBXZWJDb3JlOjpGcmFtZVdpbjo6cmVjb3JkRm9ybVZhbHVlKGNs
YXNzIFFTdHJpbmcgY29uc3QgJixjbGFzcyBRU3RyaW5nIGNvbnN0ICYsY2xhc3MgV2ViQ29yZTo6
SFRNTEZvcm1FbGVtZW50SW1wbCAqKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KQEAgLTM2Niw3ICsz
NjcsNyBAQCBXaWRnZXQqIFdlYkNvcmU6OkZyYW1lVmlldzo6dG9wTGV2ZWxXaWRnCiAgdm9pZCAg
V2ViQ29yZTo6RnJhbWVXaW46Om9wZW5VUkxSZXF1ZXN0KGNsYXNzIEtVUkwgY29uc3QgJixzdHJ1
Y3QgV2ViQ29yZTo6VVJMQXJncyBjb25zdCAmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KICB2b2lk
ICBXZWJDb3JlOjpGcmFtZVdpbjo6YWRkTWVzc2FnZVRvQ29uc29sZShjbGFzcyBXZWJDb3JlOjpT
dHJpbmcgY29uc3QgJix1bnNpZ25lZCBpbnQsY2xhc3MgV2ViQ29yZTo6U3RyaW5nIGNvbnN0ICYp
IHsgbm90SW1wbGVtZW50ZWQoKTsgfQogIGJvb2wgIFdlYkNvcmU6OkZyYW1lV2luOjpwYXNzV2hl
ZWxFdmVudFRvQ2hpbGRXaWRnZXQoY2xhc3MgV2ViQ29yZTo6Tm9kZUltcGwgKikgeyBub3RJbXBs
ZW1lbnRlZCgpOyByZXR1cm4gMDsgfQotIHZvaWQgIFdlYkNvcmU6OkZyYW1lV2luOjpwYXJ0Q2xl
YXJlZEluQmVnaW4odm9pZCkgeyBub3RJbXBsZW1lbnRlZCgpOyB9Cisgdm9pZCAgV2ViQ29yZTo6
RnJhbWVXaW46OnBhcnRDbGVhcmVkSW5CZWdpbih2b2lkKSB7IH0KICB2b2lkICBXZWJDb3JlOjpG
cmFtZVdpbjo6aXNzdWVVbmRvQ29tbWFuZCh2b2lkKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KICBj
bGFzcyBRU3RyaW5nICBXZWJDb3JlOjpGcmFtZVdpbjo6bWltZVR5cGVGb3JGaWxlTmFtZShjbGFz
cyBRU3RyaW5nIGNvbnN0ICYpY29uc3QgIHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIFFTdHJp
bmcoKTsgfQogIHZvaWQgIFdlYkNvcmU6OkZyYW1lV2luOjpjbGVhclJlY29yZGVkRm9ybVZhbHVl
cyh2b2lkKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KQEAgLTM3OCw3ICszNzksNyBAQCBXaWRnZXQq
IFdlYkNvcmU6OkZyYW1lVmlldzo6dG9wTGV2ZWxXaWRnCiAgdm9pZCAgV2ViQ29yZTo6RnJhbWVX
aW46Om1hcmtNaXNzcGVsbGluZ3MoY2xhc3MgV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlciBj
b25zdCAmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KICBib29sICBXZWJDb3JlOjpGcmFtZVdpbjo6
bWVudWJhclZpc2libGUodm9pZCkgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gMDsgfQogIGJv
b2wgIFdlYkNvcmU6OkZyYW1lV2luOjpwZXJzb25hbGJhclZpc2libGUodm9pZCkgeyBub3RJbXBs
ZW1lbnRlZCgpOyByZXR1cm4gMDsgfQotIHZvaWQgIFdlYkNvcmU6OkZyYW1lV2luOjpjcmVhdGVF
bXB0eURvY3VtZW50KHZvaWQpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorIHZvaWQgIFdlYkNvcmU6
OkZyYW1lV2luOjpjcmVhdGVFbXB0eURvY3VtZW50KHZvaWQpIHsgfQogIGJvb2wgIFdlYkNvcmU6
OkZyYW1lV2luOjpsYXN0RXZlbnRJc01vdXNlVXAodm9pZCljb25zdCAgeyBub3RJbXBsZW1lbnRl
ZCgpOyByZXR1cm4gMDsgfQogIGJvb2wgIFdlYkNvcmU6OkZyYW1lV2luOjpzdGF0dXNiYXJWaXNp
YmxlKHZvaWQpIHsgbm90SW1wbGVtZW50ZWQoKTsgcmV0dXJuIDA7IH0KICBib29sICBXZWJDb3Jl
OjpGcmFtZVdpbjo6dG9vbGJhclZpc2libGUodm9pZCkgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1
cm4gMDsgfQpAQCAtMzk1LDMgKzM5NiwxNSBAQCBXaWRnZXQqIFdlYkNvcmU6OkZyYW1lVmlldzo6
dG9wTGV2ZWxXaWRnCiAgY2xhc3MgV2ViQ29yZTo6UGx1Z2luICogIFdlYkNvcmU6OkZyYW1lV2lu
OjpjcmVhdGVQbHVnaW4oY2xhc3MgS1VSTCBjb25zdCAmLGNsYXNzIFFTdHJpbmdMaXN0IGNvbnN0
ICYsY2xhc3MgUVN0cmluZ0xpc3QgY29uc3QgJixjbGFzcyBRU3RyaW5nIGNvbnN0ICYpIHsgbm90
SW1wbGVtZW50ZWQoKTsgcmV0dXJuIDA7IH0KICB2b2lkICBXZWJDb3JlOjpGcmFtZVdpbjo6aGFu
ZGxlZE9ubG9hZEV2ZW50cyh2b2lkKSB7IG5vdEltcGxlbWVudGVkKCk7IH0KIFdlYkNvcmU6OlN0
cmluZyAgV2ViQ29yZTo6RnJhbWVXaW46OmdlbmVyYXRlRnJhbWVOYW1lKHZvaWQpIHsgbm90SW1w
bGVtZW50ZWQoKTsgcmV0dXJuIFN0cmluZygpOyB9CitXZWJDb3JlOjpCcm93c2VyRXh0ZW5zaW9u
V2luOjpCcm93c2VyRXh0ZW5zaW9uV2luKGNsYXNzIFdlYkNvcmU6OkZyYW1lKikgeyB9Cisgdm9p
ZCAgV2ViQ29yZTo6QnJvd3NlckV4dGVuc2lvbldpbjo6c2V0VHlwZWRJY29uVVJMKGNsYXNzIEtV
UkwgY29uc3QgJixjbGFzcyBRU3RyaW5nIGNvbnN0ICYpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQor
IHZvaWQgIFdlYkNvcmU6OkJyb3dzZXJFeHRlbnNpb25XaW46Om9wZW5VUkxSZXF1ZXN0KGNsYXNz
IEtVUkwgY29uc3QgJixzdHJ1Y3QgV2ViQ29yZTo6VVJMQXJncyBjb25zdCAmKSB7IG5vdEltcGxl
bWVudGVkKCk7IH0KKyBpbnQgIFdlYkNvcmU6OkJyb3dzZXJFeHRlbnNpb25XaW46OmdldEhpc3Rv
cnlMZW5ndGgodm9pZCkgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gMDsgfQorIGJvb2wgIFdl
YkNvcmU6OkJyb3dzZXJFeHRlbnNpb25XaW46OmNhblJ1bk1vZGFsKHZvaWQpIHsgbm90SW1wbGVt
ZW50ZWQoKTsgcmV0dXJuIDA7IH0KKyB2b2lkICBXZWJDb3JlOjpCcm93c2VyRXh0ZW5zaW9uV2lu
OjpvcGVuVVJMTm90aWZ5KHZvaWQpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQorIHZvaWQgIFdlYkNv
cmU6OkJyb3dzZXJFeHRlbnNpb25XaW46OmNyZWF0ZU5ld1dpbmRvdyhjbGFzcyBLVVJMIGNvbnN0
ICYsc3RydWN0IFdlYkNvcmU6OlVSTEFyZ3MgY29uc3QgJixzdHJ1Y3QgV2ViQ29yZTo6V2luZG93
QXJncyBjb25zdCAmLGNsYXNzIFdlYkNvcmU6OkZyYW1lICogJikgeyBub3RJbXBsZW1lbnRlZCgp
OyB9CisgYm9vbCAgV2ViQ29yZTo6QnJvd3NlckV4dGVuc2lvbldpbjo6Y2FuUnVuTW9kYWxOb3co
dm9pZCkgeyBub3RJbXBsZW1lbnRlZCgpOyByZXR1cm4gMDsgfQorIHZvaWQgIFdlYkNvcmU6OkJy
b3dzZXJFeHRlbnNpb25XaW46OnJ1bk1vZGFsKHZvaWQpIHsgbm90SW1wbGVtZW50ZWQoKTsgfQor
IHZvaWQgIFdlYkNvcmU6OkJyb3dzZXJFeHRlbnNpb25XaW46OmdvQmFja09yRm9yd2FyZChpbnQp
IHsgbm90SW1wbGVtZW50ZWQoKTsgfQorIHZvaWQgIFdlYkNvcmU6OkJyb3dzZXJFeHRlbnNpb25X
aW46OnNldEljb25VUkwoY2xhc3MgS1VSTCBjb25zdCAmKSB7IG5vdEltcGxlbWVudGVkKCk7IH0K
KyB2b2lkICBXZWJDb3JlOjpCcm93c2VyRXh0ZW5zaW9uV2luOjpjcmVhdGVOZXdXaW5kb3coY2xh
c3MgS1VSTCBjb25zdCAmLHN0cnVjdCBXZWJDb3JlOjpVUkxBcmdzIGNvbnN0ICYpIHsgbm90SW1w
bGVtZW50ZWQoKTsgfQpJbmRleDogcGxhdGZvcm0vU3RhdGljQ29uc3RydWN0b3JzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gcGxhdGZvcm0vU3RhdGljQ29uc3RydWN0b3JzLmgJKHJldmlzaW9uIDEzMDUzKQor
KysgcGxhdGZvcm0vU3RhdGljQ29uc3RydWN0b3JzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcg
KzI5LDcgQEAKICNpZiAhQVZPSURfU1RBVElDX0NPTlNUUlVDVE9SUwogICAgIC8vIERlZmluZSBh
biBnbG9iYWwgaW4gdGhlIG5vcm1hbCB3YXkuCiAjZGVmaW5lIERFRklORV9HTE9CQUwodHlwZSwg
bmFtZSwgLi4uKSBcCi0gICAgY29uc3QgdHlwZSBuYW1lKF9fVkFfQVJHU19fKTsKKyAgICBjb25z
dCB0eXBlIG5hbWU7CiAjZWxzZQogLy8gRGVmaW5lIGFuIGNvcnJlY3RseS1zaXplZCBhcnJheSBv
ZiBwb2ludGVycyB0byBhdm9pZCBzdGF0aWMgaW5pdGlhbGl6YXRpb24uCiAvLyBVc2UgYW4gYXJy
YXkgb2YgcG9pbnRlcnMgaW5zdGVhZCBvZiBhbiBhcnJheSBvZiBjaGFyIGluIGNhc2UgdGhlcmUg
aXMgc29tZSBhbGlnbm1lbnQgaXNzdWUuCkluZGV4OiBwbGF0Zm9ybS9BdG9taWNTdHJpbmcuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL0F0b21pY1N0cmluZy5jcHAJKHJldmlzaW9uIDEzMDUz
KQorKysgcGxhdGZvcm0vQXRvbWljU3RyaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU3LDEx
ICsxNTcsOCBAQCB2b2lkIEF0b21pY1N0cmluZzo6cmVtb3ZlKFN0cmluZ0ltcGwqIHIpCiAgICAg
c3RyaW5nVGFibGUtPnJlbW92ZShyKTsKIH0KIAotI2lmIEFWT0lEX1NUQVRJQ19DT05TVFJVQ1RP
UlMKKwogREVGSU5FX0dMT0JBTChBdG9taWNTdHJpbmcsIG51bGxBdG9tKQotI2Vsc2UKLWNvbnN0
IEF0b21pY1N0cmluZyBudWxsQXRvbTsKLSNlbmRpZgogREVGSU5FX0dMT0JBTChBdG9taWNTdHJp
bmcsIGVtcHR5QXRvbSwgIiIpCiBERUZJTkVfR0xPQkFMKEF0b21pY1N0cmluZywgdGV4dEF0b20s
ICIjdGV4dCIpCiBERUZJTkVfR0xPQkFMKEF0b21pY1N0cmluZywgY29tbWVudEF0b20sICIjY29t
bWVudCIpCkBAIC0xNjksMjEgKzE2NiwxOSBAQCBERUZJTkVfR0xPQkFMKEF0b21pY1N0cmluZywg
c3RhckF0b20sICIqCiAKIHZvaWQgQXRvbWljU3RyaW5nOjppbml0KCkKIHsKLSNpZiBBVk9JRF9T
VEFUSUNfQ09OU1RSVUNUT1JTCiAgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZWQ7CiAgICAgaWYg
KCFpbml0aWFsaXplZCkgewogICAgICAgICBzdHJpbmdUYWJsZSA9IG5ldyBIYXNoU2V0PFN0cmlu
Z0ltcGwqPjsKIAogICAgICAgICAvLyBVc2UgcGxhY2VtZW50IG5ldyB0byBpbml0aWFsaXplIHRo
ZSBnbG9iYWxzLgotICAgICAgICBuZXcgKCZudWxsQXRvbSkgQXRvbWljU3RyaW5nOwotICAgICAg
ICBuZXcgKCZlbXB0eUF0b20pIEF0b21pY1N0cmluZygiIik7Ci0gICAgICAgIG5ldyAoJnRleHRB
dG9tKSBBdG9taWNTdHJpbmcoIiN0ZXh0Iik7Ci0gICAgICAgIG5ldyAoJmNvbW1lbnRBdG9tKSBB
dG9taWNTdHJpbmcoIiNjb21tZW50Iik7Ci0gICAgICAgIG5ldyAoJnN0YXJBdG9tKSBBdG9taWNT
dHJpbmcoIioiKTsKKyAgICAgICAgbmV3ICgodm9pZCopJm51bGxBdG9tKSBBdG9taWNTdHJpbmc7
CisgICAgICAgIG5ldyAoKHZvaWQqKSZlbXB0eUF0b20pIEF0b21pY1N0cmluZygiIik7CisgICAg
ICAgIG5ldyAoKHZvaWQqKSZ0ZXh0QXRvbSkgQXRvbWljU3RyaW5nKCIjdGV4dCIpOworICAgICAg
ICBuZXcgKCh2b2lkKikmY29tbWVudEF0b20pIEF0b21pY1N0cmluZygiI2NvbW1lbnQiKTsKKyAg
ICAgICAgbmV3ICgodm9pZCopJnN0YXJBdG9tKSBBdG9taWNTdHJpbmcoIioiKTsKIAogICAgICAg
ICBpbml0aWFsaXplZCA9IHRydWU7CiAgICAgfQotI2VuZGlmCiB9CiAKIH0KSW5kZXg6IGRvbS9R
dWFsaWZpZWROYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZG9tL1F1YWxpZmllZE5hbWUuaAkocmV2aXNp
b24gMTMwNTMpCisrKyBkb20vUXVhbGlmaWVkTmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw2
ICszOSw5IEBAIHB1YmxpYzoKIAogICAgIFF1YWxpZmllZE5hbWUoY29uc3QgQXRvbWljU3RyaW5n
JiBwcmVmaXgsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxOYW1lLCBjb25zdCBBdG9taWNTdHJp
bmcmIG5hbWVzcGFjZVVSSSk7CiAgICAgflF1YWxpZmllZE5hbWUoKTsKKyNpZmRlZiBRTkFNRV9E
RUZBVUxUX0NPTlNUUlVDVE9SCisJUXVhbGlmaWVkTmFtZSgpIHsgfQorI2VuZGlmCiAKICAgICBR
dWFsaWZpZWROYW1lKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKICAgICBjb25zdCBRdWFsaWZpZWRO
YW1lJiBvcGVyYXRvcj0oY29uc3QgUXVhbGlmaWVkTmFtZSYpOwpJbmRleDogZG9tL0V2ZW50TmFt
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIGRvbS9FdmVudE5hbWVzLmNwcAkocmV2aXNpb24gMTMwNTMp
CisrKyBkb20vRXZlbnROYW1lcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDE1ICs0MCwxMyBA
QCBET01fRVZFTlRfTkFNRVNfRk9SX0VBQ0goREVGSU5FX0VWRU5UX0dMCiAKIHZvaWQgaW5pdCgp
CiB7Ci0jaWYgQVZPSURfU1RBVElDX0NPTlNUUlVDVE9SUwogICAgIHN0YXRpYyBib29sIGluaXRp
YWxpemVkOwogICAgIGlmICghaW5pdGlhbGl6ZWQpIHsKICAgICAgICAgLy8gVXNlIHBsYWNlbWVu
dCBuZXcgdG8gaW5pdGlhbGl6ZSB0aGUgZ2xvYmFscy4KLSAgICAgICAgI2RlZmluZSBJTklUSUFM
SVpFX0dMT0JBTChuYW1lKSBuZXcgKCZuYW1lIyNFdmVudCkgQXRvbWljU3RyaW5nKCNuYW1lKTsK
KyAgICAgICAgI2RlZmluZSBJTklUSUFMSVpFX0dMT0JBTChuYW1lKSBuZXcgKCh2b2lkKikmbmFt
ZSMjRXZlbnQpIEF0b21pY1N0cmluZygjbmFtZSk7CiAgICAgICAgIERPTV9FVkVOVF9OQU1FU19G
T1JfRUFDSChJTklUSUFMSVpFX0dMT0JBTCkKICAgICAgICAgaW5pdGlhbGl6ZWQgPSB0cnVlOwog
ICAgIH0KLSNlbmRpZgogfQogCiB9IH0KSW5kZXg6IGRvbS9Eb2N1bWVudEltcGwuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIGRvbS9Eb2N1bWVudEltcGwuY3BwCShyZXZpc2lvbiAxMzA1MykKKysrIGRvbS9E
b2N1bWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDQsOCArOTA0LDEyIEBAIHZvaWQg
RG9jdW1lbnRJbXBsOjphdHRhY2goKQogICAgICAgICBtX3JlbmRlckFyZW5hID0gbmV3IFJlbmRl
ckFyZW5hKCk7CiAgICAgCiAgICAgLy8gQ3JlYXRlIHRoZSByZW5kZXJpbmcgdHJlZQotICAgIHNl
dFJlbmRlcmVyKG5ldyAobV9yZW5kZXJBcmVuYSkgUmVuZGVyQ2FudmFzKHRoaXMsIG1fdmlldykp
OwotICAgIHJlY2FsY1N0eWxlKEZvcmNlKTsKKyNpZm5kZWYgV0lOMzIKKwkvLyBGSVhNRTogZG9u
J3QgYnVpbGQgcmVuZGVyZXJzIG9uIFdpbmRvd3MgeWV0CisJc2V0UmVuZGVyZXIobmV3IChtX3Jl
bmRlckFyZW5hKSBSZW5kZXJDYW52YXModGhpcywgbV92aWV3KSk7CisjZW5kaWYKKworCXJlY2Fs
Y1N0eWxlKEZvcmNlKTsKIAogICAgIFJlbmRlck9iamVjdCogcmVuZGVyID0gcmVuZGVyZXIoKTsK
ICAgICBzZXRSZW5kZXJlcigwKTsKSW5kZXg6IGRvbS9RdWFsaWZpZWROYW1lLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBkb20vUXVhbGlmaWVkTmFtZS5jcHAJKHJldmlzaW9uIDEzMDUzKQorKysgZG9tL1F1
YWxpZmllZE5hbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw2ICsyMyw4IEBACiAKICNpZiBB
Vk9JRF9TVEFUSUNfQ09OU1RSVUNUT1JTCiAjZGVmaW5lIEtIVE1MX1FOQU1FX0hJREVfR0xPQkFM
UyAxCisjZWxzZQorI2RlZmluZSBRTkFNRV9ERUZBVUxUX0NPTlNUUlVDVE9SCiAjZW5kaWYKIAog
I2luY2x1ZGUgIlF1YWxpZmllZE5hbWUuaCIKQEAgLTE3NCwxNCArMTc2LDEyIEBAIERFRklORV9H
TE9CQUwoUXVhbGlmaWVkTmFtZSwgYW55TmFtZSwgbnUKIAogdm9pZCBRdWFsaWZpZWROYW1lOjpp
bml0KCkKIHsKLSNpZiBBVk9JRF9TVEFUSUNfQ09OU1RSVUNUT1JTCiAgICAgc3RhdGljIGJvb2wg
aW5pdGlhbGl6ZWQ7CiAgICAgaWYgKCFpbml0aWFsaXplZCkgewogICAgICAgICAvLyBVc2UgcGxh
Y2VtZW50IG5ldyB0byBpbml0aWFsaXplIHRoZSBnbG9iYWxzLgotICAgICAgICBuZXcgKCZhbnlO
YW1lKSBRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBzdGFyQXRvbSwgc3RhckF0b20pOworICAgICAg
ICBuZXcgKCh2b2lkKikmYW55TmFtZSkgUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgc3RhckF0b20s
IHN0YXJBdG9tKTsKICAgICAgICAgaW5pdGlhbGl6ZWQgPSB0cnVlOwogICAgIH0KLSNlbmRpZgog
fQogCiB9CkluZGV4OiBDaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gQ2hhbmdlTG9nCShyZXZpc2lv
biAxMzA1MykKKysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBACisy
MDA2LTAyLTI4ICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBtYWtlIHdpbjMyIER1bXBS
ZW5kZXJUcmVlIHJ1biB3aXRob3V0IGNyYXNoaW5nCisgICAgICAgIGh0dHA6Ly9idWd6aWxsYS5v
cGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMQorCisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBicmlkZ2Uvd2luL0Jyb3dz
ZXJFeHRlbnNpb25XaW4uaDogQWRkZWQuCisgICAgICAgICogYnJpZGdlL3dpbi9GcmFtZVdpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVdpbjo6RnJhbWVXaW4pOiBJbml0aWFsaXplIGJy
b3dzZXIKKwlleHRlbnNpb24gYW5kIHNldHRpbmdzLgorICAgICAgICAqIGRvbS9Eb2N1bWVudElt
cGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRJbXBsOjphdHRhY2gpOiBEb24ndCBj
cmVhdGUgcmVuZGVyZXJzIAorCWZvciBub3cuCisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RXZlbnROYW1lczo6aW5pdCk6IHVzZSBwbGFjZW1lbnQgbmV3
IGV2ZW4gd2hlbgorCW5vdCBhdm9pZGluZyBzdGF0aWMgY29uc3RydWN0b3JzLgorICAgICAgICAq
IGtodG1sL2h0bWwvaHRtbG5hbWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxOYW1lczo6
aW5pdCk6IGRpdHRvCisgICAgICAgICogZG9tL1F1YWxpZmllZE5hbWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UXVhbGlmaWVkTmFtZTo6aW5pdCk6IGRpdHRvCisgICAgICAgICogZG9tL1F1YWxp
ZmllZE5hbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlF1YWxpZmllZE5hbWU6OlF1YWxpZmllZE5h
bWUpOiBBZGRlZCBkZWZhdWx0CisJY29uc3RydWN0b3IgYnV0IG9ubHkgaW4gaWZkZWYuCisgICAg
ICAgICogcGFnZS9GcmFtZS5oOgorICAgICAgICAqIHBsYXRmb3JtL0F0b21pY1N0cmluZy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBdG9taWNTdHJpbmc6OmluaXQpOiB1c2UgcGxhY2VtZW50IG5l
dyBldmVuIHdoZW4KKwlub3QgYXZvaWRpbmcgc3RhdGljIGNvbnN0cnVjdG9ycworICAgICAgICAq
IHBsYXRmb3JtL1N0YXRpY0NvbnN0cnVjdG9ycy5oOiBkb24ndCBpbml0aWFsaXplIHdoZW4KKwlu
b3QgYXZvaWRpbmcgc3RhdGljIGNvbnN0cnVjdG9ycywganVzdCBkZWZhdWx0IGNvbnN0cnVjdAor
CWFuZCBsZXQgaW5pdGlhbGl6YXRpb24gaGFwcGVuIG5vcm1hbGx5CisgICAgICAgICogcGxhdGZv
cm0vd2luL1RlbXBvcmFyeUxpbmtTdHVicy5jcHA6IFN0dWIgb3V0IHNvbWUgbW9yZSB0aGluZ3MK
KyAgICAgICAgKEN1cnNvcjo6fkN1cnNvcik6CisgICAgICAgIChRRm9udDo6flFGb250KToKKyAg
ICAgICAgKFFGb250TWV0cmljczo6flFGb250TWV0cmljcyk6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVdpbjo6cmVzdG9yZURvY3VtZW50U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVX
aW46OnBhcnRDbGVhcmVkSW5CZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVdpbjo6Y3Jl
YXRlRW1wdHlEb2N1bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpCcm93c2VyRXh0ZW5zaW9uV2lu
OjpnZXRIaXN0b3J5TGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkJyb3dzZXJFeHRlbnNpb25X
aW46OmNhblJ1bk1vZGFsKToKKyAgICAgICAgKFdlYkNvcmU6OkJyb3dzZXJFeHRlbnNpb25XaW46
Om9wZW5VUkxOb3RpZnkpOgorICAgICAgICAoV2ViQ29yZTo6QnJvd3NlckV4dGVuc2lvbldpbjo6
Y2FuUnVuTW9kYWxOb3cpOgorICAgICAgICAoV2ViQ29yZTo6QnJvd3NlckV4dGVuc2lvbldpbjo6
cnVuTW9kYWwpOgorICAgICAgICAoV2ViQ29yZTo6QnJvd3NlckV4dGVuc2lvbldpbjo6Z29CYWNr
T3JGb3J3YXJkKToKKwogMjAwNi0wMi0yNyAgRXJpYyBTZWlkZWwgIDxlc2VpZGVsQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBtanMuCkluZGV4OiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDEzMDUzKQorKysgV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMjk0MCw2ICsyOTQwLDEwIEBACiAJ
CQkJTmFtZT0id2luIg0KIAkJCQk+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XC4uXGJyaWRnZVx3aW5cQnJvd3NlckV4dGVuc2lvbldpbi5oIg0KKwkJCQkJPg0KKwkJCQk8L0Zp
bGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXGJyaWRnZVx3aW5cRnJh
bWVXaW4uY3BwIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQpJbmRleDogYnJpZGdlL3dpbi9Ccm93
c2VyRXh0ZW5zaW9uV2luLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gYnJpZGdlL3dpbi9Ccm93c2VyRXh0ZW5z
aW9uV2luLmgJKHJldmlzaW9uIDApCisrKyBicmlkZ2Uvd2luL0Jyb3dzZXJFeHRlbnNpb25XaW4u
aAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAw
NSwgMjAwNiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2luY2x1ZGUgIkJyb3dzZXJFeHRlbnNpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBGcmFtZTsKK2NsYXNzIFdpbkZyYW1lOworCitjbGFzcyBCcm93c2VyRXh0ZW5zaW9u
V2luIDogcHVibGljIEJyb3dzZXJFeHRlbnNpb24geworcHVibGljOgorICAgIEJyb3dzZXJFeHRl
bnNpb25XaW4oRnJhbWUqKTsKKyAKKyAgICB2aXJ0dWFsIHZvaWQgb3BlblVSTFJlcXVlc3QoY29u
c3QgS1VSTCAmLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVVJMQXJn
cyAmYXJncyA9IFVSTEFyZ3MoKSk7CisgICAgdmlydHVhbCB2b2lkIG9wZW5VUkxOb3RpZnkoKTsK
KyAgICAgCisgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU5ld1dpbmRvdyhjb25zdCBLVVJMICZ1cmws
IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVVJMQXJncyAmdXJsQXJn
cyA9IFVSTEFyZ3MoKSk7CisgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU5ld1dpbmRvdyhjb25zdCBL
VVJMJiB1cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBVUkxBcmdz
JiB1cmxBcmdzLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdpbmRv
d0FyZ3MmIHdpbkFyZ3MsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJhbWUq
JiBwYXJ0KTsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRJY29uVVJMKGNvbnN0IEtVUkwgJnVybCk7
CisgICAgdmlydHVhbCB2b2lkIHNldFR5cGVkSWNvblVSTChjb25zdCBLVVJMICZ1cmwsIGNvbnN0
IFFTdHJpbmcgJnR5cGUpOworCisgICAgdmlydHVhbCBpbnQgZ2V0SGlzdG9yeUxlbmd0aCgpOwor
ICAgIHZpcnR1YWwgdm9pZCBnb0JhY2tPckZvcndhcmQoaW50IGRpc3RhbmNlKTsKKworICAgIHZp
cnR1YWwgYm9vbCBjYW5SdW5Nb2RhbCgpOworICAgIHZpcnR1YWwgYm9vbCBjYW5SdW5Nb2RhbE5v
dygpOworICAgIHZpcnR1YWwgdm9pZCBydW5Nb2RhbCgpOworICAgIAorcHJpdmF0ZToKKyAgICAg
V2luRnJhbWUgKm1fZnJhbWU7Cit9OworCit9CkluZGV4OiBicmlkZ2Uvd2luL0ZyYW1lV2luLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBicmlkZ2Uvd2luL0ZyYW1lV2luLmNwcAkocmV2aXNpb24gMTMwNTMp
CisrKyBicmlkZ2Uvd2luL0ZyYW1lV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsMTEgKzI2
LDIwIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiDQogI2luY2x1ZGUgIkZyYW1lV2luLmgiDQogDQor
I2luY2x1ZGUgIkJyb3dzZXJFeHRlbnNpb25XaW4uaCINCisjaW5jbHVkZSAiRG9jdW1lbnRJbXBs
LmgiDQorI2luY2x1ZGUgIktXUUtIVE1MU2V0dGluZ3MuaCINCisjaW5jbHVkZSAicmVuZGVyX2Zy
YW1lcy5oIg0KKyNpbmNsdWRlICJQbHVnaW4uaCINCisjaW5jbHVkZSAiRnJhbWVQcml2YXRlLmgi
DQorDQogbmFtZXNwYWNlIFdlYkNvcmUgew0KIA0KIEZyYW1lV2luOjpGcmFtZVdpbihQYWdlKiBw
YWdlLCBSZW5kZXJQYXJ0KiByZW5kZXJQYXJ0KQ0KICAgICA6IEZyYW1lKHBhZ2UsIHJlbmRlclBh
cnQpDQogew0KKyAgICBkLT5tX2V4dGVuc2lvbiA9IG5ldyBCcm93c2VyRXh0ZW5zaW9uV2luKHRo
aXMpOw0KKyAgICBzZXRTZXR0aW5ncyhuZXcgS0hUTUxTZXR0aW5ncygpKTsNCiB9DQogDQogRnJh
bWVXaW46On5GcmFtZVdpbigpDQpJbmRleDogcGFnZS9GcmFtZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBh
Z2UvRnJhbWUuaAkocmV2aXNpb24gMTMwNTMpCisrKyBwYWdlL0ZyYW1lLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTkwOSw2ICs5MDksNyBAQCBwcm90ZWN0ZWQ6CiAKIHB1YmxpYzoKICAgZnJpZW5kIGNs
YXNzIE1hY0ZyYW1lOworICBmcmllbmQgY2xhc3MgRnJhbWVXaW47CiAKICAgdm9pZCBjaGVja0Vt
aXRMb2FkRXZlbnQoKTsKICAgYm9vbCBkaWRPcGVuVVJMKGNvbnN0IEtVUkwgJik7Cg==
</data>
<flag name="review"
          id="1729"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>