<?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>14842</bug_id>
          
          <creation_ts>2007-08-01 07:11:57 -0700</creation_ts>
          <short_desc>Patch for DRT that fixes 20+ layout tests</short_desc>
          <delta_ts>2007-09-26 04:28:20 -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>WebKit Qt</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</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>0</everconfirmed>
          <reporter name="Adam Treat">manyoso</reporter>
          <assigned_to name="George Staikos">staikos</assigned_to>
          <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>3292</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2007-08-01 07:11:57 -0700</bug_when>
    <thetext>Together, this patch fixes some 20+ layout tests in QtWebKit.

bdash mentioned that I shouldn&apos;t do refactoring and variable renaming along with real changes.  Unfortunately, I don&apos;t have time right now to separate it out and I&apos;m going on vacation till September very soon.

bdash also had problems with the * decorator placement and a stray commented out debug call in LayoutTestController::queueReload.

Perhaps someone else can fix up these changes and commit or I guess I&apos;ll do it in September.

Cheers,

Adam</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3293</commentid>
    <comment_count>1</comment_count>
      <attachid>15772</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2007-08-01 07:13:25 -0700</bug_when>
    <thetext>Created attachment 15772
Fixes DRT

Qt DRT Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3202</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-08-01 20:08:20 -0700</bug_when>
    <thetext>My comment about * placement was less about this patch than an inconsistency I noticed elsewhere in the Qt-related code while checking whether the non-standard style used in the patch matched that used elsewhere in Qt code.  It does match, but there were a few places in the existing code where the placement is inconsistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1448</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-08-26 04:18:20 -0700</bug_when>
    <thetext>Hey Adam,

+        Modifies the addToJSWindowObject to bind js objects using the built-in
+        kst_window class.  Make sure to protect the created runtime object from
+        garbage collection.

too much KST hacking lately? ;-)

Greetings,
Niko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>9</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2007-09-25 04:19:11 -0700</bug_when>
    <thetext>Landed in -r25722</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56998</commentid>
    <comment_count>5</comment_count>
      <attachid>15772</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2007-09-25 09:38:19 -0700</bug_when>
    <thetext>Comment on attachment 15772
Fixes DRT

Simon applied this patch, clearing the review flag now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57057</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2007-09-26 00:32:28 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 15772 [edit])
&gt; Simon applied this patch

So why is the bug still open?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57065</commentid>
    <comment_count>7</comment_count>
    <who name="George Staikos">staikos</who>
    <bug_when>2007-09-26 04:28:20 -0700</bug_when>
    <thetext>It shouldn&apos;t be open.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>15772</attachid>
            <date>2007-08-01 07:13:25 -0700</date>
            <delta_ts>2007-09-25 09:38:19 -0700</delta_ts>
            <desc>Fixes DRT</desc>
            <filename>drt.patch</filename>
            <type>text/plain</type>
            <size>20734</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFF0L0FwaS9xd2ViZnJhbWUuY3BwIGIvV2ViS2l0UXQvQXBpL3F3
ZWJmcmFtZS5jcHAKaW5kZXggODQwOWU3My4uZjFmNmYyYyAxMDA2NDQKLS0tIGEvV2ViS2l0UXQv
QXBpL3F3ZWJmcmFtZS5jcHAKKysrIGIvV2ViS2l0UXQvQXBpL3F3ZWJmcmFtZS5jcHAKQEAgLTUx
LDYgKzUxLDcgQEAKICNpbmNsdWRlICJiaW5kaW5ncy9ydW50aW1lLmgiCiAjaW5jbHVkZSAiYmlu
ZGluZ3MvcnVudGltZV9yb290LmgiCiAjaW5jbHVkZSAia2pzX3Byb3h5LmgiCisjaW5jbHVkZSAi
a2pzX3dpbmRvdy5oIgogI2luY2x1ZGUgImtqc19iaW5kaW5nLmgiCiAjaW5jbHVkZSAiRXhlY1N0
YXRlLmgiCiAjaW5jbHVkZSAib2JqZWN0LmgiCkBAIC0xMzMsMjAgKzEzNCwxOSBAQCBRV2ViRnJh
bWU6On5RV2ViRnJhbWUoKQogCiB2b2lkIFFXZWJGcmFtZTo6YWRkVG9KU1dpbmRvd09iamVjdChj
b25zdCBRQnl0ZUFycmF5ICZuYW1lLCBRT2JqZWN0ICpvYmplY3QpCiB7Ci0gICAgS0pTOjpCaW5k
aW5nczo6Um9vdE9iamVjdCAqcm9vdCA9IGQtPmZyYW1lLT5iaW5kaW5nUm9vdE9iamVjdCgpOwot
ICAgIEtKUzo6RXhlY1N0YXRlICpleGVjID0gcm9vdC0+aW50ZXJwcmV0ZXIoKS0+Z2xvYmFsRXhl
YygpOwotICAgIEtKUzo6SlNPYmplY3QgKnJvb3RPYmplY3QgPSByb290LT5pbnRlcnByZXRlcigp
LT5nbG9iYWxPYmplY3QoKTsKLSAgICBLSlM6OkpTT2JqZWN0ICp3aW5kb3cgPSByb290T2JqZWN0
LT5nZXQoZXhlYywgS0pTOjpJZGVudGlmaWVyKCJ3aW5kb3ciKSktPmdldE9iamVjdCgpOwotICAg
IGlmICghd2luZG93KSB7Ci0gICAgICAgIHFEZWJ1ZygpIDw8ICJXYXJuaW5nOiBjb3VsZG4ndCBn
ZXQgd2luZG93IG9iamVjdCI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBLSlM6OkpT
T2JqZWN0ICp0ZXN0Q29udHJvbGxlciA9CisgICAgICBLSlM6OkpTTG9jayBsb2NrOworICAgICAg
S0pTOjpXaW5kb3cgKndpbmRvdyA9IEtKUzo6V2luZG93OjpyZXRyaWV2ZVdpbmRvdyhkLT5mcmFt
ZS5nZXQoKSk7CisgICAgICBLSlM6OkJpbmRpbmdzOjpSb290T2JqZWN0ICpyb290ID0gZC0+ZnJh
bWUtPmJpbmRpbmdSb290T2JqZWN0KCk7CisgICAgICBpZiAoIXdpbmRvdykgeworICAgICAgICAg
IHFEZWJ1ZygpIDw8ICJXYXJuaW5nOiBjb3VsZG4ndCBnZXQgd2luZG93IG9iamVjdCI7CisgICAg
ICAgICAgcmV0dXJuOworICAgICAgfQorCisgICAgICBLSlM6OkpTT2JqZWN0ICpydW50aW1lT2Jq
ZWN0ID0KICAgICAgICAgS0pTOjpCaW5kaW5nczo6SW5zdGFuY2U6OmNyZWF0ZVJ1bnRpbWVPYmpl
Y3QoS0pTOjpCaW5kaW5nczo6SW5zdGFuY2U6OlF0TGFuZ3VhZ2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdCwgcm9vdCk7CiAKLSAg
ICB3aW5kb3ctPnB1dChleGVjLCBLSlM6OklkZW50aWZpZXIobmFtZS5jb25zdERhdGEoKSksIHRl
c3RDb250cm9sbGVyKTsKKyAgICAgIHdpbmRvdy0+cHV0KHdpbmRvdy0+aW50ZXJwcmV0ZXIoKS0+
Z2xvYmFsRXhlYygpLCBLSlM6OklkZW50aWZpZXIobmFtZS5jb25zdERhdGEoKSksIHJ1bnRpbWVP
YmplY3QpOwogfQogCiAKZGlmZiAtLWdpdCBhL1dlYktpdFF0L0FwaS9xd2ViZnJhbWUuaCBiL1dl
YktpdFF0L0FwaS9xd2ViZnJhbWUuaAppbmRleCA3Mjc4NzNkLi4yYTE0M2RlIDEwMDY0NAotLS0g
YS9XZWJLaXRRdC9BcGkvcXdlYmZyYW1lLmgKKysrIGIvV2ViS2l0UXQvQXBpL3F3ZWJmcmFtZS5o
CkBAIC04MCw2ICs4MCw3IEBAIHB1YmxpYyBRX1NMT1RTOgogc2lnbmFsczoKICAgICB2b2lkIGNs
ZWFyZWQoKTsKICAgICB2b2lkIGxvYWREb25lKGJvb2wgb2spOworICAgIHZvaWQgcHJvdmlzaW9u
YWxMb2FkKCk7CiAgICAgdm9pZCB0aXRsZUNoYW5nZWQoY29uc3QgUVN0cmluZyAmdGl0bGUpOwog
ICAgIHZvaWQgaG92ZXJpbmdPdmVyTGluayhjb25zdCBRU3RyaW5nICZsaW5rLCBjb25zdCBRU3Ry
aW5nICZ0aXRsZSk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdFF0L0NoYW5nZUxvZyBiL1dlYktpdFF0
L0NoYW5nZUxvZwppbmRleCBhZWJlMWYxLi5hOTdhOWZkIDEwMDY0NAotLS0gYS9XZWJLaXRRdC9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0UXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDct
MDgtMDEgIEFkYW0gVHJlYXQgIDx0cmVhdEBrZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vZGlmaWVzIHRoZSBhZGRUb0pTV2luZG93T2Jq
ZWN0IHRvIGJpbmQganMgb2JqZWN0cyB1c2luZyB0aGUgYnVpbHQtaW4KKyAgICAgICAga3N0X3dp
bmRvdyBjbGFzcy4gIE1ha2Ugc3VyZSB0byBwcm90ZWN0IHRoZSBjcmVhdGVkIHJ1bnRpbWUgb2Jq
ZWN0IGZyb20KKyAgICAgICAgZ2FyYmFnZSBjb2xsZWN0aW9uLgorCisgICAgICAgIEFkZHMgYSBz
aWduYWwgdG8gUVdlYkZyYW1lIHRvIG5vdGlmeSBjbGllbnRzIG9mIHRoZSBiZWdpbm5pbmcgb2Yg
YQorICAgICAgICBwcm92aXNpb25hbCBsb2FkLiAgRFJUIG5lZWRzIHRoaXMuCisKKyAgICAgICAg
KiBBcGkvcXdlYmZyYW1lLmNwcDoKKyAgICAgICAgKFFXZWJGcmFtZTo6YWRkVG9KU1dpbmRvd09i
amVjdCk6CisgICAgICAgICogQXBpL3F3ZWJmcmFtZS5oOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXJDbGllbnRRdDo6ZGlzcGF0Y2hEaWRTdGFydFByb3Zpc2lvbmFsTG9hZCk6CisKIDIwMDctMDct
MzAgIEFkYW0gVHJlYXQgIDx0cmVhdEBrZGUub3JnPgogCiAgICAgICAgIEZpeCBidWlsZC4KZGlm
ZiAtLWdpdCBhL1dlYktpdFF0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3Bw
IGIvV2ViS2l0UXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKaW5kZXgg
Y2EzMjQ3MC4uZWNkYWVjOSAxMDA2NDQKLS0tIGEvV2ViS2l0UXQvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0UXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRRdC5jcHAKQEAgLTI5Miw3ICsyOTIsOCBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xp
ZW50UXQ6OmRpc3BhdGNoV2lsbENsb3NlKCkKIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0Ojpk
aXNwYXRjaERpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkKCkKIHsKLSAgICAvLyB3ZSdyZSBub3QgaW50
ZXJlc3RlZCBpbiB0aGlzIG5laXRoZXIgSSB0aGluaworICAgIGlmIChtX3dlYkZyYW1lKQorICAg
ICAgICBlbWl0IG1fd2ViRnJhbWUtPnByb3Zpc2lvbmFsTG9hZCgpOwogfQogCiAKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCBk
NWRlMTg5Li4yZmMyNGNhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAKKzIwMDctMDgtMDEgIEFkYW0g
VHJlYXQgIDx0cmVhdEBrZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlZmFjdG9ycyBhbmQgY2xlYW5zIHVwIFF0IERSVCBtZW1iZXIgdmFy
aWFibGUgbmFtZXMsIG1lbWJlciB2YXJpYWJsZQorICAgICAgICBpbml0aWFsaXphdGlvbiwgc3R5
bGUgZml4ZXMgYW5kIGdlbmVyYWwgY29kZSBjbGVhbnVwLgorCisgICAgICAgIEFkZHMgcXVldWVS
ZWxvYWQgc2xvdCB0byBMYXlvdXRUZXN0Q29udHJvbGxlciB0aGF0IHNvbWUgdGVzdHMgcmVxdWly
ZS4KKworICAgICAgICBTdWJjbGFzc2VzIFFXZWJGcmFtZSB0byBtYWtlIHN1cmUgdGhhdCBhbGwg
ZnJhbWVzIGhhdmUgYW4gYXNzb2NpYXRlZAorICAgICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciBK
UyB3aW5kb3cgb2JqZWN0LgorCisgICAgICAgIFRha2VzIGFkdmFudGFnZSBvZiBuZXcgUVdlYkZy
YW1lIHByb3Zpc2lvbmFsTG9hZCBzaWduYWwgdG8gZW5zdXJlIGZyYW1lcworICAgICAgICBhcmVu
J3QgZHVtcGVkIHR3aWNlLgorCisgICAgICAgIEVPRiBmaXhlcy4KKworICAgICAgICBUb2dldGhl
ciwgdGhpcyBwYXRjaCBmaXhlcyBzb21lIDIwKyBsYXlvdXQgdGVzdHMgaW4gUXRXZWJLaXQuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ovRHVtcFJlbmRl
clRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViRnJhbWU6OldlYkZyYW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlBhZ2U6OldlYlBhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGFn
ZTo6Y3JlYXRlRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6OkR1bXBS
ZW5kZXJUcmVlKToKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpvcGVuKToKKyAg
ICAgICAgKFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlOjpyZWFkU3RkaW4pOgorICAgICAgICAoV2Vi
Q29yZTo6RHVtcFJlbmRlclRyZWU6OmluaXRKU09iamVjdHMpOgorICAgICAgICAoV2ViQ29yZTo6
RHVtcFJlbmRlclRyZWU6OmR1bXApOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1bXBSZW5k
ZXJUcmVlLnF0cHJvai9EdW1wUmVuZGVyVHJlZS5oOgorICAgICAgICAoV2ViQ29yZTo6RHVtcFJl
bmRlclRyZWU6OmxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkR1bXBS
ZW5kZXJUcmVlOjpldmVudFNlbmRlcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvRHVtcFJl
bmRlclRyZWUucXRwcm9qL2pzb2JqZWN0cy5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJv
bGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnJlc2V0KToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjptYXliZUR1bXApOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OndhaXRVbnRpbERvbmUpOgorICAgICAgICAo
TGF5b3V0VGVzdENvbnRyb2xsZXI6Om5vdGlmeURvbmUpOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnF1ZXVlUmVsb2FkKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpw
cm92aXNpb25hbExvYWQpOgorICAgICAgICAoRXZlbnRTZW5kZXI6OkV2ZW50U2VuZGVyKToKKyAg
ICAgICAgKEV2ZW50U2VuZGVyOjptb3VzZURvd24pOgorICAgICAgICAoRXZlbnRTZW5kZXI6Om1v
dXNlVXApOgorICAgICAgICAoRXZlbnRTZW5kZXI6Om1vdXNlTW92ZVRvKToKKyAgICAgICAgKEV2
ZW50U2VuZGVyOjpmcmFtZVVuZGVyTW91c2UpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1
bXBSZW5kZXJUcmVlLnF0cHJvai9qc29iamVjdHMuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyOjppc0xvYWRpbmcpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldExv
YWRpbmcpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBBc1RleHQpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9tYWluLmNwcDoKKyAg
ICAgICAgKG1haW4pOgorCiAyMDA3LTA3LTMwICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW0gSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9EdW1wUmVuZGVyVHJl
ZS5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ov
RHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDZmY2E1YjUuLjE5NzM1YjkgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9EdW1wUmVuZGVy
VHJlZS5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUu
cXRwcm9qL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtNTAsMTQgKzUwLDUyIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNvbnN0IHVuc2lnbmVkIGludCBtYXhWaWV3V2lkdGggPSA4MDA7CiBjb25zdCB1
bnNpZ25lZCBpbnQgbWF4Vmlld0hlaWdodCA9IDYwMDsKIAorY2xhc3MgV2ViRnJhbWUgOiBwdWJs
aWMgUVdlYkZyYW1lIHsKK3B1YmxpYzoKKyAgICBXZWJGcmFtZShRV2ViUGFnZSAqcGFyZW50LCBR
V2ViRnJhbWVEYXRhICpmcmFtZURhdGEpCisgICAgICAgIDogUVdlYkZyYW1lKHBhcmVudCwgZnJh
bWVEYXRhKSB7fQorICAgIFdlYkZyYW1lKFFXZWJGcmFtZSAqcGFyZW50LCBRV2ViRnJhbWVEYXRh
ICpmcmFtZURhdGEpCisgICAgICAgIDogUVdlYkZyYW1lKHBhcmVudCwgZnJhbWVEYXRhKSB7fQor
fTsKKwogY2xhc3MgV2ViUGFnZSA6IHB1YmxpYyBRV2ViUGFnZSB7CiBwdWJsaWM6Ci0gICAgV2Vi
UGFnZShRV2lkZ2V0ICpwYXJlbnQpIDogUVdlYlBhZ2UocGFyZW50KSB7fQorICAgIFdlYlBhZ2Uo
UVdpZGdldCAqcGFyZW50LCBEdW1wUmVuZGVyVHJlZSAqZHJ0KQorICAgICAgICA6IFFXZWJQYWdl
KHBhcmVudCksIG1fZHJ0KGRydCkge30KKworICAgIFFXZWJGcmFtZSAqY3JlYXRlRnJhbWUoUVdl
YkZyYW1lICpwYXJlbnRGcmFtZSwgUVdlYkZyYW1lRGF0YSAqZnJhbWVEYXRhKTsKIAogICAgIHZv
aWQgamF2YVNjcmlwdEFsZXJ0KFFXZWJGcmFtZSAqZnJhbWUsIGNvbnN0IFFTdHJpbmcmIG1lc3Nh
Z2UpOwogICAgIHZvaWQgamF2YVNjcmlwdENvbnNvbGVNZXNzYWdlKGNvbnN0IFFTdHJpbmcmIG1l
c3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lTnVtYmVyLCBjb25zdCBRU3RyaW5nJiBzb3VyY2VJRCk7
CisKK3ByaXZhdGU6CisgICAgRHVtcFJlbmRlclRyZWUgKm1fZHJ0OwogfTsKIAorUVdlYkZyYW1l
ICpXZWJQYWdlOjpjcmVhdGVGcmFtZShRV2ViRnJhbWUgKnBhcmVudEZyYW1lLCBRV2ViRnJhbWVE
YXRhICpmcmFtZURhdGEpCit7CisgICAgaWYgKHBhcmVudEZyYW1lKSB7CisgICAgICAgIFdlYkZy
YW1lICpmID0gbmV3IFdlYkZyYW1lKHBhcmVudEZyYW1lLCBmcmFtZURhdGEpOworICAgICAgICBj
b25uZWN0KGYsIFNJR05BTChjbGVhcmVkKCkpLCBtX2RydCwgU0xPVChpbml0SlNPYmplY3RzKCkp
KTsKKyAgICAgICAgY29ubmVjdChmLCBTSUdOQUwocHJvdmlzaW9uYWxMb2FkKCkpLAorICAgICAg
ICAgICAgICAgIG1fZHJ0LT5sYXlvdXRUZXN0Q29udHJvbGxlcigpLCBTTE9UKHByb3Zpc2lvbmFs
TG9hZCgpKSk7CisgICAgICAgIHJldHVybiBmOworICAgIH0KKyAgICBXZWJGcmFtZSAqZiA9IG5l
dyBXZWJGcmFtZSh0aGlzLCBmcmFtZURhdGEpOworICAgIGNvbm5lY3QoZiwgU0lHTkFMKHRpdGxl
Q2hhbmdlZChjb25zdCBRU3RyaW5nJikpLAorICAgICAgICAgICAgU0lHTkFMKHRpdGxlQ2hhbmdl
ZChjb25zdCBRU3RyaW5nJikpKTsKKyAgICBjb25uZWN0KGYsIFNJR05BTChob3ZlcmluZ092ZXJM
aW5rKGNvbnN0IFFTdHJpbmcmLCBjb25zdCBRU3RyaW5nJikpLAorICAgICAgICAgICAgU0lHTkFM
KGhvdmVyaW5nT3ZlckxpbmsoY29uc3QgUVN0cmluZyYsIGNvbnN0IFFTdHJpbmcmKSkpOworCisg
ICAgY29ubmVjdChmLCBTSUdOQUwoY2xlYXJlZCgpKSwgbV9kcnQsIFNMT1QoaW5pdEpTT2JqZWN0
cygpKSk7CisgICAgY29ubmVjdChmLCBTSUdOQUwocHJvdmlzaW9uYWxMb2FkKCkpLAorICAgICAg
ICAgICAgbV9kcnQtPmxheW91dFRlc3RDb250cm9sbGVyKCksIFNMT1QocHJvdmlzaW9uYWxMb2Fk
KCkpKTsKKyAgICBjb25uZWN0KGYsIFNJR05BTChsb2FkRG9uZShib29sKSksCisgICAgICAgICAg
ICBtX2RydC0+bGF5b3V0VGVzdENvbnRyb2xsZXIoKSwgU0xPVChtYXliZUR1bXAoYm9vbCkpKTsK
KworICAgIHJldHVybiBmOworfQorCiB2b2lkIFdlYlBhZ2U6OmphdmFTY3JpcHRBbGVydChRV2Vi
RnJhbWUgKmZyYW1lLCBjb25zdCBRU3RyaW5nJiBtZXNzYWdlKQogewogICAgIGZwcmludGYoc3Rk
b3V0LCAiQUxFUlQ6ICVzXG4iLCBtZXNzYWdlLnRvVXRmOCgpLmNvbnN0RGF0YSgpKTsKQEAgLTcw
LDI5ICsxMDgsMjQgQEAgdm9pZCBXZWJQYWdlOjpqYXZhU2NyaXB0Q29uc29sZU1lc3NhZ2UoY29u
c3QgUVN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgaW50IGxpbmUKIAogRHVtcFJlbmRlclRyZWU6
OkR1bXBSZW5kZXJUcmVlKCkKICAgICA6IG1fc3RkaW4oMCkKLSAgICAsIG1fbm90aWZpZXIoKQot
ICAgICwgbV9sb2FkaW5nKGZhbHNlKQorICAgICwgbV9ub3RpZmllcigwKQogewotICAgIHBhZ2Ug
PSBuZXcgV2ViUGFnZSgwKTsKLSAgICBwYWdlLT5yZXNpemUobWF4Vmlld1dpZHRoLCBtYXhWaWV3
SGVpZ2h0KTsKLSAgICBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOwotICAgIGZyYW1lLT5zZXRI
b3Jpem9udGFsU2Nyb2xsQmFyUG9saWN5KFF0OjpTY3JvbGxCYXJBbHdheXNPZmYpOwotICAgIGZy
YW1lLT5zZXRWZXJ0aWNhbFNjcm9sbEJhclBvbGljeShRdDo6U2Nyb2xsQmFyQWx3YXlzT2ZmKTsK
LQogICAgIG1fY29udHJvbGxlciA9IG5ldyBMYXlvdXRUZXN0Q29udHJvbGxlcigpOwotICAgIFFP
YmplY3Q6OmNvbm5lY3QobV9jb250cm9sbGVyLCBTSUdOQUwoZG9uZSgpKSwgdGhpcywgU0xPVChk
dW1wKCkpLCBRdDo6UXVldWVkQ29ubmVjdGlvbik7Ci0gICAgUU9iamVjdDo6Y29ubmVjdCh0aGlz
LCBTSUdOQUwocXVpdCgpKSwgcUFwcCwgU0xPVChxdWl0KCkpLCBRdDo6UXVldWVkQ29ubmVjdGlv
bik7Ci0gICAgUU9iamVjdDo6Y29ubmVjdChmcmFtZSwgU0lHTkFMKGNsZWFyZWQoKSksIHRoaXMs
IFNMT1QoaW5pdEpTT2JqZWN0cygpKSk7Ci0gICAgUU9iamVjdDo6Y29ubmVjdChmcmFtZSwgU0lH
TkFMKGxvYWREb25lKGJvb2wpKSwgdGhpcywgU0xPVChtYXliZUR1bXAoYm9vbCkpKTsKKyAgICBj
b25uZWN0KG1fY29udHJvbGxlciwgU0lHTkFMKGRvbmUoKSksIHRoaXMsIFNMT1QoZHVtcCgpKSwg
UXQ6OlF1ZXVlZENvbm5lY3Rpb24pOwogCi0gICAgbV9ldmVudFNlbmRlciA9IG5ldyBFdmVudFNl
bmRlcihwYWdlKTsKLSAgICAKLS8vICAgICBwYWdlLT5yZXNpemUoODAwLCA4MDApOworICAgIG1f
cGFnZSA9IG5ldyBXZWJQYWdlKDAsIHRoaXMpOworICAgIG1fcGFnZS0+cmVzaXplKG1heFZpZXdX
aWR0aCwgbWF4Vmlld0hlaWdodCk7CisgICAgbV9wYWdlLT5tYWluRnJhbWUoKS0+c2V0SG9yaXpv
bnRhbFNjcm9sbEJhclBvbGljeShRdDo6U2Nyb2xsQmFyQWx3YXlzT2ZmKTsKKyAgICBtX3BhZ2Ut
Pm1haW5GcmFtZSgpLT5zZXRWZXJ0aWNhbFNjcm9sbEJhclBvbGljeShRdDo6U2Nyb2xsQmFyQWx3
YXlzT2ZmKTsKKworICAgIG1fZXZlbnRTZW5kZXIgPSBuZXcgRXZlbnRTZW5kZXIobV9wYWdlKTsK
KworICAgIFFPYmplY3Q6OmNvbm5lY3QodGhpcywgU0lHTkFMKHF1aXQoKSksIHFBcHAsIFNMT1Qo
cXVpdCgpKSwgUXQ6OlF1ZXVlZENvbm5lY3Rpb24pOwogfQogCiBEdW1wUmVuZGVyVHJlZTo6fkR1
bXBSZW5kZXJUcmVlKCkKIHsKLSAgICBkZWxldGUgcGFnZTsKKyAgICBkZWxldGUgbV9wYWdlOwog
CiAgICAgZGVsZXRlIG1fc3RkaW47CiAgICAgZGVsZXRlIG1fbm90aWZpZXI7CkBAIC0xMDQsNyAr
MTM3LDcgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6b3BlbigpCiAgICAgICAgIG1fc3RkaW4gPSBu
ZXcgUUZpbGU7CiAgICAgICAgIG1fc3RkaW4tPm9wZW4oc3RkaW4sIFFGaWxlOjpSZWFkT25seSk7
CiAgICAgfQotICAgIAorCiAgICAgaWYgKCFtX25vdGlmaWVyKSB7CiAgICAgICAgIG1fbm90aWZp
ZXIgPSBuZXcgUVNvY2tldE5vdGlmaWVyKFNURElOX0ZJTEVOTywgUVNvY2tldE5vdGlmaWVyOjpS
ZWFkKTsKICAgICAgICAgY29ubmVjdChtX25vdGlmaWVyLCBTSUdOQUwoYWN0aXZhdGVkKGludCkp
LCB0aGlzLCBTTE9UKHJlYWRTdGRpbihpbnQpKSk7CkBAIC0xMTQsMTQgKzE0NywxMSBAQCB2b2lk
IER1bXBSZW5kZXJUcmVlOjpvcGVuKCkKIHZvaWQgRHVtcFJlbmRlclRyZWU6Om9wZW4oY29uc3Qg
UVVybCYgdXJsKQogewogICAgIHJlc2V0SlNPYmplY3RzKCk7Ci0gICAgcGFnZS0+b3Blbih1cmwp
OworICAgIG1fcGFnZS0+b3Blbih1cmwpOwogfQogCiB2b2lkIER1bXBSZW5kZXJUcmVlOjpyZWFk
U3RkaW4oaW50IC8qIHNvY2tldCAqLykKIHsKLSAgICBpZiAobV9sb2FkaW5nKQotICAgICAgICBm
cHJpbnRmKHN0ZGVyciwgIj09PT09PT09PT09PT09PT09PT09PT09PT09PSBzdGlsbCBsb2FkaW5n
XG4iKTsKLSAgICAKICAgICAvLyBSZWFkIGluY29taW5nIGRhdGEgZnJvbSBzdGRpbi4uLgogICAg
IFFCeXRlQXJyYXkgbGluZSA9IG1fc3RkaW4tPnJlYWRMaW5lKCk7CiAgICAgaWYgKGxpbmUuZW5k
c1dpdGgoJ1xuJykpCkBAIC0xMzAsNiArMTYwLDcgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6cmVh
ZFN0ZGluKGludCAvKiBzb2NrZXQgKi8pCiAgICAgaWYgKGxpbmUuaXNFbXB0eSgpKQogICAgICAg
ICBxdWl0KCk7CiAgICAgb3BlbihRVXJsKFFTdHJpbmcobGluZSkpKTsKKyAgICBmZmx1c2goc3Rk
b3V0KTsKIH0KIAogdm9pZCBEdW1wUmVuZGVyVHJlZTo6cmVzZXRKU09iamVjdHMoKQpAQCAtMTM5
LDE5ICsxNzAsMjMgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6cmVzZXRKU09iamVjdHMoKQogCiB2
b2lkIER1bXBSZW5kZXJUcmVlOjppbml0SlNPYmplY3RzKCkKIHsKLSAgICBmcmFtZS0+YWRkVG9K
U1dpbmRvd09iamVjdCgibGF5b3V0VGVzdENvbnRyb2xsZXIiLCBtX2NvbnRyb2xsZXIpOyAgICAK
LSAgICBmcmFtZS0+YWRkVG9KU1dpbmRvd09iamVjdCgiZXZlbnRTZW5kZXIiLCBtX2V2ZW50U2Vu
ZGVyKTsgICAgCisgICAgUVdlYkZyYW1lICpmcmFtZSA9IHFvYmplY3RfY2FzdDxRV2ViRnJhbWUq
PihzZW5kZXIoKSk7CisgICAgUV9BU1NFUlQoZnJhbWUpOworICAgIGZyYW1lLT5hZGRUb0pTV2lu
ZG93T2JqZWN0KCJsYXlvdXRUZXN0Q29udHJvbGxlciIsIG1fY29udHJvbGxlcik7CisgICAgZnJh
bWUtPmFkZFRvSlNXaW5kb3dPYmplY3QoImV2ZW50U2VuZGVyIiwgbV9ldmVudFNlbmRlcik7CiB9
CiAKIHZvaWQgRHVtcFJlbmRlclRyZWU6OmR1bXAoKQogeworICAgIFFXZWJGcmFtZSAqZnJhbWUg
PSBtX3BhZ2UtPm1haW5GcmFtZSgpOworCiAgICAgLy9mcHJpbnRmKHN0ZGVyciwgIiAgICBEdW1w
aW5nXG4iKTsKICAgICBpZiAoIW1fbm90aWZpZXIpIHsKICAgICAgICAgLy8gRHVtcCBtYXJrdXAg
aW4gc2luZ2xlIGZpbGUgbW9kZS4uLgogICAgICAgICBRU3RyaW5nIG1hcmt1cCA9IGZyYW1lLT5t
YXJrdXAoKTsKICAgICAgICAgZnByaW50ZihzdGRvdXQsICJTb3VyY2U6XG5cbiVzXG4iLCBtYXJr
dXAudG9VdGY4KCkuY29uc3REYXRhKCkpOwogICAgIH0KLSAgICAKKwogICAgIC8vIER1bXAgcmVu
ZGVyIHRleHQuLi4KICAgICBRU3RyaW5nIHJlbmRlckR1bXA7CiAgICAgaWYgKG1fY29udHJvbGxl
ci0+c2hvdWxkRHVtcEFzVGV4dCgpKSB7CkBAIC0xNjEsMjUgKzE5NiwyMCBAQCB2b2lkIER1bXBS
ZW5kZXJUcmVlOjpkdW1wKCkKICAgICAgICAgcmVuZGVyRHVtcCA9IGZyYW1lLT5yZW5kZXJUcmVl
RHVtcCgpOwogICAgIH0KICAgICBpZiAocmVuZGVyRHVtcC5pc0VtcHR5KCkpIHsKLSAgICAgICAg
cHJpbnRmKCJFUlJPUjogbmlsIHJlc3VsdCBmcm9tICVzIiwgbV9jb250cm9sbGVyLT5zaG91bGRE
dW1wQXNUZXh0KCkgPyAiW2RvY3VtZW50RWxlbWVudCBpbm5lclRleHRdIiA6ICJbZnJhbWUgcmVu
ZGVyVHJlZUFzRXh0ZXJuYWxSZXByZXNlbnRhdGlvbl1cbiNFT0ZcbiIpOworICAgICAgICBwcmlu
dGYoIkVSUk9SOiBuaWwgcmVzdWx0IGZyb20gJXMiLCBtX2NvbnRyb2xsZXItPnNob3VsZER1bXBB
c1RleHQoKSA/ICJbZG9jdW1lbnRFbGVtZW50IGlubmVyVGV4dF0iIDogIltmcmFtZSByZW5kZXJU
cmVlQXNFeHRlcm5hbFJlcHJlc2VudGF0aW9uXSIpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGZw
cmludGYoc3Rkb3V0LCAiJXMjRU9GXG4iLCByZW5kZXJEdW1wLnRvVXRmOCgpLmNvbnN0RGF0YSgp
KTsKKyAgICAgICAgZnByaW50ZihzdGRvdXQsICIlcyIsIHJlbmRlckR1bXAudG9VdGY4KCkuY29u
c3REYXRhKCkpOwogICAgIH0KKworICAgIGZwcmludGYoc3Rkb3V0LCAiI0VPRlxuIik7CisKICAg
ICBmZmx1c2goc3Rkb3V0KTsKIAotICAgIG1fbG9hZGluZyA9IGZhbHNlOwotICAgIAogICAgIGlm
ICghbV9ub3RpZmllcikgewogICAgICAgICAvLyBFeGl0IG5vdyBpbiBzaW5nbGUgZmlsZSBtb2Rl
Li4uCiAgICAgICAgIHF1aXQoKTsKICAgICB9CiB9Ci0gICAgCi12b2lkIER1bXBSZW5kZXJUcmVl
OjptYXliZUR1bXAoYm9vbCBvaykKLXsKLSAgICBpZiAoIW9rIHx8ICFtX2NvbnRyb2xsZXItPnNo
b3VsZFdhaXRVbnRpbERvbmUoKSkgCi0gICAgICAgIGR1bXAoKTsKLX0KIAogfQogCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ovRHVt
cFJlbmRlclRyZWUuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVl
LnF0cHJvai9EdW1wUmVuZGVyVHJlZS5oCmluZGV4IDdkMDJiZDIuLjE5YjQ2NDYgMTAwNjQ0Ci0t
LSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9EdW1w
UmVuZGVyVHJlZS5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJU
cmVlLnF0cHJvai9EdW1wUmVuZGVyVHJlZS5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSA8
UU9iamVjdD4KICNpbmNsdWRlIDxRVGV4dFN0cmVhbT4KICNpbmNsdWRlIDxRU29ja2V0Tm90aWZp
ZXI+CisKIGNsYXNzIFFVcmw7CiBjbGFzcyBRRmlsZTsKIGNsYXNzIFFXZWJQYWdlOwpAQCAtNDgs
NyArNDksNyBAQCBRX09CSkVDVAogCiBwdWJsaWM6CiAgICAgRHVtcFJlbmRlclRyZWUoKTsKLSAg
ICB+RHVtcFJlbmRlclRyZWUoKTsKKyAgICB2aXJ0dWFsIH5EdW1wUmVuZGVyVHJlZSgpOwogCiAg
ICAgLy8gSW5pdGlhbGl6ZSBpbiBtdWx0aS1maWxlIG1vZGUsIHVzZWQgYnkgcnVuLXdlYmtpdC10
ZXN0cy4KICAgICB2b2lkIG9wZW4oKTsKQEAgLTU3LDI3ICs1OCwyNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBvcGVuKGNvbnN0IFFVcmwmIHVybCk7CiAKICAgICB2b2lkIHJlc2V0SlNPYmplY3RzKCk7
Ci0gICAKKworICAgIExheW91dFRlc3RDb250cm9sbGVyICpsYXlvdXRUZXN0Q29udHJvbGxlcigp
IGNvbnN0IHsgcmV0dXJuIG1fY29udHJvbGxlcjsgfQorICAgIEV2ZW50U2VuZGVyICpldmVudFNl
bmRlcigpIGNvbnN0IHsgcmV0dXJuIG1fZXZlbnRTZW5kZXI7IH0KKwogcHVibGljIFFfU0xPVFM6
CiAgICAgdm9pZCBpbml0SlNPYmplY3RzKCk7CiAgICAgdm9pZCByZWFkU3RkaW4oaW50KTsKLSAg
ICB2b2lkIG1heWJlRHVtcChib29sKTsKICAgICB2b2lkIGR1bXAoKTsKIAogUV9TSUdOQUxTOgog
ICAgIHZvaWQgcXVpdCgpOwogCiBwcml2YXRlOgotICAgIFFXZWJQYWdlICpwYWdlOwotICAgIFFX
ZWJGcmFtZSAqZnJhbWU7Ci0gICAgCiAgICAgTGF5b3V0VGVzdENvbnRyb2xsZXIgKm1fY29udHJv
bGxlcjsKKworICAgIFFXZWJQYWdlICptX3BhZ2U7CisKICAgICBFdmVudFNlbmRlciAqbV9ldmVu
dFNlbmRlcjsKIAogICAgIFFGaWxlICptX3N0ZGluOwogICAgIFFTb2NrZXROb3RpZmllciogbV9u
b3RpZmllcjsKLQotICAgIGJvb2wgbV9sb2FkaW5nOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUucXRwcm9qL2pzb2JqZWN0cy5j
cHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ovanNv
YmplY3RzLmNwcAppbmRleCBiMDE3NjNlLi4wZDUyYWE0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ovanNvYmplY3RzLmNwcAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ovanNvYmpl
Y3RzLmNwcApAQCAtNDksMzQgKzQ5LDU1IEBAIHByb3RlY3RlZDoKIAogTGF5b3V0VGVzdENvbnRy
b2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKCkgOiBRT2JqZWN0KCkKIHsKLSAgICB0ZXh0RHVt
cCA9IGZhbHNlOwotICAgIHdhaXRGb3JEb25lID0gZmFsc2U7Ci0gICAgdGltZW91dFRpbWVyID0g
MDsKKyAgICBtX2lzTG9hZGluZyA9IHRydWU7CisgICAgbV90ZXh0RHVtcCA9IGZhbHNlOworICAg
IG1fd2FpdEZvckRvbmUgPSBmYWxzZTsKKyAgICBtX3RpbWVvdXRUaW1lciA9IDA7CisgICAgbV90
b3BMb2FkaW5nRnJhbWUgPSAwOwogfQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpyZXNl
dCgpCiB7Ci0gICAgdGV4dER1bXAgPSBmYWxzZTsKLSAgICB3YWl0Rm9yRG9uZSA9IGZhbHNlOwot
ICAgIGlmICh0aW1lb3V0VGltZXIpCi0gICAgICAgIGtpbGxUaW1lcih0aW1lb3V0VGltZXIpOwor
ICAgIG1faXNMb2FkaW5nID0gdHJ1ZTsKKyAgICBtX3RleHREdW1wID0gZmFsc2U7CisgICAgbV93
YWl0Rm9yRG9uZSA9IGZhbHNlOworICAgIGlmIChtX3RpbWVvdXRUaW1lcikgeworICAgICAgICBr
aWxsVGltZXIobV90aW1lb3V0VGltZXIpOworICAgICAgICBtX3RpbWVvdXRUaW1lciA9IDA7Cisg
ICAgfQorICAgIG1fdG9wTG9hZGluZ0ZyYW1lID0gMDsKK30KKwordm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6bWF5YmVEdW1wKGJvb2wgb2spCit7CisgICAgUVdlYkZyYW1lICpmcmFtZSA9IHFv
YmplY3RfY2FzdDxRV2ViRnJhbWUqPihzZW5kZXIoKSk7CisgICAgaWYgKGZyYW1lICE9IG1fdG9w
TG9hZGluZ0ZyYW1lKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3RvcExvYWRpbmdGcmFtZSA9
IDA7CisKKyAgICBpZiAoIW9rIHx8ICFzaG91bGRXYWl0VW50aWxEb25lKCkpIHsKKyAgICAgICAg
ZW1pdCBkb25lKCk7CisgICAgICAgIG1faXNMb2FkaW5nID0gZmFsc2U7CisgICAgfQogfQogCiB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjp3YWl0VW50aWxEb25lKCkKIHsKICAgICAvL3FEZWJ1
ZygpIDw8ICI+Pj4+d2FpdEZvckRvbmUiOwotICAgIHdhaXRGb3JEb25lID0gdHJ1ZTsKLSAgICB0
aW1lb3V0VGltZXIgPSBzdGFydFRpbWVyKDUwMDApOworICAgIG1fd2FpdEZvckRvbmUgPSB0cnVl
OworICAgIG1fdGltZW91dFRpbWVyID0gc3RhcnRUaW1lcig1MDAwKTsKIH0KIAogdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6bm90aWZ5RG9uZSgpCiB7CiAgICAgLy9xRGVidWcoKSA8PCAiPj4+
Pm5vdGlmeURvbmUiOwotICAgIGlmICghdGltZW91dFRpbWVyKQorICAgIGlmICghbV90aW1lb3V0
VGltZXIpCiAgICAgICAgIHJldHVybjsKLSAgICBraWxsVGltZXIodGltZW91dFRpbWVyKTsKLSAg
ICB0aW1lb3V0VGltZXIgPSAwOworICAgIGtpbGxUaW1lcihtX3RpbWVvdXRUaW1lcik7CisgICAg
bV90aW1lb3V0VGltZXIgPSAwOwogICAgIGVtaXQgZG9uZSgpOworICAgIG1faXNMb2FkaW5nID0g
ZmFsc2U7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBFZGl0aW5nQ2FsbGJh
Y2tzKCkKQEAgLTg0LDYgKzEwNSwxOCBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpkdW1w
RWRpdGluZ0NhbGxiYWNrcygpCiAgICAgLy9xRGVidWcoKSA8PCAiPj4+ZHVtcEVkaXRpbmdDYWxs
YmFja3MiOwogfQogCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpxdWV1ZVJlbG9hZCgpCit7
CisgICAgLy9xRGVidWcoKSA8PCAiPj4+cXVldWVSZWxvYWQiOworfQorCit2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpwcm92aXNpb25hbExvYWQoKQoreworICAgIFFXZWJGcmFtZSAqZnJhbWUg
PSBxb2JqZWN0X2Nhc3Q8UVdlYkZyYW1lKj4oc2VuZGVyKCkpOworICAgIGlmICghbV90b3BMb2Fk
aW5nRnJhbWUgJiYgbV9pc0xvYWRpbmcpCisgICAgICAgIG1fdG9wTG9hZGluZ0ZyYW1lID0gZnJh
bWU7Cit9CisKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnRpbWVyRXZlbnQoUVRpbWVyRXZl
bnQgKikKIHsKICAgICBxRGVidWcoKSA8PCAiPj4+Pj4+Pj4+Pj4+PiB0aW1lb3V0IjsKQEAgLTk0
LDcgKzEyNyw3IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnRpbWVyRXZlbnQoUVRpbWVy
RXZlbnQgKikKIEV2ZW50U2VuZGVyOjpFdmVudFNlbmRlcihRV2ViUGFnZSAqcGFyZW50KQogICAg
IDogUU9iamVjdChwYXJlbnQpCiB7Ci0gICAgcGFnZSA9IHBhcmVudDsKKyAgICBtX3BhZ2UgPSBw
YXJlbnQ7CiB9CiAKIHZvaWQgRXZlbnRTZW5kZXI6Om1vdXNlRG93bigpCkBAIC0xMDMsNyArMTM2
LDcgQEAgdm9pZCBFdmVudFNlbmRlcjo6bW91c2VEb3duKCkKIC8vICAgICBxRGVidWcoKSA8PCAi
RXZlbnRTZW5kZXI6Om1vdXNlRG93biIgPDwgZnJhbWU7CiAgICAgaWYgKCFmcmFtZSkKICAgICAg
ICAgcmV0dXJuOwotICAgIFFNb3VzZUV2ZW50IGV2ZW50KFFFdmVudDo6TW91c2VCdXR0b25QcmVz
cywgbW91c2VQb3MgLSBmcmFtZS0+cG9zKCksIFF0OjpMZWZ0QnV0dG9uLCBRdDo6TGVmdEJ1dHRv
biwgUXQ6Ok5vTW9kaWZpZXIpOworICAgIFFNb3VzZUV2ZW50IGV2ZW50KFFFdmVudDo6TW91c2VC
dXR0b25QcmVzcywgbV9tb3VzZVBvcyAtIGZyYW1lLT5wb3MoKSwgUXQ6OkxlZnRCdXR0b24sIFF0
OjpMZWZ0QnV0dG9uLCBRdDo6Tm9Nb2RpZmllcik7CiAgICAgc3RhdGljX2Nhc3Q8SGFja1dlYkZy
YW1lICo+KGZyYW1lKS0+bW91c2VQcmVzc0V2ZW50KCZldmVudCk7CiB9CiAKQEAgLTExMywxOSAr
MTQ2LDE5IEBAIHZvaWQgRXZlbnRTZW5kZXI6Om1vdXNlVXAoKQogLy8gICAgIHFEZWJ1ZygpIDw8
ICJFdmVudFNlbmRlcjo6bW91c2VVcCIgPDwgZnJhbWU7CiAgICAgaWYgKCFmcmFtZSkKICAgICAg
ICAgcmV0dXJuOwotICAgIFFNb3VzZUV2ZW50IGV2ZW50KFFFdmVudDo6TW91c2VCdXR0b25SZWxl
YXNlLCBtb3VzZVBvcyAtIGZyYW1lLT5wb3MoKSwgUXQ6OkxlZnRCdXR0b24sIFF0OjpMZWZ0QnV0
dG9uLCBRdDo6Tm9Nb2RpZmllcik7CisgICAgUU1vdXNlRXZlbnQgZXZlbnQoUUV2ZW50OjpNb3Vz
ZUJ1dHRvblJlbGVhc2UsIG1fbW91c2VQb3MgLSBmcmFtZS0+cG9zKCksIFF0OjpMZWZ0QnV0dG9u
LCBRdDo6TGVmdEJ1dHRvbiwgUXQ6Ok5vTW9kaWZpZXIpOwogICAgIHN0YXRpY19jYXN0PEhhY2tX
ZWJGcmFtZSAqPihmcmFtZSktPm1vdXNlUmVsZWFzZUV2ZW50KCZldmVudCk7CiB9CiAKIHZvaWQg
RXZlbnRTZW5kZXI6Om1vdXNlTW92ZVRvKGludCB4LCBpbnQgeSkKIHsKIC8vICAgICBxRGVidWco
KSA8PCAiRXZlbnRTZW5kZXI6Om1vdXNlTW92ZVRvIiA8PCB4IDw8IHk7Ci0gICAgbW91c2VQb3Mg
PSBRUG9pbnQoeCwgeSk7CisgICAgbV9tb3VzZVBvcyA9IFFQb2ludCh4LCB5KTsKIH0KIAogdm9p
ZCBFdmVudFNlbmRlcjo6bGVhcEZvcndhcmQoaW50IG1zKQogewotICAgIHRpbWVMZWFwICs9IG1z
OworICAgIG1fdGltZUxlYXAgKz0gbXM7CiAgICAgcURlYnVnKCkgPDwgIkV2ZW50U2VuZGVyOjps
ZWFwRm9yd2FyZCIgPDwgbXM7CiB9CiAKQEAgLTEzNiwxNyArMTY5LDE3IEBAIHZvaWQgRXZlbnRT
ZW5kZXI6OmtleURvd24oY29uc3QgUVN0cmluZyAmc3RyaW5nLCBjb25zdCBRU3RyaW5nTGlzdCAm
bW9kaWZpZXJzKQogCiBRV2ViRnJhbWUgKkV2ZW50U2VuZGVyOjpmcmFtZVVuZGVyTW91c2UoKSBj
b25zdAogewotICAgIFFXZWJGcmFtZSAqZnJhbWUgPSBwYWdlLT5tYWluRnJhbWUoKTsKKyAgICBR
V2ViRnJhbWUgKmZyYW1lID0gbV9wYWdlLT5tYWluRnJhbWUoKTsKIAogcmVkbzoKICAgICBRTGlz
dDxRV2ViRnJhbWUqPiBjaGlsZHJlbiA9IGZyYW1lLT5jaGlsZEZyYW1lcygpOwogICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgY2hpbGRyZW4uc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKGNoaWxk
cmVuLmF0KGkpLT5nZW9tZXRyeSgpLmNvbnRhaW5zKG1vdXNlUG9zKSkgeworICAgICAgICBpZiAo
Y2hpbGRyZW4uYXQoaSktPmdlb21ldHJ5KCkuY29udGFpbnMobV9tb3VzZVBvcykpIHsKICAgICAg
ICAgICAgIGZyYW1lID0gY2hpbGRyZW4uYXQoaSk7CiAgICAgICAgICAgICBnb3RvIHJlZG87CiAg
ICAgICAgIH0KICAgICB9Ci0gICAgaWYgKGZyYW1lLT5nZW9tZXRyeSgpLmNvbnRhaW5zKG1vdXNl
UG9zKSkKKyAgICBpZiAoZnJhbWUtPmdlb21ldHJ5KCkuY29udGFpbnMobV9tb3VzZVBvcykpCiAg
ICAgICAgIHJldHVybiBmcmFtZTsKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9qc29iamVjdHMuaCBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0cHJvai9qc29iamVj
dHMuaAppbmRleCA4YjBiZWM0Li4yYzljYzg0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ovanNvYmplY3RzLmgKKysrIGIvV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUucXRwcm9qL2pzb2JqZWN0cy5oCkBA
IC0zMiwxNCArMzIsMTkgQEAKICNpbmNsdWRlIDxxZGVidWcuaD4KICNpbmNsdWRlIDxxcG9pbnQu
aD4KIAorY2xhc3MgUVdlYkZyYW1lOworCiBjbGFzcyBMYXlvdXRUZXN0Q29udHJvbGxlciA6IHB1
YmxpYyBRT2JqZWN0CiB7CiAgICAgUV9PQkpFQ1QKIHB1YmxpYzoKICAgICBMYXlvdXRUZXN0Q29u
dHJvbGxlcigpOwogCi0gICAgYm9vbCBzaG91bGREdW1wQXNUZXh0KCkgY29uc3QgeyByZXR1cm4g
dGV4dER1bXA7IH0KLSAgICBib29sIHNob3VsZFdhaXRVbnRpbERvbmUoKSBjb25zdCB7IHJldHVy
biB3YWl0Rm9yRG9uZTsgfQorICAgIGJvb2wgaXNMb2FkaW5nKCkgY29uc3QgeyByZXR1cm4gbV9p
c0xvYWRpbmc7IH0KKyAgICB2b2lkIHNldExvYWRpbmcoYm9vbCBsb2FkaW5nKSB7IG1faXNMb2Fk
aW5nID0gbG9hZGluZzsgfQorCisgICAgYm9vbCBzaG91bGREdW1wQXNUZXh0KCkgY29uc3QgeyBy
ZXR1cm4gbV90ZXh0RHVtcDsgfQorICAgIGJvb2wgc2hvdWxkV2FpdFVudGlsRG9uZSgpIGNvbnN0
IHsgcmV0dXJuIG1fd2FpdEZvckRvbmU7IH0KIAogICAgIHZvaWQgcmVzZXQoKTsKIApAQCAtNDgs
MTcgKzUzLDIyIEBAIHByb3RlY3RlZDoKIAogc2lnbmFsczoKICAgICB2b2lkIGRvbmUoKTsKLSAg
ICAKKwogcHVibGljIHNsb3RzOgotICAgIHZvaWQgZHVtcEFzVGV4dCgpIHsgdGV4dER1bXAgPSB0
cnVlOyB9CisgICAgdm9pZCBtYXliZUR1bXAoYm9vbCBvayk7CisgICAgdm9pZCBkdW1wQXNUZXh0
KCkgeyBtX3RleHREdW1wID0gdHJ1ZTsgfQogICAgIHZvaWQgd2FpdFVudGlsRG9uZSgpOwogICAg
IHZvaWQgbm90aWZ5RG9uZSgpOwogICAgIHZvaWQgZHVtcEVkaXRpbmdDYWxsYmFja3MoKTsKKyAg
ICB2b2lkIHF1ZXVlUmVsb2FkKCk7CisgICAgdm9pZCBwcm92aXNpb25hbExvYWQoKTsKIAogcHJp
dmF0ZToKLSAgICBib29sIHRleHREdW1wOwotICAgIGJvb2wgd2FpdEZvckRvbmU7Ci0gICAgaW50
IHRpbWVvdXRUaW1lcjsKKyAgICBib29sIG1faXNMb2FkaW5nOworICAgIGJvb2wgbV90ZXh0RHVt
cDsKKyAgICBib29sIG1fd2FpdEZvckRvbmU7CisgICAgaW50IG1fdGltZW91dFRpbWVyOworICAg
IFFXZWJGcmFtZSAqbV90b3BMb2FkaW5nRnJhbWU7CiB9OwogCiBjbGFzcyBRV2ViUGFnZTsKQEAg
LTcxLDcgKzgxLDYgQEAgcHVibGljOgogICAgIEV2ZW50U2VuZGVyKFFXZWJQYWdlICpwYXJlbnQp
OwogCiBwdWJsaWMgc2xvdHM6Ci0gICAgCiAgICAgdm9pZCBtb3VzZURvd24oKTsKICAgICB2b2lk
IG1vdXNlVXAoKTsKICAgICB2b2lkIG1vdXNlTW92ZVRvKGludCB4LCBpbnQgeSk7CkBAIC03OSw5
ICs4OCw5IEBAIHB1YmxpYyBzbG90czoKICAgICB2b2lkIGtleURvd24oY29uc3QgUVN0cmluZyAm
c3RyaW5nLCBjb25zdCBRU3RyaW5nTGlzdCAmbW9kaWZpZXJzKTsKIAogcHJpdmF0ZToKLSAgICBR
UG9pbnQgbW91c2VQb3M7Ci0gICAgUVdlYlBhZ2UgKnBhZ2U7Ci0gICAgaW50IHRpbWVMZWFwOwor
ICAgIFFQb2ludCBtX21vdXNlUG9zOworICAgIFFXZWJQYWdlICptX3BhZ2U7CisgICAgaW50IG1f
dGltZUxlYXA7CiAgICAgUVdlYkZyYW1lICpmcmFtZVVuZGVyTW91c2UoKSBjb25zdDsKIH07CiAK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnF0
cHJvai9tYWluLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVl
LnF0cHJvai9tYWluLmNwcAppbmRleCA1ODdjNmRkLi5kNjlhYTdhIDEwMDY0NAotLS0gYS9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS5xdHByb2ovbWFpbi5jcHAKKysr
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUucXRwcm9qL21haW4u
Y3BwCkBAIC0xMjAsOSArMTIwLDkgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkK
IAogICAgIFdlYkNvcmU6OkR1bXBSZW5kZXJUcmVlIGR1bXBlcjsKICAgICAKLSAgICBpZiAoYXJn
cy5sYXN0KCkgPT0gUUxhdGluMVN0cmluZygiLSIpKQorICAgIGlmIChhcmdzLmxhc3QoKSA9PSBR
TGF0aW4xU3RyaW5nKCItIikpIHsKICAgICAgICAgZHVtcGVyLm9wZW4oKTsKLSAgICBlbHNlIHsK
KyAgICB9IGVsc2UgewogICAgICAgICBpZiAoIWFyZ3MubGFzdCgpLnN0YXJ0c1dpdGgoIi8iKQog
ICAgICAgICAgICAgJiYgIWFyZ3MubGFzdCgpLnN0YXJ0c1dpdGgoImZpbGU6IikpIHsKICAgICAg
ICAgICAgIFFTdHJpbmcgcGF0aCA9IFFEaXI6OmN1cnJlbnRQYXRoKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>