<?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>41798</bug_id>
          
          <creation_ts>2010-07-07 14:04:22 -0700</creation_ts>
          <short_desc>Unify Mac and Windows TestNetscapePlugin main.cpp files</short_desc>
          <delta_ts>2010-07-07 14:37:22 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>247740</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-07 14:04:22 -0700</bug_when>
    <thetext>Unify Mac and Windows TestNetscapePlugin main.cpp files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247756</commentid>
    <comment_count>1</comment_count>
      <attachid>60777</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-07 14:24:44 -0700</bug_when>
    <thetext>Created attachment 60777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247758</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-07 14:27:46 -0700</bug_when>
    <thetext>Attachment 60777 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKitTools/DumpRenderTree/TestNetscapePlugIn/main.cpp:26:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/DumpRenderTree/TestNetscapePlugIn/main.cpp:152:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247765</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-07-07 14:37:22 -0700</bug_when>
    <thetext>Committed r62700: &lt;http://trac.webkit.org/changeset/62700&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60777</attachid>
            <date>2010-07-07 14:24:44 -0700</date>
            <delta_ts>2010-07-07 14:34:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41798-20100707142443.patch</filename>
            <type>text/plain</type>
            <size>19859</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAwMDQ2OWVlMjMxNmQ2MjZhZTA0MDUwYzRhZTVkZGU1NjVhOTk3MDUzLi42OWE2MWQ4
ZGFmMjg5MmVlYTMwMWU3NWUxMzY5Y2YzNWY3YzEyYjVjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTAtMDctMDcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbmlmeSBNYWMgYW5k
IFdpbmRvd3MgVGVzdE5ldHNjYXBlUGx1Z2luIG1haW4uY3BwIGZpbGVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTc5OAorICAgICAgICAKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5zbG46CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL21haW4uY3BwOgorICAgICAgICAoc3RyY2FzZWNt
cCk6CisgICAgICAgIChOUF9Jbml0aWFsaXplKToKKyAgICAgICAgKE5QX0dldEVudHJ5UG9pbnRz
KToKKyAgICAgICAgKE5QX1NodXRkb3duKToKKyAgICAgICAgKE5QUF9OZXcpOgorICAgICAgICAo
TlBQX0Rlc3Ryb3kpOgorICAgICAgICAoTlBQX0hhbmRsZUV2ZW50KToKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vd2luL1Rlc3ROZXRzY2FwZVBsdWdpbi52Y3By
b2o6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL1Rlc3ROZXRzY2FwZVBsdWdpbi9tYWlu
LmNwcDogUmVtb3ZlZC4KKwogMjAxMC0wNy0wNyAgS2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhl
b2xsaXZpZXJzLmNvbT4KIAogICAgICAgICBbd3hdIEJ1aWxkIGZpeC4gcGFnZVByb3BlcnR5IG5l
ZWRzIHRvIHJldHVybiBhIHZhbHVlLgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvRHVtcFJlbmRlclRyZWUuc2xuIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVt
cFJlbmRlclRyZWUuc2xuCmluZGV4IDM5OWMwMDI5MDE4YzQzYjdlYmRmMjRjOWE3ZjNkYWZmM2Rh
MzRjZjMuLjM2NDdhMmE4ZGRiOGY0YWM4MmIzYmVhOTc3MmFkZTc3MzE2MDIyMzUgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnNsbgorKysgYi9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5zbG4KQEAgLTMsNyArMyw3
IEBAIE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIFNvbHV0aW9uIEZpbGUsIEZvcm1hdCBWZXJzaW9u
IDkuMDAKICMgVmlzdWFsIFN0dWRpbyAyMDA1DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFE
MC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJEdW1wUmVuZGVyVHJlZSIsICJ3aW5cRHVtcFJlbmRl
clRyZWUudmNwcm9qIiwgIns2NTY3REZENC1ENkRFLTRDRDUtODI1RC0xN0UzNTNEMTYwRTF9Ig0K
IEVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJD
OTQyfSIpID0gIlRlc3ROZXRzY2FwZVBsdWdpbiIsICJ3aW5cVGVzdE5ldHNjYXBlUGx1Z2luXFRl
c3ROZXRzY2FwZVBsdWdpbi52Y3Byb2oiLCAie0MwNzM3Mzk4LTM1NjUtNDM5RS1BMkI4LUFCMkJF
NEQ1NDMwQ30iDQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0
Mn0iKSA9ICJUZXN0TmV0c2NhcGVQbHVnaW4iLCAiVGVzdE5ldHNjYXBlUGx1Z2luXHdpblxUZXN0
TmV0c2NhcGVQbHVnaW4udmNwcm9qIiwgIntDMDczNzM5OC0zNTY1LTQzOUUtQTJCOC1BQjJCRTRE
NTQzMEN9Ig0KIEVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEt
MDBBMEM5MUJDOTQyfSIpID0gIkZpbmRTYWZhcmkiLCAiLi5cRmluZFNhZmFyaVxGaW5kU2FmYXJp
LnZjcHJvaiIsICJ7REEzMURBNTItNjY3NS00OEQ0LTg5RTAtMzMzQTcxNDQzOTdDfSINCiBFbmRQ
cm9qZWN0DQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNj
YXBlUGx1Z0luL21haW4uY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNj
YXBlUGx1Z0luL21haW4uY3BwCmluZGV4IGVmZjljMWM1MWMwYjhjZGI3ZmQzYWI4OWVlZWNmNzYz
OTkyNWY4YjYuLjk5ODc2NmY5YWYwNDdlNTFlMjZhZTY2NzcxMDhlMWFjNzE2YzgzMDcgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9tYWlu
LmNwcAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4v
bWFpbi5jcHAKQEAgLTIzLDI1ICsyMywzMiBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCiAgKi8KIAotI2lt
cG9ydCAiUGx1Z2luT2JqZWN0LmgiCisjaW5jbHVkZSAiUGx1Z2luT2JqZWN0LmgiCiAKLS8vIE1h
Y2gtbyBlbnRyeSBwb2ludHMKLWV4dGVybiAiQyIgewotICAgIE5QRXJyb3IgTlBfSW5pdGlhbGl6
ZShOUE5ldHNjYXBlRnVuY3MgKmJyb3dzZXJGdW5jcyk7Ci0gICAgTlBFcnJvciBOUF9HZXRFbnRy
eVBvaW50cyhOUFBsdWdpbkZ1bmNzICpwbHVnaW5GdW5jcyk7Ci0gICAgdm9pZCBOUF9TaHV0ZG93
bih2b2lkKTsKKyNpZiBYUF9XSU4KKyNkZWZpbmUgU1REQ0FMTCBfX3N0ZGNhbGwKKworc3RhdGlj
IGlubGluZSBpbnQgc3RyY2FzZWNtcChjb25zdCBjaGFyKiBzMSwgY29uc3QgY2hhciogczIpCit7
CisgICAgcmV0dXJuIF9zdHJpY21wKHMxLCBzMik7CiB9CiAKLS8vIE1hY2gtbyBlbnRyeSBwb2lu
dHMKLU5QRXJyb3IgTlBfSW5pdGlhbGl6ZShOUE5ldHNjYXBlRnVuY3MgKmJyb3dzZXJGdW5jcykK
KyNlbHNlCisjZGVmaW5lIFNURENBTEwKKyNlbmRpZgorCisvLyBFbnRyeSBwb2ludHMKK2V4dGVy
biAiQyIKK05QRXJyb3IgU1REQ0FMTCBOUF9Jbml0aWFsaXplKE5QTmV0c2NhcGVGdW5jcyAqYnJv
d3NlckZ1bmNzKQogewogICAgIGJyb3dzZXIgPSBicm93c2VyRnVuY3M7CiAgICAgcmV0dXJuIE5Q
RVJSX05PX0VSUk9SOwogfQogCi1OUEVycm9yIE5QX0dldEVudHJ5UG9pbnRzKE5QUGx1Z2luRnVu
Y3MgKnBsdWdpbkZ1bmNzKQorZXh0ZXJuICJDIgorTlBFcnJvciBTVERDQUxMIE5QX0dldEVudHJ5
UG9pbnRzKE5QUGx1Z2luRnVuY3MgKnBsdWdpbkZ1bmNzKQogewotICAgIHBsdWdpbkZ1bmNzLT52
ZXJzaW9uID0gMTE7CisgICAgcGx1Z2luRnVuY3MtPnZlcnNpb24gPSAoTlBfVkVSU0lPTl9NQUpP
UiA8PCA4KSB8IE5QX1ZFUlNJT05fTUlOT1I7CiAgICAgcGx1Z2luRnVuY3MtPnNpemUgPSBzaXpl
b2YocGx1Z2luRnVuY3MpOwogICAgIHBsdWdpbkZ1bmNzLT5uZXdwID0gTlBQX05ldzsKICAgICBw
bHVnaW5GdW5jcy0+ZGVzdHJveSA9IE5QUF9EZXN0cm95OwpAQCAtNjAsNyArNjcsOCBAQCBOUEVy
cm9yIE5QX0dldEVudHJ5UG9pbnRzKE5QUGx1Z2luRnVuY3MgKnBsdWdpbkZ1bmNzKQogICAgIHJl
dHVybiBOUEVSUl9OT19FUlJPUjsKIH0KIAotdm9pZCBOUF9TaHV0ZG93bih2b2lkKQorZXh0ZXJu
ICJDIgordm9pZCBTVERDQUxMIE5QX1NodXRkb3duKHZvaWQpCiB7CiB9CiAKQEAgLTcwLDYgKzc4
LDcgQEAgTlBFcnJvciBOUFBfTmV3KE5QTUlNRVR5cGUgcGx1Z2luVHlwZSwgTlBQIGluc3RhbmNl
LCB1aW50MTZfdCBtb2RlLCBpbnQxNl90IGFyZ2MKIHsKICAgICBib29sIGZvcmNlQ2FyYm9uID0g
ZmFsc2U7CiAKKyNpZiBYUF9NQUMKICAgICAvLyBBbHdheXMgdHVybiBvbiB0aGUgQ0cgbW9kZWwK
ICAgICBOUEJvb2wgc3VwcG9ydHNDb3JlR3JhcGhpY3M7CiAgICAgaWYgKGJyb3dzZXItPmdldHZh
bHVlKGluc3RhbmNlLCBOUE5Wc3VwcG9ydHNDb3JlR3JhcGhpY3NCb29sLCAmc3VwcG9ydHNDb3Jl
R3JhcGhpY3MpICE9IE5QRVJSX05PX0VSUk9SKQpAQCAtNzcsOSArODYsMzYgQEAgTlBFcnJvciBO
UFBfTmV3KE5QTUlNRVR5cGUgcGx1Z2luVHlwZSwgTlBQIGluc3RhbmNlLCB1aW50MTZfdCBtb2Rl
LCBpbnQxNl90IGFyZ2MKICAgICAKICAgICBpZiAoIXN1cHBvcnRzQ29yZUdyYXBoaWNzKQogICAg
ICAgICByZXR1cm4gTlBFUlJfSU5DT01QQVRJQkxFX1ZFUlNJT05fRVJST1I7Ci0gICAgCisKICAg
ICBicm93c2VyLT5zZXR2YWx1ZShpbnN0YW5jZSwgTlBQVnBsdWdpbkRyYXdpbmdNb2RlbCwgKHZv
aWQgKilOUERyYXdpbmdNb2RlbENvcmVHcmFwaGljcyk7CiAKKyNpZm5kZWYgTlBfTk9fQ0FSQk9O
CisgICAgTlBCb29sIHN1cHBvcnRzQ2FyYm9uID0gZmFsc2U7CisjZW5kaWYKKyAgICBOUEJvb2wg
c3VwcG9ydHNDb2NvYSA9IGZhbHNlOworCisjaWZuZGVmIE5QX05PX0NBUkJPTgorICAgIC8vIEEg
YnJvd3NlciB0aGF0IGRvZXNuJ3Qga25vdyBhYm91dCBOUE5Wc3VwcG9ydHNDYXJib25Cb29sIGlz
IG9uZSB0aGF0IG9ubHkgc3VwcG9ydHMgQ2FyYm9uIGV2ZW50IG1vZGVsLgorICAgIGlmIChicm93
c2VyLT5nZXR2YWx1ZShpbnN0YW5jZSwgTlBOVnN1cHBvcnRzQ2FyYm9uQm9vbCwgJnN1cHBvcnRz
Q2FyYm9uKSAhPSBOUEVSUl9OT19FUlJPUikKKyAgICAgICAgc3VwcG9ydHNDYXJib24gPSB0cnVl
OworI2VuZGlmCisKKyAgICBpZiAoYnJvd3Nlci0+Z2V0dmFsdWUoaW5zdGFuY2UsIE5QTlZzdXBw
b3J0c0NvY29hQm9vbCwgJnN1cHBvcnRzQ29jb2EpICE9IE5QRVJSX05PX0VSUk9SKQorICAgICAg
ICBzdXBwb3J0c0NvY29hID0gZmFsc2U7CisKKyAgICBpZiAoc3VwcG9ydHNDb2NvYSAmJiAhZm9y
Y2VDYXJib24pIHsKKyAgICAgICAgb2JqLT5ldmVudE1vZGVsID0gTlBFdmVudE1vZGVsQ29jb2E7
CisjaWZuZGVmIE5QX05PX0NBUkJPTgorICAgIH0gZWxzZSBpZiAoc3VwcG9ydHNDYXJib24pIHsK
KyAgICAgICAgb2JqLT5ldmVudE1vZGVsID0gTlBFdmVudE1vZGVsQ2FyYm9uOworI2VuZGlmCisg
ICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJuIE5QRVJSX0lOQ09NUEFUSUJMRV9WRVJTSU9OX0VS
Uk9SOworICAgIH0KKworICAgICBicm93c2VyLT5zZXR2YWx1ZShpbnN0YW5jZSwgTlBQVnBsdWdp
bkV2ZW50TW9kZWwsICh2b2lkICopb2JqLT5ldmVudE1vZGVsKTsKKyNlbmRpZiAvLyBYUF9NQUMK
KwogICAgIFBsdWdpbk9iamVjdCogb2JqID0gKFBsdWdpbk9iamVjdCopYnJvd3Nlci0+Y3JlYXRl
b2JqZWN0KGluc3RhbmNlLCBnZXRQbHVnaW5DbGFzcygpKTsKICAgICBpbnN0YW5jZS0+cGRhdGEg
PSBvYmo7CiAKQEAgLTExMywzNyArMTQ5LDE0IEBAIE5QRXJyb3IgTlBQX05ldyhOUE1JTUVUeXBl
IHBsdWdpblR5cGUsIE5QUCBpbnN0YW5jZSwgdWludDE2X3QgbW9kZSwgaW50MTZfdCBhcmdjCiAg
ICAgICAgICAgICBvYmotPnRlc3REb2N1bWVudE9wZW5JbkRlc3Ryb3lTdHJlYW0gPSBUUlVFOwog
ICAgICAgICBlbHNlIGlmIChzdHJjYXNlY21wKGFyZ25baV0sICJ0ZXN0d2luZG93b3BlbiIpID09
IDApCiAgICAgICAgICAgICBvYmotPnRlc3RXaW5kb3dPcGVuID0gVFJVRTsKKyAgICAgICAgZWxz
ZSBpZiAoc3RyY2FzZWNtcChhcmduW2ldLCAidGVzdEdldFVSTE9uRGVzdHJveSIpID09IDApCisg
ICAgICAgICAgICBvYmotPnRlc3RHZXRVUkxPbkRlc3Ryb3kgPSBUUlVFOwogICAgICAgICBlbHNl
IGlmIChzdHJjYXNlY21wKGFyZ25baV0sICJzcmMiKSA9PSAwICYmIHN0cnN0cihhcmd2W2ldLCAi
cGx1Z2luLWRvY3VtZW50LWhhcy1mb2N1cy5wbCIpKQogICAgICAgICAgICAgb2JqLT50ZXN0S2V5
Ym9hcmRGb2N1c0ZvclBsdWdpbnMgPSBUUlVFOwogICAgIH0KLSAgICAgICAgCi0jaWZuZGVmIE5Q
X05PX0NBUkJPTgotICAgIE5QQm9vbCBzdXBwb3J0c0NhcmJvbiA9IGZhbHNlOwotI2VuZGlmCi0g
ICAgTlBCb29sIHN1cHBvcnRzQ29jb2EgPSBmYWxzZTsKLQotI2lmbmRlZiBOUF9OT19DQVJCT04K
LSAgICAvLyBBIGJyb3dzZXIgdGhhdCBkb2Vzbid0IGtub3cgYWJvdXQgTlBOVnN1cHBvcnRzQ2Fy
Ym9uQm9vbCBpcyBvbmUgdGhhdCBvbmx5IHN1cHBvcnRzIENhcmJvbiBldmVudCBtb2RlbC4KLSAg
ICBpZiAoYnJvd3Nlci0+Z2V0dmFsdWUoaW5zdGFuY2UsIE5QTlZzdXBwb3J0c0NhcmJvbkJvb2ws
ICZzdXBwb3J0c0NhcmJvbikgIT0gTlBFUlJfTk9fRVJST1IpCi0gICAgICAgIHN1cHBvcnRzQ2Fy
Ym9uID0gdHJ1ZTsKLSNlbmRpZgotCi0gICAgaWYgKGJyb3dzZXItPmdldHZhbHVlKGluc3RhbmNl
LCBOUE5Wc3VwcG9ydHNDb2NvYUJvb2wsICZzdXBwb3J0c0NvY29hKSAhPSBOUEVSUl9OT19FUlJP
UikKLSAgICAgICAgc3VwcG9ydHNDb2NvYSA9IGZhbHNlOwogCi0gICAgaWYgKHN1cHBvcnRzQ29j
b2EgJiYgIWZvcmNlQ2FyYm9uKSB7Ci0gICAgICAgIG9iai0+ZXZlbnRNb2RlbCA9IE5QRXZlbnRN
b2RlbENvY29hOwotI2lmbmRlZiBOUF9OT19DQVJCT04KLSAgICB9IGVsc2UgaWYgKHN1cHBvcnRz
Q2FyYm9uKSB7Ci0gICAgICAgIG9iai0+ZXZlbnRNb2RlbCA9IE5QRXZlbnRNb2RlbENhcmJvbjsK
LSNlbmRpZgotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiBOUEVSUl9JTkNPTVBBVElCTEVf
VkVSU0lPTl9FUlJPUjsKLSAgICB9Ci0gICAgCiAgICAgYnJvd3Nlci0+Z2V0dmFsdWUoaW5zdGFu
Y2UsIE5QTlZwcml2YXRlTW9kZUJvb2wsICh2b2lkICopJm9iai0+Y2FjaGVkUHJpdmF0ZUJyb3dz
aW5nTW9kZSk7Ci0gICAgYnJvd3Nlci0+c2V0dmFsdWUoaW5zdGFuY2UsIE5QUFZwbHVnaW5FdmVu
dE1vZGVsLCAodm9pZCAqKW9iai0+ZXZlbnRNb2RlbCk7Ci0gICAgCisgICAgICAgIAogICAgIHJl
dHVybiBOUEVSUl9OT19FUlJPUjsKIH0KIApAQCAtMTUxLDYgKzE2NCw5IEBAIE5QRXJyb3IgTlBQ
X0Rlc3Ryb3koTlBQIGluc3RhbmNlLCBOUFNhdmVkRGF0YSAqKnNhdmUpCiB7CiAgICAgUGx1Z2lu
T2JqZWN0KiBvYmogPSBzdGF0aWNfY2FzdDxQbHVnaW5PYmplY3QqPihpbnN0YW5jZS0+cGRhdGEp
OwogICAgIGlmIChvYmopIHsKKyAgICAgICAgaWYgKG9iai0+dGVzdEdldFVSTE9uRGVzdHJveSkK
KyAgICAgICAgICAgIGJyb3dzZXItPmdldHVybG5vdGlmeShvYmotPm5wcCwgImFib3V0OmJsYW5r
IiwgIiIsIDApOworCiAgICAgICAgIGlmIChvYmotPm9uRGVzdHJveSkgewogICAgICAgICAgICAg
ZXhlY3V0ZVNjcmlwdChvYmosIG9iai0+b25EZXN0cm95KTsKICAgICAgICAgICAgIGZyZWUob2Jq
LT5vbkRlc3Ryb3kpOwpAQCAtMjcwLDYgKzI4Niw3IEBAIHZvaWQgTlBQX1ByaW50KE5QUCBpbnN0
YW5jZSwgTlBQcmludCAqcGxhdGZvcm1QcmludCkKIHsKIH0KIAorI2lmIFhQX01BQwogI2lmbmRl
ZiBOUF9OT19DQVJCT04KIHN0YXRpYyBpbnQxNl90IGhhbmRsZUV2ZW50Q2FyYm9uKE5QUCBpbnN0
YW5jZSwgUGx1Z2luT2JqZWN0KiBvYmosIEV2ZW50UmVjb3JkKiBldmVudCkKIHsKQEAgLTQwMSwx
MiArNDE4LDE1IEBAIHN0YXRpYyBpbnQxNl90IGhhbmRsZUV2ZW50Q29jb2EoTlBQIGluc3RhbmNl
LCBQbHVnaW5PYmplY3QqIG9iaiwgTlBDb2NvYUV2ZW50KiBlCiAgICAgcmV0dXJuIDA7CiB9CiAK
KyNlbmRpZiAvLyBYUF9NQUMKKwogaW50MTZfdCBOUFBfSGFuZGxlRXZlbnQoTlBQIGluc3RhbmNl
LCB2b2lkICpldmVudCkKIHsKICAgICBQbHVnaW5PYmplY3QqIG9iaiA9IHN0YXRpY19jYXN0PFBs
dWdpbk9iamVjdCo+KGluc3RhbmNlLT5wZGF0YSk7CiAgICAgaWYgKCFvYmotPmV2ZW50TG9nZ2lu
ZykKICAgICAgICAgcmV0dXJuIDA7CiAKKyNpZiBYUF9NQUMKICNpZm5kZWYgTlBfTk9fQ0FSQk9O
CiAgICAgaWYgKG9iai0+ZXZlbnRNb2RlbCA9PSBOUEV2ZW50TW9kZWxDYXJib24pCiAgICAgICAg
IHJldHVybiBoYW5kbGVFdmVudENhcmJvbihpbnN0YW5jZSwgb2JqLCBzdGF0aWNfY2FzdDxFdmVu
dFJlY29yZCo+KGV2ZW50KSk7CkBAIC00MTQsNiArNDM0LDEwIEBAIGludDE2X3QgTlBQX0hhbmRs
ZUV2ZW50KE5QUCBpbnN0YW5jZSwgdm9pZCAqZXZlbnQpCiAKICAgICBhc3NlcnQob2JqLT5ldmVu
dE1vZGVsID09IE5QRXZlbnRNb2RlbENvY29hKTsKICAgICByZXR1cm4gaGFuZGxlRXZlbnRDb2Nv
YShpbnN0YW5jZSwgb2JqLCBzdGF0aWNfY2FzdDxOUENvY29hRXZlbnQqPihldmVudCkpOworI2Vs
c2UKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IGZvciBvdGhlciBwbGF0Zm9ybXMuCisgICAgcmV0
dXJuIDA7CisjZW5kaWYgLy8gWFBfTUFDCiB9CiAKIHZvaWQgTlBQX1VSTE5vdGlmeShOUFAgaW5z
dGFuY2UsIGNvbnN0IGNoYXIgKnVybCwgTlBSZWFzb24gcmVhc29uLCB2b2lkICpub3RpZnlEYXRh
KQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1
Z0luL3dpbi9UZXN0TmV0c2NhcGVQbHVnaW4udmNwcm9qIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luL3dpbi9UZXN0TmV0c2NhcGVQbHVnaW4udmNwcm9qCmlu
ZGV4IGVjMWIwOTE2ZTdiNTg3YmMwY2E0YTEyYmU5MmJlYzFiOWUwMjBhYWQuLmJlODdkOGJjMGVk
M2Q3ZjkxYTU1NTJhYzhmNDM4YzZiM2M0YWU3YjcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi93aW4vVGVzdE5ldHNjYXBlUGx1Z2luLnZj
cHJvagorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4v
d2luL1Rlc3ROZXRzY2FwZVBsdWdpbi52Y3Byb2oKQEAgLTM3Miw2ICszNzIsNTUgQEAKIAkJCT4N
CiAJCTwvRmlsZT4NCiAJCTxGaWxlDQorCQkJUmVsYXRpdmVQYXRoPSIuLlxtYWluLmNwcCINCisJ
CQk+DQorCQkJPEZpbGVDb25maWd1cmF0aW9uDQorCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KKwkJ
CQk+DQorCQkJCTxUb29sDQorCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJT2Jq
ZWN0RmlsZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEub2JqIg0KKwkJCQkJWE1MRG9jdW1lbnRh
dGlvbkZpbGVOYW1lPSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiDQorCQkJCS8+DQorCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiINCisJCQkJPg0KKwkJCQk8VG9vbA0KKwkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCINCisJCQkJCU9iamVjdEZpbGU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLm9iaiIN
CisJCQkJCVhNTERvY3VtZW50YXRpb25GaWxlTmFtZT0iJChJbnREaXIpXCQoSW5wdXROYW1lKTEu
eGRjIg0KKwkJCQkvPg0KKwkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPEZpbGVDb25maWd1
cmF0aW9uDQorCQkJCU5hbWU9IkRlYnVnX0ludGVybmFsfFdpbjMyIg0KKwkJCQk+DQorCQkJCTxU
b29sDQorCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJT2JqZWN0RmlsZT0iJChJ
bnREaXIpXCQoSW5wdXROYW1lKTEub2JqIg0KKwkJCQkJWE1MRG9jdW1lbnRhdGlvbkZpbGVOYW1l
PSIkKEludERpcilcJChJbnB1dE5hbWUpMS54ZGMiDQorCQkJCS8+DQorCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4NCisJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJTmFtZT0iRGVidWdfQ2Fpcm98
V2luMzIiDQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
DQorCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1dE5hbWUpMS5vYmoiDQorCQkJCQlY
TUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwkKElucHV0TmFtZSkxLnhkYyINCisJ
CQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
KwkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiDQorCQkJCT4NCisJCQkJPFRvb2wNCisJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiDQorCQkJCQlPYmplY3RGaWxlPSIkKEludERpcilcJChJbnB1
dE5hbWUpMS5vYmoiDQorCQkJCQlYTUxEb2N1bWVudGF0aW9uRmlsZU5hbWU9IiQoSW50RGlyKVwk
KElucHV0TmFtZSkxLnhkYyINCisJCQkJLz4NCisJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KKwkJ
PC9GaWxlPg0KKwkJPEZpbGUNCiAJCQlSZWxhdGl2ZVBhdGg9Ii4uXFBsdWdpbk9iamVjdC5jcHAi
DQogCQkJPg0KIAkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9UZXN0TmV0c2NhcGVQbHVnaW4vbWFpbi5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vVGVzdE5ldHNjYXBlUGx1Z2luL21haW4uY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAyNGM2MzA0YjA1MzJjZGUwZWJlZGVmZTc2N2ZhNGIwOGQ1MjM1Mjk1Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9UZXN0TmV0c2NhcGVQbHVnaW4vbWFpbi5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSwyNjYgKzAsMCBAQAotLyoKLSBJTVBPUlRBTlQ6ICBUaGlzIEFwcGxlIHNvZnR3
YXJlIGlzIHN1cHBsaWVkIHRvIHlvdSBieSBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikg
aW4KLSBjb25zaWRlcmF0aW9uIG9mIHlvdXIgYWdyZWVtZW50IHRvIHRoZSBmb2xsb3dpbmcgdGVy
bXMsIGFuZCB5b3VyIHVzZSwgaW5zdGFsbGF0aW9uLCAKLSBtb2RpZmljYXRpb24gb3IgcmVkaXN0
cmlidXRpb24gb2YgdGhpcyBBcHBsZSBzb2Z0d2FyZSBjb25zdGl0dXRlcyBhY2NlcHRhbmNlIG9m
IHRoZXNlIAotIHRlcm1zLiAgSWYgeW91IGRvIG5vdCBhZ3JlZSB3aXRoIHRoZXNlIHRlcm1zLCBw
bGVhc2UgZG8gbm90IHVzZSwgaW5zdGFsbCwgbW9kaWZ5IG9yIAotIHJlZGlzdHJpYnV0ZSB0aGlz
IEFwcGxlIHNvZnR3YXJlLgotIAotIEluIGNvbnNpZGVyYXRpb24gb2YgeW91ciBhZ3JlZW1lbnQg
dG8gYWJpZGUgYnkgdGhlIGZvbGxvd2luZyB0ZXJtcywgYW5kIHN1YmplY3QgdG8gdGhlc2UgCi0g
dGVybXMsIEFwcGxlIGdyYW50cyB5b3UgYSBwZXJzb25hbCwgbm9uLWV4Y2x1c2l2ZSBsaWNlbnNl
LCB1bmRlciBBcHBsZSdzIGNvcHlyaWdodHMgaW4KLSB0aGlzIG9yaWdpbmFsIEFwcGxlIHNvZnR3
YXJlICh0aGUgIkFwcGxlIFNvZnR3YXJlIiksIHRvIHVzZSwgcmVwcm9kdWNlLCBtb2RpZnkgYW5k
IAotIHJlZGlzdHJpYnV0ZSB0aGUgQXBwbGUgU29mdHdhcmUsIHdpdGggb3Igd2l0aG91dCBtb2Rp
ZmljYXRpb25zLCBpbiBzb3VyY2UgYW5kL29yIGJpbmFyeSAKLSBmb3JtczsgcHJvdmlkZWQgdGhh
dCBpZiB5b3UgcmVkaXN0cmlidXRlIHRoZSBBcHBsZSBTb2Z0d2FyZSBpbiBpdHMgZW50aXJldHkg
YW5kIHdpdGhvdXQgCi0gbW9kaWZpY2F0aW9ucywgeW91IG11c3QgcmV0YWluIHRoaXMgbm90aWNl
IGFuZCB0aGUgZm9sbG93aW5nIHRleHQgYW5kIGRpc2NsYWltZXJzIGluIGFsbCAKLSBzdWNoIHJl
ZGlzdHJpYnV0aW9ucyBvZiB0aGUgQXBwbGUgU29mdHdhcmUuICBOZWl0aGVyIHRoZSBuYW1lLCB0
cmFkZW1hcmtzLCBzZXJ2aWNlIG1hcmtzIAotIG9yIGxvZ29zIG9mIEFwcGxlIENvbXB1dGVyLCBJ
bmMuIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20gCi0gdGhlIEFwcGxlIFNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uIGZyb20gQXBwbGUuIEV4Y2VwdCBhcyBleHByZXNzbHkKLSBzdGF0ZWQgaW4gdGhp
cyBub3RpY2UsIG5vIG90aGVyIHJpZ2h0cyBvciBsaWNlbnNlcywgZXhwcmVzcyBvciBpbXBsaWVk
LCBhcmUgZ3JhbnRlZCBieSBBcHBsZQotIGhlcmVpbiwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRl
ZCB0byBhbnkgcGF0ZW50IHJpZ2h0cyB0aGF0IG1heSBiZSBpbmZyaW5nZWQgYnkgeW91ciAKLSBk
ZXJpdmF0aXZlIHdvcmtzIG9yIGJ5IG90aGVyIHdvcmtzIGluIHdoaWNoIHRoZSBBcHBsZSBTb2Z0
d2FyZSBtYXkgYmUgaW5jb3Jwb3JhdGVkLgotIAotIFRoZSBBcHBsZSBTb2Z0d2FyZSBpcyBwcm92
aWRlZCBieSBBcHBsZSBvbiBhbiAiQVMgSVMiIGJhc2lzLiAgQVBQTEUgTUFLRVMgTk8gV0FSUkFO
VElFUywgCi0gRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9O
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTk9OLUlORlJJTkdFTUVOVCwgCi0gTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgUkVHQVJESU5HIFRI
RSBBUFBMRSBTT0ZUV0FSRSBPUiBJVFMgCi0gVVNFIEFORCBPUEVSQVRJT04gQUxPTkUgT1IgSU4g
Q09NQklOQVRJT04gV0lUSCBZT1VSIFBST0RVQ1RTLgotIAotIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNULCBJTkNJREVOVEFMIE9SIENP
TlNFUVVFTlRJQUwgCi0gREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgCi0gT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSwgCi0gUkVQUk9EVUNUSU9OLCBNT0RJRklDQVRJT04gQU5E
L09SIERJU1RSSUJVVElPTiBPRiBUSEUgQVBQTEUgU09GVFdBUkUsIEhPV0VWRVIgQ0FVU0VEIEFO
RCAKLSBXSEVUSEVSIFVOREVSIFRIRU9SWSBPRiBDT05UUkFDVCwgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UpLCBTVFJJQ1QgTElBQklMSVRZIE9SIAotIE9USEVSV0lTRSwgRVZFTiBJRiBBUFBM
RSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jaW5jbHVkZSAiUGx1Z2luT2JqZWN0LmgiCi0KLSNpbmNsdWRlIDxzdGRpby5oPgotCi1l
eHRlcm4gIkMiCi1OUEVycm9yIF9fc3RkY2FsbCBOUF9Jbml0aWFsaXplKE5QTmV0c2NhcGVGdW5j
cyogYnJvd3NlckZ1bmNzKQotewotICAgIGJyb3dzZXIgPSBicm93c2VyRnVuY3M7Ci0gICAgcmV0
dXJuIE5QRVJSX05PX0VSUk9SOwotfQotCi1leHRlcm4gIkMiIAotTlBFcnJvciBfX3N0ZGNhbGwg
TlBfR2V0RW50cnlQb2ludHMoTlBQbHVnaW5GdW5jcyogcGx1Z2luRnVuY3MpCi17Ci0gICAgcGx1
Z2luRnVuY3MtPnZlcnNpb24gPSAxMTsKLSAgICBwbHVnaW5GdW5jcy0+c2l6ZSA9IHNpemVvZihw
bHVnaW5GdW5jcyk7Ci0gICAgcGx1Z2luRnVuY3MtPm5ld3AgPSBOUFBfTmV3OwotICAgIHBsdWdp
bkZ1bmNzLT5kZXN0cm95ID0gTlBQX0Rlc3Ryb3k7Ci0gICAgcGx1Z2luRnVuY3MtPnNldHdpbmRv
dyA9IE5QUF9TZXRXaW5kb3c7Ci0gICAgcGx1Z2luRnVuY3MtPm5ld3N0cmVhbSA9IE5QUF9OZXdT
dHJlYW07Ci0gICAgcGx1Z2luRnVuY3MtPmRlc3Ryb3lzdHJlYW0gPSBOUFBfRGVzdHJveVN0cmVh
bTsKLSAgICBwbHVnaW5GdW5jcy0+YXNmaWxlID0gTlBQX1N0cmVhbUFzRmlsZTsKLSAgICBwbHVn
aW5GdW5jcy0+d3JpdGVyZWFkeSA9IE5QUF9Xcml0ZVJlYWR5OwotICAgIHBsdWdpbkZ1bmNzLT53
cml0ZSA9IChOUFBfV3JpdGVQcm9jUHRyKU5QUF9Xcml0ZTsKLSAgICBwbHVnaW5GdW5jcy0+cHJp
bnQgPSBOUFBfUHJpbnQ7Ci0gICAgcGx1Z2luRnVuY3MtPmV2ZW50ID0gTlBQX0hhbmRsZUV2ZW50
OwotICAgIHBsdWdpbkZ1bmNzLT51cmxub3RpZnkgPSBOUFBfVVJMTm90aWZ5OwotICAgIHBsdWdp
bkZ1bmNzLT5nZXR2YWx1ZSA9IE5QUF9HZXRWYWx1ZTsKLSAgICBwbHVnaW5GdW5jcy0+c2V0dmFs
dWUgPSBOUFBfU2V0VmFsdWU7Ci0gICAgCi0gICAgcmV0dXJuIE5QRVJSX05PX0VSUk9SOwotfQot
Ci0KLWV4dGVybiAiQyIKLU5QRXJyb3IgX19zdGRjYWxsIE5QX1NodXRkb3duKCkKLXsKLSAgICBy
ZXR1cm4gTlBFUlJfTk9fRVJST1I7Ci19Ci0KLXN0YXRpYyB2b2lkIGV4ZWN1dGVTY3JpcHQoY29u
c3QgUGx1Z2luT2JqZWN0KiBvYmplY3QsIGNvbnN0IGNoYXIqIHNjcmlwdCkKLXsKLSAgICBOUE9i
amVjdCAqd2luZG93U2NyaXB0T2JqZWN0OwotICAgIGJyb3dzZXItPmdldHZhbHVlKG9iamVjdC0+
bnBwLCBOUE5WV2luZG93TlBPYmplY3QsICZ3aW5kb3dTY3JpcHRPYmplY3QpOwotCi0gICAgTlBT
dHJpbmcgbnBTY3JpcHQ7Ci0gICAgbnBTY3JpcHQuVVRGOENoYXJhY3RlcnMgPSBzY3JpcHQ7Ci0g
ICAgbnBTY3JpcHQuVVRGOExlbmd0aCA9IHN0cmxlbihzY3JpcHQpOwotCi0gICAgTlBWYXJpYW50
IGJyb3dzZXJSZXN1bHQ7Ci0gICAgYnJvd3Nlci0+ZXZhbHVhdGUob2JqZWN0LT5ucHAsIHdpbmRv
d1NjcmlwdE9iamVjdCwgJm5wU2NyaXB0LCAmYnJvd3NlclJlc3VsdCk7Ci0gICAgYnJvd3Nlci0+
cmVsZWFzZXZhcmlhbnR2YWx1ZSgmYnJvd3NlclJlc3VsdCk7Ci19Ci0KLU5QRXJyb3IgTlBQX05l
dyhOUE1JTUVUeXBlIHBsdWdpblR5cGUsIE5QUCBpbnN0YW5jZSwgdWludDE2X3QgbW9kZSwgaW50
MTZfdCBhcmdjLCBjaGFyICphcmduW10sIGNoYXIgKmFyZ3ZbXSwgTlBTYXZlZERhdGEgKnNhdmVk
KQotewotICAgIGlmIChicm93c2VyLT52ZXJzaW9uID49IDE0KSB7Ci0gICAgICAgIFBsdWdpbk9i
amVjdCogb2JqID0gKFBsdWdpbk9iamVjdCopYnJvd3Nlci0+Y3JlYXRlb2JqZWN0KGluc3RhbmNl
LCBnZXRQbHVnaW5DbGFzcygpKTsKLSAgICAgICAgaW5zdGFuY2UtPnBkYXRhID0gb2JqOwotCi0g
ICAgICAgIGZvciAoaW50MTZfdCBpID0gMDsgaSA8IGFyZ2M7IGkrKykgewotICAgICAgICAgICAg
aWYgKF9zdHJpY21wKGFyZ25baV0sICJvbnN0cmVhbWxvYWQiKSA9PSAwICYmICFvYmotPm9uU3Ry
ZWFtTG9hZCkKLSAgICAgICAgICAgICAgICBvYmotPm9uU3RyZWFtTG9hZCA9IF9zdHJkdXAoYXJn
dltpXSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChfc3RyaWNtcChhcmduW2ldLCAib25TdHJlYW1E
ZXN0cm95IikgPT0gMCAmJiAhb2JqLT5vblN0cmVhbURlc3Ryb3kpCi0gICAgICAgICAgICAgICAg
b2JqLT5vblN0cmVhbURlc3Ryb3kgPSBfc3RyZHVwKGFyZ3ZbaV0pOwotICAgICAgICAgICAgZWxz
ZSBpZiAoX3N0cmljbXAoYXJnbltpXSwgIm9uVVJMTm90aWZ5IikgPT0gMCAmJiAhb2JqLT5vblVS
TE5vdGlmeSkKLSAgICAgICAgICAgICAgICBvYmotPm9uVVJMTm90aWZ5ID0gX3N0cmR1cChhcmd2
W2ldKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKF9zdHJpY21wKGFyZ25baV0sICJvbkRlc3Ryb3ki
KSA9PSAwICYmICFvYmotPm9uRGVzdHJveSkKLSAgICAgICAgICAgICAgICBvYmotPm9uRGVzdHJv
eSA9IF9zdHJkdXAoYXJndltpXSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChfc3RyaWNtcChhcmdu
W2ldLCAibG9nU3JjIikgPT0gMCkgewotICAgICAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgYXJnYzsgaSsrKQotICAgICAgICAgICAgICAgICAgICBpZiAoX3N0cmljbXAoYXJnbltpXSwg
InNyYyIpID09IDApCi0gICAgICAgICAgICAgICAgICAgICAgICBwbHVnaW5Mb2coaW5zdGFuY2Us
ICJzcmM6ICVzIiwgYXJndltpXSk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKF9zdHJpY21wKGFy
Z25baV0sICJ0ZXN0ZG9jdW1lbnRvcGVuaW5kZXN0cm95c3RyZWFtIikgPT0gMCkKLSAgICAgICAg
ICAgICAgICBvYmotPnRlc3REb2N1bWVudE9wZW5JbkRlc3Ryb3lTdHJlYW0gPSBUUlVFOwotICAg
ICAgICAgICAgZWxzZSBpZiAoX3N0cmljbXAoYXJnbltpXSwgInRlc3RHZXRVUkxPbkRlc3Ryb3ki
KSA9PSAwKQotICAgICAgICAgICAgICAgIG9iai0+dGVzdEdldFVSTE9uRGVzdHJveSA9IFRSVUU7
Ci0gICAgICAgICAgICBlbHNlIGlmIChfc3RyaWNtcChhcmduW2ldLCAidGVzdHdpbmRvd29wZW4i
KSA9PSAwKQotICAgICAgICAgICAgICAgIG9iai0+dGVzdFdpbmRvd09wZW4gPSBUUlVFOwotICAg
ICAgICAgICAgZWxzZSBpZiAoX3N0cmljbXAoYXJnbltpXSwgIm9uU2V0V2luZG93IikgPT0gMCAm
JiAhb2JqLT5vblNldFdpbmRvdykKLSAgICAgICAgICAgICAgICBvYmotPm9uU2V0V2luZG93ID0g
c3RyZHVwKGFyZ3ZbaV0pOwotICAgICAgICB9Ci0KLSAgICAgICAgYnJvd3Nlci0+Z2V0dmFsdWUo
aW5zdGFuY2UsIE5QTlZwcml2YXRlTW9kZUJvb2wsICh2b2lkICopJm9iai0+Y2FjaGVkUHJpdmF0
ZUJyb3dzaW5nTW9kZSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIE5QRVJSX05PX0VSUk9SOwotfQot
Ci1OUEVycm9yIE5QUF9EZXN0cm95KE5QUCBpbnN0YW5jZSwgTlBTYXZlZERhdGEgKipzYXZlKQot
ewotICAgIFBsdWdpbk9iamVjdCAqb2JqID0gKFBsdWdpbk9iamVjdCopaW5zdGFuY2UtPnBkYXRh
OwotICAgIGlmIChvYmopIHsKLSAgICAgICAgaWYgKG9iai0+dGVzdEdldFVSTE9uRGVzdHJveSkK
LSAgICAgICAgICAgIGJyb3dzZXItPmdldHVybG5vdGlmeShvYmotPm5wcCwgImFib3V0OmJsYW5r
IiwgIiIsICIiKTsKLQotICAgICAgICBpZiAob2JqLT5vblN0cmVhbUxvYWQpCi0gICAgICAgICAg
ICBmcmVlKG9iai0+b25TdHJlYW1Mb2FkKTsKLQotICAgICAgICBpZiAob2JqLT5vblVSTE5vdGlm
eSkKLSAgICAgICAgICAgIGZyZWUob2JqLT5vblVSTE5vdGlmeSk7Ci0KLSAgICAgICAgaWYgKG9i
ai0+b25TdHJlYW1EZXN0cm95KQotICAgICAgICAgICAgZnJlZShvYmotPm9uU3RyZWFtRGVzdHJv
eSk7Ci0KLSAgICAgICAgaWYgKG9iai0+b25EZXN0cm95KSB7Ci0gICAgICAgICAgICBleGVjdXRl
U2NyaXB0KG9iaiwgb2JqLT5vbkRlc3Ryb3kpOwotICAgICAgICAgICAgZnJlZShvYmotPm9uRGVz
dHJveSk7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAob2JqLT5sb2dEZXN0cm95KQotICAgICAg
ICAgICAgcGx1Z2luTG9nKGluc3RhbmNlLCAiTlBQX0Rlc3Ryb3kiKTsKLQotICAgICAgICBpZiAo
b2JqLT5vblNldFdpbmRvdykKLSAgICAgICAgICAgIGZyZWUob2JqLT5vblNldFdpbmRvdyk7Ci0K
LSAgICAgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdCgmb2JqLT5oZWFkZXIpOwotICAgIH0KLSAg
ICByZXR1cm4gTlBFUlJfTk9fRVJST1I7Ci19Ci0KLU5QRXJyb3IgTlBQX1NldFdpbmRvdyhOUFAg
aW5zdGFuY2UsIE5QV2luZG93ICp3aW5kb3cpCi17Ci0gICAgUGx1Z2luT2JqZWN0KiBvYmogPSBz
dGF0aWNfY2FzdDxQbHVnaW5PYmplY3QqPihpbnN0YW5jZS0+cGRhdGEpOwotCi0gICAgaWYgKG9i
aikgewotICAgICAgICBvYmotPmxhc3RXaW5kb3cgPSAqd2luZG93OwotCi0gICAgICAgIGlmIChv
YmotPm9uU2V0V2luZG93KQotICAgICAgICAgICAgZXhlY3V0ZVNjcmlwdChvYmosIG9iai0+b25T
ZXRXaW5kb3cpOwotCi0gICAgICAgIGlmIChvYmotPnRlc3RXaW5kb3dPcGVuKSB7Ci0gICAgICAg
ICAgICB0ZXN0V2luZG93T3BlbihpbnN0YW5jZSk7Ci0gICAgICAgICAgICBvYmotPnRlc3RXaW5k
b3dPcGVuID0gRkFMU0U7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gTlBFUlJfTk9f
RVJST1I7Ci19Ci0KLU5QRXJyb3IgTlBQX05ld1N0cmVhbShOUFAgaW5zdGFuY2UsIE5QTUlNRVR5
cGUgdHlwZSwgTlBTdHJlYW0gKnN0cmVhbSwgTlBCb29sIHNlZWthYmxlLCB1aW50MTZfdCAqc3R5
cGUpCi17Ci0gICAgUGx1Z2luT2JqZWN0KiBvYmogPSAoUGx1Z2luT2JqZWN0KilpbnN0YW5jZS0+
cGRhdGE7Ci0KLSAgICBpZiAob2JqLT5yZXR1cm5FcnJvckZyb21OZXdTdHJlYW0pCi0gICAgICAg
IHJldHVybiBOUEVSUl9HRU5FUklDX0VSUk9SOwotCi0gICAgb2JqLT5zdHJlYW0gPSBzdHJlYW07
Ci0gICAgKnN0eXBlID0gTlBfQVNGSUxFT05MWTsKLQotICAgIGlmIChvYmotPm9uU3RyZWFtTG9h
ZCkKLSAgICAgICAgZXhlY3V0ZVNjcmlwdChvYmosIG9iai0+b25TdHJlYW1Mb2FkKTsKLQotICAg
IHJldHVybiBOUEVSUl9OT19FUlJPUjsKLX0KLQotTlBFcnJvciBOUFBfRGVzdHJveVN0cmVhbShO
UFAgaW5zdGFuY2UsIE5QU3RyZWFtICpzdHJlYW0sIE5QUmVhc29uIHJlYXNvbikKLXsKLSAgICBQ
bHVnaW5PYmplY3QqIG9iaiA9IChQbHVnaW5PYmplY3QqKWluc3RhbmNlLT5wZGF0YTsKLQotICAg
IGlmIChvYmotPm9uU3RyZWFtRGVzdHJveSkKLSAgICAgICAgZXhlY3V0ZVNjcmlwdChvYmosIG9i
ai0+b25TdHJlYW1EZXN0cm95KTsKLQotICAgIGlmIChvYmotPnRlc3REb2N1bWVudE9wZW5JbkRl
c3Ryb3lTdHJlYW0pIHsKLSAgICAgICAgdGVzdERvY3VtZW50T3BlbihpbnN0YW5jZSk7Ci0gICAg
fQotCi0gICAgcmV0dXJuIE5QRVJSX05PX0VSUk9SOwotfQotCi1pbnQzMl90IE5QUF9Xcml0ZVJl
YWR5KE5QUCBpbnN0YW5jZSwgTlBTdHJlYW0gKnN0cmVhbSkKLXsKLSAgICByZXR1cm4gMDsKLX0K
LQotaW50MzJfdCBOUFBfV3JpdGUoTlBQIGluc3RhbmNlLCBOUFN0cmVhbSAqc3RyZWFtLCBpbnQz
Ml90IG9mZnNldCwgaW50MzJfdCBsZW4sIHZvaWQgKmJ1ZmZlcikKLXsKLSAgICByZXR1cm4gMDsK
LX0KLQotdm9pZCBOUFBfU3RyZWFtQXNGaWxlKE5QUCBpbnN0YW5jZSwgTlBTdHJlYW0gKnN0cmVh
bSwgY29uc3QgY2hhciAqZm5hbWUpCi17Ci19Ci0KLXZvaWQgTlBQX1ByaW50KE5QUCBpbnN0YW5j
ZSwgTlBQcmludCAqcGxhdGZvcm1QcmludCkKLXsKLX0KLQotaW50MTZfdCBOUFBfSGFuZGxlRXZl
bnQoTlBQIGluc3RhbmNlLCB2b2lkICpldmVudCkKLXsKLSAgICBQbHVnaW5PYmplY3QgKm9iaiA9
IChQbHVnaW5PYmplY3QqKWluc3RhbmNlLT5wZGF0YTsKLSAgICBpZiAoIW9iai0+ZXZlbnRMb2dn
aW5nKQotICAgICAgICByZXR1cm4gMDsKLSAgICAKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRo
aXMKLSAgICByZXR1cm4gMDsKLX0KLQotdm9pZCBOUFBfVVJMTm90aWZ5KE5QUCBpbnN0YW5jZSwg
Y29uc3QgY2hhciAqdXJsLCBOUFJlYXNvbiByZWFzb24sIHZvaWQgKm5vdGlmeURhdGEpCi17Ci0g
ICAgUGx1Z2luT2JqZWN0ICpvYmogPSAoUGx1Z2luT2JqZWN0KilpbnN0YW5jZS0+cGRhdGE7Ci0K
LSAgICBpZiAob2JqLT5vblVSTE5vdGlmeSkKLSAgICAgICAgZXhlY3V0ZVNjcmlwdChvYmosIG9i
ai0+b25VUkxOb3RpZnkpOwotICAgICAgICAKLSAgICBoYW5kbGVDYWxsYmFjayhvYmosIHVybCwg
cmVhc29uLCBub3RpZnlEYXRhKTsKLX0KLQotTlBFcnJvciBOUFBfR2V0VmFsdWUoTlBQIGluc3Rh
bmNlLCBOUFBWYXJpYWJsZSB2YXJpYWJsZSwgdm9pZCAqdmFsdWUpCi17Ci0gICAgaWYgKHZhcmlh
YmxlID09IE5QUFZwbHVnaW5TY3JpcHRhYmxlTlBPYmplY3QpIHsKLSAgICAgICAgdm9pZCAqKnYg
PSAodm9pZCAqKil2YWx1ZTsKLSAgICAgICAgUGx1Z2luT2JqZWN0ICpvYmogPSAoUGx1Z2luT2Jq
ZWN0KilpbnN0YW5jZS0+cGRhdGE7Ci0gICAgICAgIC8vIFJldHVybiB2YWx1ZSBpcyBleHBlY3Rl
ZCB0byBiZSByZXRhaW5lZAotICAgICAgICBicm93c2VyLT5yZXRhaW5vYmplY3QoKE5QT2JqZWN0
ICopb2JqKTsKLSAgICAgICAgKnYgPSBvYmo7Ci0gICAgICAgIHJldHVybiBOUEVSUl9OT19FUlJP
UjsKLSAgICB9Ci0gICAgcmV0dXJuIE5QRVJSX0dFTkVSSUNfRVJST1I7Ci19Ci0KLU5QRXJyb3Ig
TlBQX1NldFZhbHVlKE5QUCBpbnN0YW5jZSwgTlBOVmFyaWFibGUgdmFyaWFibGUsIHZvaWQgKnZh
bHVlKQotewotICAgIFBsdWdpbk9iamVjdCogb2JqID0gc3RhdGljX2Nhc3Q8UGx1Z2luT2JqZWN0
Kj4oaW5zdGFuY2UtPnBkYXRhKTsKLQotICAgIHN3aXRjaCAodmFyaWFibGUpIHsKLSAgICAgICAg
Y2FzZSBOUE5WcHJpdmF0ZU1vZGVCb29sOgotICAgICAgICAgICAgb2JqLT5jYWNoZWRQcml2YXRl
QnJvd3NpbmdNb2RlID0gKihOUEJvb2wqKXZhbHVlOwotICAgICAgICAgICAgcmV0dXJuIE5QRVJS
X05PX0VSUk9SOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIE5QRVJSX0dF
TkVSSUNfRVJST1I7Ci0gICAgfQotfQo=
</data>
<flag name="review"
          id="48533"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>