<?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>7208</bug_id>
          
          <creation_ts>2006-02-11 23:15:33 -0800</creation_ts>
          <short_desc>factor WebArchive creation code out of other classes into new WebArchiver</short_desc>
          <delta_ts>2006-02-13 01:09:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Maciej Stachowiak">mjs</reporter>
          <assigned_to name="Maciej Stachowiak">mjs</assigned_to>
          <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>32203</commentid>
    <comment_count>0</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-02-11 23:15:33 -0800</bug_when>
    <thetext>To make it easier to move code around, the code for creating WebArchives should be factored into a separate class instead of being interlaced through sevaral classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32204</commentid>
    <comment_count>1</comment_count>
      <attachid>6425</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-02-11 23:17:04 -0800</bug_when>
    <thetext>Created attachment 6425
patch that factors out WebArchiver</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>32206</commentid>
    <comment_count>2</comment_count>
      <attachid>6425</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-02-11 23:18:26 -0800</bug_when>
    <thetext>Comment on attachment 6425
patch that factors out WebArchiver

r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6425</attachid>
            <date>2006-02-11 23:17:04 -0800</date>
            <delta_ts>2006-02-11 23:18:26 -0800</delta_ts>
            <desc>patch that factors out WebArchiver</desc>
            <filename>archiver.patch.txt</filename>
            <type>text/plain</type>
            <size>19232</size>
            <attacher name="Maciej Stachowiak">mjs</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkRhdGFTb3VyY2VQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViRGF0YVNvdXJj
ZVByaXZhdGUuaAkocmV2aXNpb24gMTI3NDcpCisrKyBXZWJEYXRhU291cmNlUHJpdmF0ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNDAsOCArMTQwLDYgQEAKIC0gKHZvaWQpX2FkZFN1YnJlc291cmNl
czooTlNBcnJheSAqKXN1YnJlc291cmNlczsKIC0gKE5TRmlsZVdyYXBwZXIgKilfZmlsZVdyYXBw
ZXJGb3JVUkw6KE5TVVJMICopVVJMOwogCi0tIChXZWJBcmNoaXZlICopX2FyY2hpdmVXaXRoQ3Vy
cmVudFN0YXRlOihCT09MKWN1cnJlbnRTdGF0ZTsKLS0gKFdlYkFyY2hpdmUgKilfYXJjaGl2ZVdp
dGhNYXJrdXBTdHJpbmc6KE5TU3RyaW5nICopbWFya3VwU3RyaW5nIG5vZGVzOihOU0FycmF5ICop
bm9kZXM7CiAtICh2b2lkKV9hZGRTdWJmcmFtZUFyY2hpdmVzOihOU0FycmF5ICopc3ViZnJhbWVB
cmNoaXZlczsKIC0gKFdlYkFyY2hpdmUgKilfcG9wU3ViZnJhbWVBcmNoaXZlV2l0aE5hbWU6KE5T
U3RyaW5nICopZnJhbWVOYW1lOwogCkluZGV4OiBXZWJBcmNoaXZlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkFyY2hpdmVyLmgJKHJldmlzaW9uIDApCisrKyBXZWJBcmNoaXZlci5oCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIENvbXB1
dGVyLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCisgKiAz
LiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9y
IHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91
bmRhdGlvbi5oPgorCitAY2xhc3MgRE9NTm9kZTsKK0BjbGFzcyBET01SYW5nZTsKK0BjbGFzcyBX
ZWJBcmNoaXZlOworQGNsYXNzIFdlYkZyYW1lOworCitAaW50ZXJmYWNlIFdlYkFyY2hpdmVyCit7
Cit9CisKKysgKFdlYkFyY2hpdmUgKilhcmNoaXZlTm9kZTooRE9NTm9kZSAqKW5vZGU7CisrIChX
ZWJBcmNoaXZlICopYXJjaGl2ZVJhbmdlOihET01SYW5nZSAqKXJhbmdlOworKyAoV2ViQXJjaGl2
ZSAqKWFyY2hpdmVTZWxlY3Rpb25JbkZyYW1lOihXZWJGcmFtZSAqKWZyYW1lOworKyAoV2ViQXJj
aGl2ZSAqKWFyY2hpdmVGcmFtZTooV2ViRnJhbWUgKilmcmFtZTsKKworQGVuZApJbmRleDogV2Vi
QXJjaGl2ZXIubQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJBcmNoaXZlci5tCShyZXZpc2lvbiAwKQorKysg
V2ViQXJjaGl2ZXIubQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNTkgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENv
bXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4gCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2ltcG9ydCAiV2ViQXJjaGl2ZXIuaCIKKworI2ltcG9ydCA8V2ViS2l0L0RPTS5oPgorI2lt
cG9ydCAiV2ViQXJjaGl2ZS5oIgorI2ltcG9ydCAiV2ViQXNzZXJ0aW9ucy5oIgorI2ltcG9ydCAi
V2ViRG9jdW1lbnQuaCIKKyNpbXBvcnQgIldlYkRhdGFTb3VyY2UuaCIKKyNpbXBvcnQgIldlYkRP
TU9wZXJhdGlvbnNQcml2YXRlLmgiCisjaW1wb3J0ICJXZWJGcmFtZS5oIgorI2ltcG9ydCAiV2Vi
RnJhbWVCcmlkZ2UuaCIKKyNpbXBvcnQgIldlYkZyYW1lUHJpdmF0ZS5oIgorI2ltcG9ydCAiV2Vi
UmVzb3VyY2UuaCIKKworQGltcGxlbWVudGF0aW9uIFdlYkFyY2hpdmVyCisKKysgKE5TQXJyYXkg
Kilfc3ViZnJhbWVBcmNoaXZlc0ZvckZyYW1lOihXZWJGcmFtZSAqKWZyYW1lCit7CisgICAgTlNF
bnVtZXJhdG9yICplbnVtZXJhdG9yID0gW1tmcmFtZSBjaGlsZEZyYW1lc10gb2JqZWN0RW51bWVy
YXRvcl07CisgICAgTlNNdXRhYmxlQXJyYXkgKnN1YmZyYW1lQXJjaGl2ZXMgPSBbTlNNdXRhYmxl
QXJyYXkgYXJyYXldOworICAgIFdlYkZyYW1lICpjaGlsZEZyYW1lOworICAgIHdoaWxlICgoY2hp
bGRGcmFtZSA9IFtlbnVtZXJhdG9yIG5leHRPYmplY3RdKSkKKyAgICAgICAgW3N1YmZyYW1lQXJj
aGl2ZXMgYWRkT2JqZWN0OltzZWxmIGFyY2hpdmVGcmFtZTpjaGlsZEZyYW1lXV07CisKKyAgICBy
ZXR1cm4gc3ViZnJhbWVBcmNoaXZlczsKK30KKworKyAoV2ViQXJjaGl2ZSAqKWFyY2hpdmVGcmFt
ZTooV2ViRnJhbWUgKilmcmFtZTsKK3sKKyAgICByZXR1cm4gW1tbV2ViQXJjaGl2ZSBhbGxvY10g
aW5pdFdpdGhNYWluUmVzb3VyY2U6W1tmcmFtZSBkYXRhU291cmNlXSBtYWluUmVzb3VyY2VdCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VicmVzb3VyY2VzOltbZnJh
bWUgZGF0YVNvdXJjZV0gc3VicmVzb3VyY2VzXQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc3ViZnJhbWVBcmNoaXZlczpbc2VsZiBfc3ViZnJhbWVBcmNoaXZlc0ZvckZyYW1l
OmZyYW1lXV0gYXV0b3JlbGVhc2VdOworfQorCisrIChXZWJBcmNoaXZlICopX2FyY2hpdmVDdXJy
ZW50U3RhdGVGb3JGcmFtZTooV2ViRnJhbWUgKilmcmFtZQoreworICAgIGlmIChbZnJhbWUgRE9N
RG9jdW1lbnRdKQorICAgICAgICByZXR1cm4gW3NlbGYgYXJjaGl2ZU5vZGU6W2ZyYW1lIERPTURv
Y3VtZW50XV07CisKKyAgICByZXR1cm4gW3NlbGYgYXJjaGl2ZUZyYW1lOmZyYW1lXTsKK30KKwor
KyAoV2ViQXJjaGl2ZSAqKV9hcmNoaXZlV2l0aE1hcmt1cFN0cmluZzooTlNTdHJpbmcgKiltYXJr
dXBTdHJpbmcgZnJvbUZyYW1lOihXZWJGcmFtZSAqKWZyYW1lIG5vZGVzOihOU0FycmF5ICopbm9k
ZXMKK3sgCisgICAgTlNVUkxSZXNwb25zZSAqcmVzcG9uc2UgPSBbW2ZyYW1lIGRhdGFTb3VyY2Vd
IHJlc3BvbnNlXTsKKyAgICBXZWJSZXNvdXJjZSAqbWFpblJlc291cmNlID0gW1tXZWJSZXNvdXJj
ZSBhbGxvY10gaW5pdFdpdGhEYXRhOlttYXJrdXBTdHJpbmcgZGF0YVVzaW5nRW5jb2Rpbmc6TlNV
VEY4U3RyaW5nRW5jb2RpbmddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFVSTDpbcmVzcG9uc2UgVVJMXSAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1JTUVUeXBlOlty
ZXNwb25zZSBNSU1FVHlwZV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXh0RW5jb2RpbmdOYW1lOkAiVVRGLTgiCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lTmFtZTpbZnJhbWUgbmFt
ZV1dOworICAgIAorICAgIE5TTXV0YWJsZUFycmF5ICpzdWJmcmFtZUFyY2hpdmVzID0gW1tOU011
dGFibGVBcnJheSBhbGxvY10gaW5pdF07CisgICAgTlNNdXRhYmxlQXJyYXkgKnN1YnJlc291cmNl
cyA9IFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdOworICAgIE5TRW51bWVyYXRvciAqZW51
bWVyYXRvciA9IFtub2RlcyBvYmplY3RFbnVtZXJhdG9yXTsKKyAgICBET01Ob2RlICpub2RlOwor
ICAgIHdoaWxlICgobm9kZSA9IFtlbnVtZXJhdG9yIG5leHRPYmplY3RdKSAhPSBuaWwpIHsKKyAg
ICAgICAgV2ViRnJhbWUgKmNoaWxkRnJhbWU7CisgICAgICAgIGlmICgoW25vZGUgaXNLaW5kT2ZD
bGFzczpbRE9NSFRNTEZyYW1lRWxlbWVudCBjbGFzc11dIHx8IAorICAgICAgICAgICAgIFtub2Rl
IGlzS2luZE9mQ2xhc3M6W0RPTUhUTUxJRnJhbWVFbGVtZW50IGNsYXNzXV0gfHwgCisgICAgICAg
ICAgICAgW25vZGUgaXNLaW5kT2ZDbGFzczpbRE9NSFRNTE9iamVjdEVsZW1lbnQgY2xhc3NdXSkg
JiYKKyAgICAgICAgICAgICgoY2hpbGRGcmFtZSA9IFsoRE9NSFRNTEZyYW1lRWxlbWVudCAqKW5v
ZGUgY29udGVudEZyYW1lXSkgIT0gbmlsKSkgeworICAgICAgICAgICAgW3N1YmZyYW1lQXJjaGl2
ZXMgYWRkT2JqZWN0OltzZWxmIF9hcmNoaXZlQ3VycmVudFN0YXRlRm9yRnJhbWU6Y2hpbGRGcmFt
ZV1dOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgTlNFbnVtZXJhdG9yICplbnVtZXJh
dG9yID0gW1tub2RlIF9zdWJyZXNvdXJjZVVSTHNdIG9iamVjdEVudW1lcmF0b3JdOworICAgICAg
ICAgICAgTlNVUkwgKlVSTDsKKyAgICAgICAgICAgIHdoaWxlICgoVVJMID0gW2VudW1lcmF0b3Ig
bmV4dE9iamVjdF0pICE9IG5pbCkgeworICAgICAgICAgICAgICAgIFdlYlJlc291cmNlICpzdWJy
ZXNvdXJjZSA9IFtbZnJhbWUgZGF0YVNvdXJjZV0gc3VicmVzb3VyY2VGb3JVUkw6VVJMXTsKKyAg
ICAgICAgICAgICAgICBpZiAoc3VicmVzb3VyY2UpCisgICAgICAgICAgICAgICAgICAgIFtzdWJy
ZXNvdXJjZXMgYWRkT2JqZWN0OnN1YnJlc291cmNlXTsKKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBzaG91bGQgZG8gc29tZXRoaW5nIGJldHRlciB0
aGFuIHNwZXcgdG8gY29uc29sZSBoZXJlCisgICAgICAgICAgICAgICAgICAgIEVSUk9SKCJGYWls
ZWQgdG8gYXJjaGl2ZSBzdWJyZXNvdXJjZSBmb3IgJUAiLCBVUkwpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgfQorICAgIAorICAgIFdlYkFyY2hpdmUgKmFyY2hpdmUgPSBbW1tXZWJB
cmNoaXZlIGFsbG9jXSBpbml0V2l0aE1haW5SZXNvdXJjZTptYWluUmVzb3VyY2Ugc3VicmVzb3Vy
Y2VzOnN1YnJlc291cmNlcyBzdWJmcmFtZUFyY2hpdmVzOnN1YmZyYW1lQXJjaGl2ZXNdIGF1dG9y
ZWxlYXNlXTsKKyAgICBbbWFpblJlc291cmNlIHJlbGVhc2VdOworICAgIFtzdWJyZXNvdXJjZXMg
cmVsZWFzZV07CisgICAgW3N1YmZyYW1lQXJjaGl2ZXMgcmVsZWFzZV07CisgICAgCisgICAgcmV0
dXJuIGFyY2hpdmU7Cit9CisKKysgKFdlYkFyY2hpdmUgKilhcmNoaXZlUmFuZ2U6KERPTVJhbmdl
ICopcmFuZ2UKK3sKKyAgICBXZWJGcmFtZUJyaWRnZSAqYnJpZGdlID0gW3JhbmdlIF9icmlkZ2Vd
OworICAgIFdlYkZyYW1lICpmcmFtZSA9IFticmlkZ2Ugd2ViRnJhbWVdOworICAgIE5TQXJyYXkg
Km5vZGVzOworICAgIE5TU3RyaW5nICptYXJrdXBTdHJpbmcgPSBbYnJpZGdlIG1hcmt1cFN0cmlu
Z0Zyb21SYW5nZTpyYW5nZSBub2Rlczombm9kZXNdOworICAgIHJldHVybiBbc2VsZiBfYXJjaGl2
ZVdpdGhNYXJrdXBTdHJpbmc6bWFya3VwU3RyaW5nIGZyb21GcmFtZTpmcmFtZSBub2Rlczpub2Rl
c107Cit9CisKKysgKFdlYkFyY2hpdmUgKilhcmNoaXZlTm9kZTooRE9NTm9kZSAqKW5vZGUKK3sK
KyAgICBXZWJGcmFtZSAqZnJhbWUgPSBbW25vZGUgb3duZXJEb2N1bWVudF0gd2ViRnJhbWVdOwor
ICAgIFdlYkZyYW1lQnJpZGdlICpicmlkZ2UgPSBbZnJhbWUgX2JyaWRnZV07CisgICAgTlNBcnJh
eSAqbm9kZXM7CisgICAgTlNTdHJpbmcgKm1hcmt1cFN0cmluZyA9IFticmlkZ2UgbWFya3VwU3Ry
aW5nRnJvbU5vZGU6bm9kZSBub2Rlczombm9kZXNdOworICAgIHJldHVybiBbc2VsZiBfYXJjaGl2
ZVdpdGhNYXJrdXBTdHJpbmc6bWFya3VwU3RyaW5nIGZyb21GcmFtZTpmcmFtZSBub2Rlczpub2Rl
c107Cit9CisKKysgKFdlYkFyY2hpdmUgKilhcmNoaXZlU2VsZWN0aW9uSW5GcmFtZTooV2ViRnJh
bWUgKilmcmFtZQoreworICAgIFdlYkZyYW1lQnJpZGdlICpicmlkZ2UgPSBbZnJhbWUgX2JyaWRn
ZV07CisgICAgTlNBcnJheSAqbm9kZXM7CisgICAgTlNTdHJpbmcgKm1hcmt1cFN0cmluZyA9IFti
cmlkZ2UgbWFya3VwU3RyaW5nRnJvbVJhbmdlOlticmlkZ2Ugc2VsZWN0ZWRET01SYW5nZV0gbm9k
ZXM6Jm5vZGVzXTsKKyAgICBXZWJBcmNoaXZlICphcmNoaXZlID0gW3NlbGYgX2FyY2hpdmVXaXRo
TWFya3VwU3RyaW5nOm1hcmt1cFN0cmluZyBmcm9tRnJhbWU6ZnJhbWUgbm9kZXM6bm9kZXNdOwor
CisgICAgaWYgKFticmlkZ2UgaXNGcmFtZVNldF0pIHsKKyAgICAgICAgLy8gV3JhcCB0aGUgZnJh
bWVzZXQgZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIGl0IGNhbiBiZSBwYXN0ZWQgaW50bworICAg
ICAgICAvLyBhbm90aGVyIGRvY3VtZW50ICh3aGljaCB3aWxsIGhhdmUgYSBib2R5IG9yIGZyYW1l
c2V0IG9mIGl0cyBvd24pLiAKKworICAgICAgICBOU1N0cmluZyAqaWZyYW1lTWFya3VwID0gW1tO
U1N0cmluZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6QCI8aWZyYW1lIGZyYW1lYm9yZGVyPVwibm9c
IiBtYXJnaW53aWR0aD1cIjBcIiBtYXJnaW5oZWlnaHQ9XCIwXCIgd2lkdGg9XCI5OCUlXCIgaGVp
Z2h0PVwiOTglJVwiIHNyYz1cIiVAXCI+PC9pZnJhbWU+IiwgW1tbZnJhbWUgZGF0YVNvdXJjZV0g
cmVzcG9uc2VdIFVSTF1dOworICAgICAgICBXZWJSZXNvdXJjZSAqaWZyYW1lUmVzb3VyY2UgPSBb
W1dlYlJlc291cmNlIGFsbG9jXSBpbml0V2l0aERhdGE6W2lmcmFtZU1hcmt1cCBkYXRhVXNpbmdF
bmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVSTDpbTlNVUkwgVVJMV2l0
aFN0cmluZzpAImFib3V0OmJsYW5rIl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSU1FVHlwZTpAInRleHQvaHRtbCIKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEVuY29k
aW5nTmFtZTpAIlVURi04IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZnJhbWVOYW1lOm5pbF07CisgICAgICAgIAorICAgICAgICBO
U0FycmF5ICpzdWJmcmFtZUFyY2hpdmVzID0gW05TQXJyYXkgYXJyYXlXaXRoT2JqZWN0OmFyY2hp
dmVdOworICAgICAgICBhcmNoaXZlID0gW1tbV2ViQXJjaGl2ZSBhbGxvY10gaW5pdFdpdGhNYWlu
UmVzb3VyY2U6aWZyYW1lUmVzb3VyY2Ugc3VicmVzb3VyY2VzOm5pbCBzdWJmcmFtZUFyY2hpdmVz
OnN1YmZyYW1lQXJjaGl2ZXNdIGF1dG9yZWxlYXNlXTsKKyAgICAgICAgCisgICAgICAgIFtpZnJh
bWVSZXNvdXJjZSByZWxlYXNlXTsKKyAgICAgICAgW2lmcmFtZU1hcmt1cCByZWxlYXNlXTsKKyAg
ICB9CisKKyAgICByZXR1cm4gYXJjaGl2ZTsKK30KKworQGVuZAorIApJbmRleDogV2ViRGF0YVNv
dXJjZS5tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkRhdGFTb3VyY2UubQkocmV2aXNpb24gMTI3NDcpCisr
KyBXZWJEYXRhU291cmNlLm0JKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDcgQEAKICNpbXBv
cnQgPFdlYktpdC9ET01IVE1MLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViQXNzZXJ0aW9ucy5oPgog
I2ltcG9ydCA8V2ViS2l0L1dlYkFyY2hpdmUuaD4KKyNpbXBvcnQgPFdlYktpdC9XZWJBcmNoaXZl
ci5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYkZyYW1lQnJpZGdlLmg+CiAjaW1wb3J0IDxXZWJLaXQv
V2ViRGF0YVByb3RvY29sLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViRGVmYXVsdFJlc291cmNlTG9h
ZERlbGVnYXRlLmg+CkBAIC0xMzEsNzQgKzEzMiw2IEBACiAgICAgcmV0dXJuIG5pbDsKIH0KIAot
LSAoV2ViQXJjaGl2ZSAqKV9hcmNoaXZlV2l0aE1hcmt1cFN0cmluZzooTlNTdHJpbmcgKiltYXJr
dXBTdHJpbmcgbm9kZXM6KE5TQXJyYXkgKilub2RlcwoteyAKLSAgICBBU1NFUlQoX3ByaXZhdGUt
PmNvbW1pdHRlZCk7Ci0KLSAgICBXZWJGcmFtZSAqZnJhbWUgPSBbc2VsZiB3ZWJGcmFtZV07Ci0g
ICAgTlNVUkxSZXNwb25zZSAqcmVzcG9uc2UgPSBbc2VsZiByZXNwb25zZV07Ci0gICAgV2ViUmVz
b3VyY2UgKm1haW5SZXNvdXJjZSA9IFtbV2ViUmVzb3VyY2UgYWxsb2NdIGluaXRXaXRoRGF0YTpb
bWFya3VwU3RyaW5nIGRhdGFVc2luZ0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBVUkw6W3Jlc3BvbnNlIFVSTF0gCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBNSU1FVHlwZTpbcmVzcG9uc2UgTUlNRVR5cGVdCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEVuY29kaW5n
TmFtZTpAIlVURi04IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmcmFtZU5hbWU6W2ZyYW1lIG5hbWVdXTsKLSAgICAKLSAgICBOU011dGFi
bGVBcnJheSAqc3ViZnJhbWVBcmNoaXZlcyA9IFtbTlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRd
OwotICAgIE5TTXV0YWJsZUFycmF5ICpzdWJyZXNvdXJjZXMgPSBbW05TTXV0YWJsZUFycmF5IGFs
bG9jXSBpbml0XTsKLSAgICBOU0VudW1lcmF0b3IgKmVudW1lcmF0b3IgPSBbbm9kZXMgb2JqZWN0
RW51bWVyYXRvcl07Ci0gICAgRE9NTm9kZSAqbm9kZTsKLSAgICB3aGlsZSAoKG5vZGUgPSBbZW51
bWVyYXRvciBuZXh0T2JqZWN0XSkgIT0gbmlsKSB7Ci0gICAgICAgIFdlYkZyYW1lICpjaGlsZEZy
YW1lOwotICAgICAgICBpZiAoKFtub2RlIGlzS2luZE9mQ2xhc3M6W0RPTUhUTUxGcmFtZUVsZW1l
bnQgY2xhc3NdXSB8fCAKLSAgICAgICAgICAgICBbbm9kZSBpc0tpbmRPZkNsYXNzOltET01IVE1M
SUZyYW1lRWxlbWVudCBjbGFzc11dIHx8IAotICAgICAgICAgICAgIFtub2RlIGlzS2luZE9mQ2xh
c3M6W0RPTUhUTUxPYmplY3RFbGVtZW50IGNsYXNzXV0pICYmCi0gICAgICAgICAgICAoKGNoaWxk
RnJhbWUgPSBbKERPTUhUTUxGcmFtZUVsZW1lbnQgKilub2RlIGNvbnRlbnRGcmFtZV0pICE9IG5p
bCkpIHsKLSAgICAgICAgICAgIFtzdWJmcmFtZUFyY2hpdmVzIGFkZE9iamVjdDpbW2NoaWxkRnJh
bWUgZGF0YVNvdXJjZV0gX2FyY2hpdmVXaXRoQ3VycmVudFN0YXRlOllFU11dOwotICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgTlNFbnVtZXJhdG9yICplbnVtZXJhdG9yID0gW1tub2RlIF9z
dWJyZXNvdXJjZVVSTHNdIG9iamVjdEVudW1lcmF0b3JdOwotICAgICAgICAgICAgTlNVUkwgKlVS
TDsKLSAgICAgICAgICAgIHdoaWxlICgoVVJMID0gW2VudW1lcmF0b3IgbmV4dE9iamVjdF0pICE9
IG5pbCkgewotICAgICAgICAgICAgICAgIFdlYlJlc291cmNlICpzdWJyZXNvdXJjZSA9IFtzZWxm
IHN1YnJlc291cmNlRm9yVVJMOlVSTF07Ci0gICAgICAgICAgICAgICAgaWYgKHN1YnJlc291cmNl
KSB7Ci0gICAgICAgICAgICAgICAgICAgIFtzdWJyZXNvdXJjZXMgYWRkT2JqZWN0OnN1YnJlc291
cmNlXTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBFUlJP
UigiRmFpbGVkIHRvIGFyY2hpdmUgc3VicmVzb3VyY2UgZm9yICVAIiwgVVJMKTsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgV2Vi
QXJjaGl2ZSAqYXJjaGl2ZSA9IFtbW1dlYkFyY2hpdmUgYWxsb2NdIGluaXRXaXRoTWFpblJlc291
cmNlOm1haW5SZXNvdXJjZSBzdWJyZXNvdXJjZXM6c3VicmVzb3VyY2VzIHN1YmZyYW1lQXJjaGl2
ZXM6c3ViZnJhbWVBcmNoaXZlc10gYXV0b3JlbGVhc2VdOwotICAgIFttYWluUmVzb3VyY2UgcmVs
ZWFzZV07Ci0gICAgW3N1YnJlc291cmNlcyByZWxlYXNlXTsKLSAgICBbc3ViZnJhbWVBcmNoaXZl
cyByZWxlYXNlXTsKLSAgICAKLSAgICByZXR1cm4gYXJjaGl2ZTsKLX0KLQotLSAoTlNBcnJheSAq
KV9zdWJmcmFtZUFyY2hpdmVzV2l0aEN1cnJlbnRTdGF0ZTooQk9PTCljdXJyZW50U3RhdGUKLXsK
LSAgICBOU0VudW1lcmF0b3IgKmVudW1lcmF0b3IgPSBbW1tzZWxmIHdlYkZyYW1lXSBjaGlsZEZy
YW1lc10gb2JqZWN0RW51bWVyYXRvcl07Ci0gICAgTlNNdXRhYmxlQXJyYXkgKnN1YmZyYW1lQXJj
aGl2ZXMgPSBbTlNNdXRhYmxlQXJyYXkgYXJyYXldOwotICAgIFdlYkZyYW1lICpjaGlsZEZyYW1l
OwotICAgIHdoaWxlICgoY2hpbGRGcmFtZSA9IFtlbnVtZXJhdG9yIG5leHRPYmplY3RdKSkgewot
ICAgICAgICBbc3ViZnJhbWVBcmNoaXZlcyBhZGRPYmplY3Q6W1tjaGlsZEZyYW1lIGRhdGFTb3Vy
Y2VdIF9hcmNoaXZlV2l0aEN1cnJlbnRTdGF0ZTpjdXJyZW50U3RhdGVdXTsKLSAgICB9Ci0gICAg
cmV0dXJuIHN1YmZyYW1lQXJjaGl2ZXM7Ci19Ci0KLS0gKFdlYkFyY2hpdmUgKilfYXJjaGl2ZVdp
dGhDdXJyZW50U3RhdGU6KEJPT0wpY3VycmVudFN0YXRlCi17Ci0gICAgQVNTRVJUKF9wcml2YXRl
LT5jb21taXR0ZWQpOwotCi0gICAgaWYgKGN1cnJlbnRTdGF0ZSAmJiBbW3NlbGYgcmVwcmVzZW50
YXRpb25dIGNvbmZvcm1zVG9Qcm90b2NvbDpAcHJvdG9jb2woV2ViRG9jdW1lbnRET00pXSkKLSAg
ICAgICAgcmV0dXJuIFtbKGlkIDxXZWJEb2N1bWVudERPTT4pW3NlbGYgcmVwcmVzZW50YXRpb25d
IERPTURvY3VtZW50XSB3ZWJBcmNoaXZlXTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBbW1tX
ZWJBcmNoaXZlIGFsbG9jXSBpbml0V2l0aE1haW5SZXNvdXJjZTpbc2VsZiBtYWluUmVzb3VyY2Vd
IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJyZXNvdXJj
ZXM6W19wcml2YXRlLT5zdWJyZXNvdXJjZXMgYWxsVmFsdWVzXQotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN1YmZyYW1lQXJjaGl2ZXM6W3NlbGYgX3N1YmZyYW1lQXJj
aGl2ZXNXaXRoQ3VycmVudFN0YXRlOmN1cnJlbnRTdGF0ZV1dIGF1dG9yZWxlYXNlXTsKLX0KLQog
LSAodm9pZClfYWRkU3ViZnJhbWVBcmNoaXZlczooTlNBcnJheSAqKXN1YmZyYW1lQXJjaGl2ZXMK
IHsKICAgICBpZiAoX3ByaXZhdGUtPnBlbmRpbmdTdWJmcmFtZUFyY2hpdmVzID09IG5pbCkgewpA
QCAtMTE5MCw3ICsxMTIzLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGFkZFR5cGVzRnJvbUNsYXNz
KE5TTQogICAgIGlmICghX3ByaXZhdGUtPmNvbW1pdHRlZCkKICAgICAgICAgcmV0dXJuIG5pbDsK
IAotICAgIHJldHVybiBbc2VsZiBfYXJjaGl2ZVdpdGhDdXJyZW50U3RhdGU6Tk9dOworICAgIHJl
dHVybiBbV2ViQXJjaGl2ZXIgYXJjaGl2ZUZyYW1lOltzZWxmIHdlYkZyYW1lXV07CiB9CiAKIC0g
KFdlYlJlc291cmNlICopbWFpblJlc291cmNlCkluZGV4OiBXZWJIVE1MVmlldy5tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkhUTUxWaWV3Lm0JKHJldmlzaW9uIDEyNzQ3KQorKysgV2ViSFRNTFZpZXcubQko
d29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogI2ltcG9ydCA8V2ViS2l0L0RPTUV4dGVu
c2lvbnMuaD4KICNpbXBvcnQgPFdlYktpdC9ET01Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQv
V2ViQXJjaGl2ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dlYkFyY2hpdmVyLmg+CiAjaW1wb3J0IDxX
ZWJLaXQvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlld0ludGVybmFsLmg+CiAjaW1wb3J0IDxXZWJL
aXQvV2ViRnJhbWVCcmlkZ2UuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJDbGlwVmlldy5oPgpAQCAt
NTg2LDcgKzU4Nyw3IEBAIHZvaWQgKl9OU1NvZnRMaW5raW5nR2V0RnJhbWV3b3JrRnVuY1B0cigK
IHsKICAgICAvLyBQdXQgSFRNTCBvbiB0aGUgcGFzdGVib2FyZC4KICAgICBpZiAoW3R5cGVzIGNv
bnRhaW5zT2JqZWN0OldlYkFyY2hpdmVQYm9hcmRUeXBlXSkgewotICAgICAgICBXZWJBcmNoaXZl
ICphcmNoaXZlID0gW3NlbGYgX3NlbGVjdGVkQXJjaGl2ZV07CisgICAgICAgIFdlYkFyY2hpdmUg
KmFyY2hpdmUgPSBbV2ViQXJjaGl2ZXIgYXJjaGl2ZVNlbGVjdGlvbkluRnJhbWU6W3NlbGYgX2Zy
YW1lXV07CiAgICAgICAgIFtwYXN0ZWJvYXJkIHNldERhdGE6W2FyY2hpdmUgZGF0YV0gZm9yVHlw
ZTpXZWJBcmNoaXZlUGJvYXJkVHlwZV07CiAgICAgfQogICAgIApAQCAtMTA5OSw1OSArMTEwMCw2
IEBAIHN0YXRpYyBXZWJIVE1MVmlldyAqbGFzdEhpdFZpZXcgPSBuaWw7CiAgICAgcmV0dXJuIFtO
U0FycmF5IGFycmF5V2l0aE9iamVjdHM6V2ViQXJjaGl2ZVBib2FyZFR5cGUsIE5TUlRGRFBib2Fy
ZFR5cGUsIE5TUlRGUGJvYXJkVHlwZSwgTlNTdHJpbmdQYm9hcmRUeXBlLCBuaWxdOwogfQogCi0t
IChXZWJBcmNoaXZlICopX3NlbGVjdGVkQXJjaGl2ZQotewotICAgIE5TQXJyYXkgKm5vZGVzOwot
I2lmICFMT0dfRElTQUJMRUQgICAgICAgIAotICAgIGRvdWJsZSBzdGFydCA9IENGQWJzb2x1dGVU
aW1lR2V0Q3VycmVudCgpOwotI2VuZGlmCi0gICAgTlNTdHJpbmcgKm1hcmt1cFN0cmluZyA9IFtb
c2VsZiBfYnJpZGdlXSBtYXJrdXBTdHJpbmdGcm9tUmFuZ2U6W3NlbGYgX3NlbGVjdGVkUmFuZ2Vd
IG5vZGVzOiZub2Rlc107Ci0jaWYgIUxPR19ESVNBQkxFRAotICAgIGRvdWJsZSBkdXJhdGlvbiA9
IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpIC0gc3RhcnQ7Ci0gICAgTE9HKFRpbWluZywgImNv
cHlpbmcgbWFya3VwIHRvb2sgJWYgc2Vjb25kcy4iLCBkdXJhdGlvbik7Ci0jZW5kaWYKLSAgICAK
LSAgICBXZWJBcmNoaXZlICphcmNoaXZlID0gW1tzZWxmIF9kYXRhU291cmNlXSBfYXJjaGl2ZVdp
dGhNYXJrdXBTdHJpbmc6bWFya3VwU3RyaW5nIG5vZGVzOm5vZGVzXTsKLQotICAgIGlmIChbW3Nl
bGYgX2JyaWRnZV0gaXNGcmFtZVNldF0pIHsKLSAgICAgICAgLy8gV3JhcCB0aGUgZnJhbWVzZXQg
ZG9jdW1lbnQgaW4gYW4gaWZyYW1lIHNvIGl0IGNhbiBiZSBwYXN0ZWQgaW50bwotICAgICAgICAv
LyBhbm90aGVyIGRvY3VtZW50ICh3aGljaCB3aWxsIGhhdmUgYSBib2R5IG9yIGZyYW1lc2V0IG9m
IGl0cyBvd24pLiAKLSAgICAgICAgTlNTdHJpbmcgKmlmcmFtZU1hcmt1cCA9IFtbTlNTdHJpbmcg
YWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiPGlmcmFtZSBmcmFtZWJvcmRlcj1cIm5vXCIgbWFyZ2lu
d2lkdGg9XCIwXCIgbWFyZ2luaGVpZ2h0PVwiMFwiIHdpZHRoPVwiOTglJVwiIGhlaWdodD1cIjk4
JSVcIiBzcmM9XCIlQFwiPjwvaWZyYW1lPiIsIFtbW3NlbGYgX2RhdGFTb3VyY2VdIHJlc3BvbnNl
XSBVUkxdXTsKLSAgICAgICAgV2ViUmVzb3VyY2UgKmlmcmFtZVJlc291cmNlID0gW1tXZWJSZXNv
dXJjZSBhbGxvY10gaW5pdFdpdGhEYXRhOltpZnJhbWVNYXJrdXAgZGF0YVVzaW5nRW5jb2Rpbmc6
TlNVVEY4U3RyaW5nRW5jb2RpbmddCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6
QCJhYm91dDpibGFuayJdCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTUlNRVR5cGU6QCJ0ZXh0L2h0bWwiCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHRFbmNvZGluZ05hbWU6
QCJVVEYtOCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZyYW1lTmFtZTpuaWxdOwotICAgICAgICAKLSAgICAgICAgTlNBcnJheSAq
c3ViZnJhbWVBcmNoaXZlcyA9IFtOU0FycmF5IGFycmF5V2l0aE9iamVjdDphcmNoaXZlXTsKLSAg
ICAgICAgYXJjaGl2ZSA9IFtbW1dlYkFyY2hpdmUgYWxsb2NdIGluaXRXaXRoTWFpblJlc291cmNl
OmlmcmFtZVJlc291cmNlIHN1YnJlc291cmNlczpuaWwgc3ViZnJhbWVBcmNoaXZlczpzdWJmcmFt
ZUFyY2hpdmVzXSBhdXRvcmVsZWFzZV07Ci0gICAgICAgIAotICAgICAgICBbaWZyYW1lUmVzb3Vy
Y2UgcmVsZWFzZV07Ci0gICAgICAgIFtpZnJhbWVNYXJrdXAgcmVsZWFzZV07Ci0gICAgfQotCi0g
ICAgcmV0dXJuIGFyY2hpdmU7Ci19Ci0KLS0gKHZvaWQpX3dyaXRlU2VsZWN0aW9uVG9QYXN0ZWJv
YXJkOihOU1Bhc3RlYm9hcmQgKilwYXN0ZWJvYXJkCi17Ci0gICAgQVNTRVJUKFtzZWxmIF9oYXNT
ZWxlY3Rpb25dKTsKLSAgICBOU0FycmF5ICp0eXBlcyA9IFtzZWxmIHBhc3RlYm9hcmRUeXBlc0Zv
clNlbGVjdGlvbl07Ci0gICAgCi0gICAgLy8gRG9uJ3Qgd3JpdGUgUlRGRCB0byB0aGUgcGFzdGVi
b2FyZCB3aGVuIHRoZSBjb3BpZWQgYXR0cmlidXRlZCBzdHJpbmcgaGFzIG5vIGF0dGFjaG1lbnRz
LgotICAgIE5TQXR0cmlidXRlZFN0cmluZyAqYXR0cmlidXRlZFN0cmluZyA9IFtzZWxmIHNlbGVj
dGVkQXR0cmlidXRlZFN0cmluZ107Ci0gICAgTlNNdXRhYmxlQXJyYXkgKm11dGFibGVUeXBlcyA9
IG5pbDsKLSAgICBpZiAoIVthdHRyaWJ1dGVkU3RyaW5nIGNvbnRhaW5zQXR0YWNobWVudHNdKSB7
Ci0gICAgICAgIG11dGFibGVUeXBlcyA9IFt0eXBlcyBtdXRhYmxlQ29weV07Ci0gICAgICAgIFtt
dXRhYmxlVHlwZXMgcmVtb3ZlT2JqZWN0Ok5TUlRGRFBib2FyZFR5cGVdOwotICAgICAgICB0eXBl
cyA9IG11dGFibGVUeXBlczsKLSAgICB9Ci0gICAgCi0gICAgW3Bhc3RlYm9hcmQgZGVjbGFyZVR5
cGVzOnR5cGVzIG93bmVyOm5pbF07Ci0gICAgW3NlbGYgX3dyaXRlU2VsZWN0aW9uV2l0aFBhc3Rl
Ym9hcmRUeXBlczp0eXBlcyB0b1Bhc3RlYm9hcmQ6cGFzdGVib2FyZCBjYWNoZWRBdHRyaWJ1dGVk
U3RyaW5nOmF0dHJpYnV0ZWRTdHJpbmddOwotICAgIFttdXRhYmxlVHlwZXMgcmVsZWFzZV07Ci19
Ci0KIC0gKE5TSW1hZ2UgKilfZHJhZ0ltYWdlRm9yTGlua0VsZW1lbnQ6KE5TRGljdGlvbmFyeSAq
KWVsZW1lbnQKIHsKICAgICBOU1VSTCAqbGlua1VSTCA9IFtlbGVtZW50IG9iamVjdEZvcktleTog
V2ViRWxlbWVudExpbmtVUkxLZXldOwpAQCAtMTY2Miw2ICsxNjEwLDI1IEBAIHN0YXRpYyBXZWJI
VE1MVmlldyAqbGFzdEhpdFZpZXcgPSBuaWw7CiAgICAgW1tzZWxmIF9icmlkZ2VdIHNldERpc3Bs
YXlzV2l0aEZvY3VzQXR0cmlidXRlczpmbGFnXTsKIH0KIAorLSAodm9pZClfd3JpdGVTZWxlY3Rp
b25Ub1Bhc3RlYm9hcmQ6KE5TUGFzdGVib2FyZCAqKXBhc3RlYm9hcmQKK3sKKyAgICBBU1NFUlQo
W3NlbGYgX2hhc1NlbGVjdGlvbl0pOworICAgIE5TQXJyYXkgKnR5cGVzID0gW3NlbGYgcGFzdGVi
b2FyZFR5cGVzRm9yU2VsZWN0aW9uXTsKKworICAgIC8vIERvbid0IHdyaXRlIFJURkQgdG8gdGhl
IHBhc3RlYm9hcmQgd2hlbiB0aGUgY29waWVkIGF0dHJpYnV0ZWQgc3RyaW5nIGhhcyBubyBhdHRh
Y2htZW50cy4KKyAgICBOU0F0dHJpYnV0ZWRTdHJpbmcgKmF0dHJpYnV0ZWRTdHJpbmcgPSBbc2Vs
ZiBzZWxlY3RlZEF0dHJpYnV0ZWRTdHJpbmddOworICAgIE5TTXV0YWJsZUFycmF5ICptdXRhYmxl
VHlwZXMgPSBuaWw7CisgICAgaWYgKCFbYXR0cmlidXRlZFN0cmluZyBjb250YWluc0F0dGFjaG1l
bnRzXSkgeworICAgICAgICBtdXRhYmxlVHlwZXMgPSBbdHlwZXMgbXV0YWJsZUNvcHldOworICAg
ICAgICBbbXV0YWJsZVR5cGVzIHJlbW92ZU9iamVjdDpOU1JURkRQYm9hcmRUeXBlXTsKKyAgICAg
ICAgdHlwZXMgPSBtdXRhYmxlVHlwZXM7CisgICAgfQorCisgICAgW3Bhc3RlYm9hcmQgZGVjbGFy
ZVR5cGVzOnR5cGVzIG93bmVyOm5pbF07CisgICAgW3NlbGYgX3dyaXRlU2VsZWN0aW9uV2l0aFBh
c3RlYm9hcmRUeXBlczp0eXBlcyB0b1Bhc3RlYm9hcmQ6cGFzdGVib2FyZCBjYWNoZWRBdHRyaWJ1
dGVkU3RyaW5nOmF0dHJpYnV0ZWRTdHJpbmddOworICAgIFttdXRhYmxlVHlwZXMgcmVsZWFzZV07
Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIE5TVmlldyAoV2ViSFRNTFZpZXdGaWxlSW50
ZXJuYWwpCkluZGV4OiBXZWJIVE1MVmlld1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJIVE1M
Vmlld1ByaXZhdGUuaAkocmV2aXNpb24gMTI3NDcpCisrKyBXZWJIVE1MVmlld1ByaXZhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNTUsNyArNTUsNiBAQAogKyAoTlNBcnJheSAqKV9pbnNlcnRhYmxl
UGFzdGVib2FyZFR5cGVzOwogKyAoTlNBcnJheSAqKV9zZWxlY3Rpb25QYXN0ZWJvYXJkVHlwZXM7
CiAtICh2b2lkKV93cml0ZVNlbGVjdGlvblRvUGFzdGVib2FyZDooTlNQYXN0ZWJvYXJkICopcGFz
dGVib2FyZDsKLS0gKFdlYkFyY2hpdmUgKilfc2VsZWN0ZWRBcmNoaXZlOwogCiAtICh2b2lkKV9m
cmFtZU9yQm91bmRzQ2hhbmdlZDsKIAo=
</data>
<flag name="review"
          id="1585"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>