<?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>51602</bug_id>
          
          <creation_ts>2010-12-24 14:23:27 -0800</creation_ts>
          <short_desc>[GStreamer] wrong media duration report in media/controls-after-reload.html</short_desc>
          <delta_ts>2011-02-16 04:09:46 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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>
          
          <blocked>50918</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>326751</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-12-24 14:23:27 -0800</bug_when>
    <thetext>On 32-bits Release a null duration is reported instead of 6 seconds. This affects the rendering of the controls since we now display the media duration there.

Will skip the test for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327221</commentid>
    <comment_count>1</comment_count>
      <attachid>77552</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-12-28 06:49:05 -0800</bug_when>
    <thetext>Created attachment 77552
subparse: WebVTT parsing support

WebVTT is a new subtitle format for HTML5 video. In this firtst
version of the parser the cue settings are parsed but only stored in
the internal parser state structure. Later on these settings could be
part of the GstBuffer metadata.

Fixes bug #629764</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327222</commentid>
    <comment_count>2</comment_count>
      <attachid>77552</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-12-28 06:49:41 -0800</bug_when>
    <thetext>Comment on attachment 77552
subparse: WebVTT parsing support

Heh wrong bug tracker :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340818</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-01-27 03:51:28 -0800</bug_when>
    <thetext>media/controls-styling.html and media/video-volume-slider.html are affected by this bug as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340820</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-01-27 03:55:01 -0800</bug_when>
    <thetext>^^ skipped in r76783</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351258</commentid>
    <comment_count>5</comment_count>
      <attachid>82454</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-15 07:52:55 -0800</bug_when>
    <thetext>Created attachment 82454
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351331</commentid>
    <comment_count>6</comment_count>
      <attachid>82454</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-02-15 09:09:28 -0800</bug_when>
    <thetext>Comment on attachment 82454
proposed patch

Great stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351961</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-02-16 03:10:53 -0800</bug_when>
    <thetext>Committed r78689: &lt;http://trac.webkit.org/changeset/78689&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>351982</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-16 04:09:46 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/78689 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>77552</attachid>
            <date>2010-12-28 06:49:05 -0800</date>
            <delta_ts>2010-12-28 06:49:41 -0800</delta_ts>
            <desc>subparse: WebVTT parsing support</desc>
            <filename>subparse-WebVTT-parsing-support.patch</filename>
            <type>text/plain</type>
            <size>27897</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSBkM2U4MzFlZDY1NDdkNzBkNjFlZmViYmE0ODE5MmE4YzMwNWJlZWUyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBUdWUsIDI4IERlYyAyMDEwIDE1OjA0OjUxICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
c3VicGFyc2U6IFdlYlZUVCBwYXJzaW5nIHN1cHBvcnQKCldlYlZUVCBpcyBhIG5ldyBzdWJ0aXRs
ZSBmb3JtYXQgZm9yIEhUTUw1IHZpZGVvLiBJbiB0aGlzIGZpcnRzdAp2ZXJzaW9uIG9mIHRoZSBw
YXJzZXIgdGhlIGN1ZSBzZXR0aW5ncyBhcmUgcGFyc2VkIGJ1dCBvbmx5IHN0b3JlZCBpbgp0aGUg
aW50ZXJuYWwgcGFyc2VyIHN0YXRlIHN0cnVjdHVyZS4gTGF0ZXIgb24gdGhlc2Ugc2V0dGluZ3Mg
Y291bGQgYmUKcGFydCBvZiB0aGUgR3N0QnVmZmVyIG1ldGFkYXRhLgoKRml4ZXMgYnVnICM2Mjk3
NjQKLS0tCiBnc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYyAgICAgIHwgIDM0NCArKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5o
ICAgICAgfCAgIDExICstCiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdWJwYXJzZS5jIHwgIDE2NCAr
KysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDQ2MiBpbnNlcnRpb25zKCspLCA1
NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuYyBi
L2dzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jCmluZGV4IDdiZjBmMmQuLmY4ZmI4YTYgMTAwNjQ0
Ci0tLSBhL2dzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jCisrKyBiL2dzdC9zdWJwYXJzZS9nc3Rz
dWJwYXJzZS5jCkBAIC0zOSw2ICszOSwxMCBAQAogR1NUX0RFQlVHX0NBVEVHT1JZIChzdWJfcGFy
c2VfZGVidWcpOwogCiAjZGVmaW5lIERFRkFVTFRfRU5DT0RJTkcgICBOVUxMCisjZGVmaW5lIEFU
VFJJQlVURV9SRUdFWCAiXFxzP1thLXpBLVowLTlcXC4gXHRcXChcXCldKiIKK3N0YXRpYyBjb25z
dCBnY2hhciAqYWxsb3dlZF9zcnRfdGFnc1tdID0geyAiaSIsICJiIiwgInUiLCBOVUxMIH07Citz
dGF0aWMgY29uc3QgZ2NoYXIgKmFsbG93ZWRfdnR0X3RhZ3NbXSA9CisgICAgeyAiaSIsICJiIiwg
ImMiLCAidSIsICJ2IiwgInJ1YnkiLCAicnQiLCBOVUxMIH07CiAKIGVudW0KIHsKQEAgLTQzMSw2
ICs0MzUsOCBAQCBnc3Rfc3ViX3BhcnNlX2dldF9mb3JtYXRfZGVzY3JpcHRpb24gKEdzdFN1YlBh
cnNlRm9ybWF0IGZvcm1hdCkKICAgICAgIHJldHVybiAiU3ViVmlld2VyIjsKICAgICBjYXNlIEdT
VF9TVUJfUEFSU0VfRk9STUFUX0RLUzoKICAgICAgIHJldHVybiAiREtTIjsKKyAgICBjYXNlIEdT
VF9TVUJfUEFSU0VfRk9STUFUX1ZUVDoKKyAgICAgIHJldHVybiAiV2ViVlRUIjsKICAgICBjYXNl
IEdTVF9TVUJfUEFSU0VfRk9STUFUX1FUVEVYVDoKICAgICAgIHJldHVybiAiUVR0ZXh0IjsKICAg
ICBkZWZhdWx0OgpAQCAtNzIyLDM0ICs3MjgsODcgQEAgc3RyaXBfdHJhaWxpbmdfbmV3bGluZXMg
KGdjaGFyICogdHh0KQogICogZXNjYXBpbmcgZXZlcnl0aGluZyAodGhlIHRleHQgYmV0d2VlbiB0
aGVzZSBzaW1wbGUgbWFya2VycyBpc24ndAogICogbmVjZXNzYXJpbHkgZXNjYXBlZCwgc28gaXQg
c2VlbXMgYmVzdCB0byBkbyBpdCBsaWtlIHRoaXMpICovCiBzdGF0aWMgdm9pZAotc3VicmlwX3Vu
ZXNjYXBlX2Zvcm1hdHRpbmcgKGdjaGFyICogdHh0KQorc3VicmlwX3VuZXNjYXBlX2Zvcm1hdHRp
bmcgKGdjaGFyICogdHh0LCBnY29uc3Rwb2ludGVyIGFsbG93ZWRfdGFnc19wdHIsCisgICAgZ2Jv
b2xlYW4gYWxsb3dzX3RhZ19hdHRyaWJ1dGVzKQogewogICBnY2hhciAqcG9zOworICBnY2hhciAq
ZXNjYXBlZF90YWc7CisgIGd1aW50IGluZGV4OworICBHUmVnZXggKnRhZ19yZWdleDsKKyAgR01h
dGNoSW5mbyAqbWF0Y2hfaW5mbzsKKyAgZ2NoYXIgKiphbGxvd2VkX3RhZ3MgPSAoZ2NoYXIgKiop
IGFsbG93ZWRfdGFnc19wdHI7CisKKyAgLyogTm8gcHJvY2Vzc2luZyBuZWVkZWQgaWYgbm8gZXNj
YXBlZCB0YWcgbWFya2VyIGZvdW5kIGluIHRoZSBzdHJpbmcuICovCisgIGlmIChzdHJzdHIgKHR4
dCwgIiZsdDsiKSA9PSBOVUxMKQorICAgIHJldHVybjsKIAogICBmb3IgKHBvcyA9IHR4dDsgcG9z
ICE9IE5VTEwgJiYgKnBvcyAhPSAnXDAnOyArK3BvcykgewotICAgIGlmIChnX2FzY2lpX3N0cm5j
YXNlY21wIChwb3MsICImbHQ7dSZndDsiLCA5KSA9PSAwIHx8Ci0gICAgICAgIGdfYXNjaWlfc3Ry
bmNhc2VjbXAgKHBvcywgIiZsdDtpJmd0OyIsIDkpID09IDAgfHwKLSAgICAgICAgZ19hc2NpaV9z
dHJuY2FzZWNtcCAocG9zLCAiJmx0O2ImZ3Q7IiwgOSkgPT0gMCkgewotICAgICAgcG9zWzBdID0g
JzwnOwotICAgICAgcG9zWzFdID0gZ19hc2NpaV90b2xvd2VyIChwb3NbNF0pOwotICAgICAgcG9z
WzJdID0gJz4nOwotICAgICAgLyogbW92ZSBOVUwgdGVybWluYXRvciBhcyB3ZWxsICovCi0gICAg
ICBnX21lbW1vdmUgKHBvcyArIDMsIHBvcyArIDksIHN0cmxlbiAocG9zICsgOSkgKyAxKTsKLSAg
ICAgIHBvcyArPSAyOwotICAgIH0KLSAgfQorICAgIGdib29sZWFuIHRhZ19mb3VuZCA9IEZBTFNF
OworICAgIGZvciAoaW5kZXggPSAwOyBpbmRleCA8IGdfc3Rydl9sZW5ndGggKGFsbG93ZWRfdGFn
cyk7IGluZGV4KyspIHsKKworICAgICAgLyogTG9vayBmb3Igc3RhcnRpbmcgZXNjYXBlZCB0YWcg
d2l0aCBvcHRpb25hbCBhdHRyaWJ1dGVzLiAqLworICAgICAgZXNjYXBlZF90YWcgPQorICAgICAg
ICAgIGdfc3RyY29uY2F0ICgiJmx0OyIsIGFsbG93ZWRfdGFnc1tpbmRleF0sIEFUVFJJQlVURV9S
RUdFWCwKKyAgICAgICAgICAiJmd0OyIsIE5VTEwpOworICAgICAgdGFnX3JlZ2V4ID0gZ19yZWdl
eF9uZXcgKGVzY2FwZWRfdGFnLCAwLCAwLCBOVUxMKTsKKyAgICAgIGdfcmVnZXhfbWF0Y2ggKHRh
Z19yZWdleCwgcG9zLCAwLCAmbWF0Y2hfaW5mbyk7CisKKyAgICAgIGlmIChnX21hdGNoX2luZm9f
bWF0Y2hlcyAobWF0Y2hfaW5mbykpIHsKKyAgICAgICAgZ2ludCBzdGFydF9wb3MsIGVuZF9wb3M7
CisgICAgICAgIGdjaGFyICp3b3JkID0gZ19tYXRjaF9pbmZvX2ZldGNoIChtYXRjaF9pbmZvLCAw
KTsKKyAgICAgICAgZ19tYXRjaF9pbmZvX2ZldGNoX3BvcyAobWF0Y2hfaW5mbywgMCwgJnN0YXJ0
X3BvcywgJmVuZF9wb3MpOworICAgICAgICAvKiBPbmx5IGRlYWwgd2l0aCB0aGUgZmlyc3QgbWF0
Y2hpbmcgZXNjYXBlZCB0YWcgaWYgZm91bmQgYXQKKyAgICAgICAgICogdGhlIGJlZ2lubmluZyBv
ZiB0aGUgc3RyaW5nLiAqLworICAgICAgICBpZiAoc3RhcnRfcG9zID09IDApIHsKKyAgICAgICAg
ICBwb3Nbc3RhcnRfcG9zXSA9ICc8JzsKKyAgICAgICAgICBnX21lbW1vdmUgKHBvcyArIDEsIHBv
cyArIDQsIHN0cmxlbiAocG9zKSAtIDMpOworICAgICAgICAgIC8qIElmIHRoZSBmb3JtYXQgZG9l
c24ndCBhbGxvdyB0YWcgYXR0cmlidXRlcywgc3RyaXAgdGhlbSBvdXQgKi8KKyAgICAgICAgICBp
ZiAoYWxsb3dzX3RhZ19hdHRyaWJ1dGVzKSB7CisgICAgICAgICAgICBwb3NbZW5kX3BvcyAtIDdd
ID0gJz4nOworICAgICAgICAgICAgZ19tZW1tb3ZlIChwb3MgKyBlbmRfcG9zIC0gNiwgcG9zICsg
ZW5kX3BvcyAtIDMsCisgICAgICAgICAgICAgICAgc3RybGVuIChwb3MgKyBlbmRfcG9zIC0gNikp
OworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBwb3Nbc3RybGVuIChhbGxvd2VkX3Rh
Z3NbaW5kZXhdKSArIDFdID0gJz4nOworICAgICAgICAgICAgZ19tZW1tb3ZlIChwb3MgKyBzdHJs
ZW4gKGFsbG93ZWRfdGFnc1tpbmRleF0pICsgMiwKKyAgICAgICAgICAgICAgICBwb3MgKyBlbmRf
cG9zIC0gMywgc3RybGVuIChwb3MgKyBlbmRfcG9zIC0gNikpOworICAgICAgICAgIH0KKyAgICAg
ICAgICB0YWdfZm91bmQgPSBUUlVFOworICAgICAgICB9CisgICAgICAgIGdfZnJlZSAod29yZCk7
CisgICAgICB9CisgICAgICBnX21hdGNoX2luZm9fZnJlZSAobWF0Y2hfaW5mbyk7CisgICAgICBn
X3JlZ2V4X3VucmVmICh0YWdfcmVnZXgpOworICAgICAgZ19mcmVlIChlc2NhcGVkX3RhZyk7CiAK
LSAgZm9yIChwb3MgPSB0eHQ7IHBvcyAhPSBOVUxMICYmICpwb3MgIT0gJ1wwJzsgKytwb3MpIHsK
LSAgICBpZiAoZ19hc2NpaV9zdHJuY2FzZWNtcCAocG9zLCAiJmx0Oy91Jmd0OyIsIDEwKSA9PSAw
IHx8Ci0gICAgICAgIGdfYXNjaWlfc3RybmNhc2VjbXAgKHBvcywgIiZsdDsvaSZndDsiLCAxMCkg
PT0gMCB8fAotICAgICAgICBnX2FzY2lpX3N0cm5jYXNlY21wIChwb3MsICImbHQ7L2ImZ3Q7Iiwg
MTApID09IDApIHsKLSAgICAgIHBvc1swXSA9ICc8JzsKLSAgICAgIHBvc1sxXSA9ICcvJzsKLSAg
ICAgIHBvc1syXSA9IGdfYXNjaWlfdG9sb3dlciAocG9zWzVdKTsKLSAgICAgIHBvc1szXSA9ICc+
JzsKLSAgICAgIC8qIG1vdmUgTlVMIHRlcm1pbmF0b3IgYXMgd2VsbCAqLwotICAgICAgZ19tZW1t
b3ZlIChwb3MgKyA0LCBwb3MgKyAxMCwgc3RybGVuIChwb3MgKyAxMCkgKyAxKTsKLSAgICAgIHBv
cyArPSAzOworICAgICAgLyogQWR2YW5jZSB0byBuZXh0IGNoYXJhY3RlciBvZiB0aGUgc3RyaW5n
IGlmIGEgdGFnIHdpdGgKKyAgICAgICAqIGF0dHJpYnV0ZXMgd2FzIGFscmVhZHkgZm91bmQgYW5k
IHByb2Nlc3NlZCAqLworICAgICAgaWYgKHRhZ19mb3VuZCkKKyAgICAgICAgYnJlYWs7CisgICAg
ICBlbHNlIHsKKyAgICAgICAgZXNjYXBlZF90YWcgPSBnX3N0cmNvbmNhdCAoIiZsdDsiLCBhbGxv
d2VkX3RhZ3NbaW5kZXhdLCAiJmd0OyIsIE5VTEwpOworICAgICAgICBpZiAoZ19hc2NpaV9zdHJu
Y2FzZWNtcCAocG9zLCBlc2NhcGVkX3RhZywgc3RybGVuIChlc2NhcGVkX3RhZykpID09IDApIHsK
KyAgICAgICAgICBwb3NbMF0gPSAnPCc7CisgICAgICAgICAgZ19tZW1tb3ZlIChwb3MgKyAxLCBw
b3MgKyA0LCBzdHJsZW4gKGFsbG93ZWRfdGFnc1tpbmRleF0pKTsKKyAgICAgICAgICBwb3Nbc3Ry
bGVuIChhbGxvd2VkX3RhZ3NbaW5kZXhdKSArIDFdID0gJz4nOworICAgICAgICAgIGdfbWVtbW92
ZSAocG9zICsgc3RybGVuIChhbGxvd2VkX3RhZ3NbaW5kZXhdKSArIDIsCisgICAgICAgICAgICAg
IHBvcyArIHN0cmxlbiAoZXNjYXBlZF90YWcpLAorICAgICAgICAgICAgICBzdHJsZW4gKHBvcyAr
IHN0cmxlbiAoZXNjYXBlZF90YWcpKSArIDEpOworICAgICAgICB9CisgICAgICAgIGdfZnJlZSAo
ZXNjYXBlZF90YWcpOworICAgICAgfQorCisgICAgICAvKiBMb29rIGZvciBlbmRpbmcgZXNjYXBl
ZCB0YWcgKi8KKyAgICAgIGVzY2FwZWRfdGFnID0gZ19zdHJjb25jYXQgKCImbHQ7LyIsIGFsbG93
ZWRfdGFnc1tpbmRleF0sICImZ3Q7IiwgTlVMTCk7CisgICAgICBpZiAoZ19hc2NpaV9zdHJuY2Fz
ZWNtcCAocG9zLCBlc2NhcGVkX3RhZywgc3RybGVuIChlc2NhcGVkX3RhZykpID09IDApIHsKKyAg
ICAgICAgcG9zWzBdID0gJzwnOworICAgICAgICBwb3NbMV0gPSAnLyc7CisgICAgICAgIGdfbWVt
bW92ZSAocG9zICsgMiwgcG9zICsgNSwgc3RybGVuIChhbGxvd2VkX3RhZ3NbaW5kZXhdKSk7Cisg
ICAgICAgIHBvc1tzdHJsZW4gKGFsbG93ZWRfdGFnc1tpbmRleF0pICsgMl0gPSAnPic7CisgICAg
ICAgIGdfbWVtbW92ZSAocG9zICsgc3RybGVuIChhbGxvd2VkX3RhZ3NbaW5kZXhdKSArIDMsCisg
ICAgICAgICAgICBwb3MgKyBzdHJsZW4gKGVzY2FwZWRfdGFnKSwKKyAgICAgICAgICAgIHN0cmxl
biAocG9zICsgc3RybGVuIChlc2NhcGVkX3RhZykpICsgMik7CisgICAgICB9CisgICAgICBnX2Zy
ZWUgKGVzY2FwZWRfdGFnKTsKICAgICB9CiAgIH0KIH0KQEAgLTc5MCwxNiArODQ5LDI1IEBAIHN1
YnJpcF9yZW1vdmVfdW5oYW5kbGVkX3RhZ3MgKGdjaGFyICogdHh0KQogICB9CiB9CiAKLS8qIHdl
IG9ubHkgYWxsb3cgPGk+LCA8dT4gYW5kIDxiPiwgc28gbGV0J3MgdGFrZSBhIHNpbXBsZSBhcHBy
b2FjaC4gVGhpcyBjb2RlCi0gKiBhc3N1bWVzIHRoZSBpbnB1dCBoYXMgYmVlbiBlc2NhcGVkIGFu
ZCBzdWJyaXBfdW5lc2NhcGVfZm9ybWF0dGluZygpIGhhcyB0aGVuCi0gKiBiZWVuIHJ1biBvdmVy
IHRoZSBpbnB1dCEgVGhpcyBmdW5jdGlvbiBhZGRzIG1pc3NpbmcgY2xvc2luZyBtYXJrdXAgdGFn
cyBhbmQKLSAqIHJlbW92ZXMgYnJva2VuIGNsb3NpbmcgdGFncyBmb3IgdGFncyB0aGF0IGhhdmUg
bmV2ZXIgYmVlbiBvcGVuZWQuICovCisvKiB3ZSBvbmx5IGFsbG93IGEgZml4ZWQgc2V0IG9mIHRh
Z3MgbGlrZSA8aT4sIDx1PiBhbmQgPGI+LCBzbyBsZXQncworICogdGFrZSBhIHNpbXBsZSBhcHBy
b2FjaC4gVGhpcyBjb2RlIGFzc3VtZXMgdGhlIGlucHV0IGhhcyBiZWVuCisgKiBlc2NhcGVkIGFu
ZCBzdWJyaXBfdW5lc2NhcGVfZm9ybWF0dGluZygpIGhhcyB0aGVuIGJlZW4gcnVuIG92ZXIgdGhl
CisgKiBpbnB1dCEgVGhpcyBmdW5jdGlvbiBhZGRzIG1pc3NpbmcgY2xvc2luZyBtYXJrdXAgdGFn
cyBhbmQgcmVtb3ZlcworICogYnJva2VuIGNsb3NpbmcgdGFncyBmb3IgdGFncyB0aGF0IGhhdmUg
bmV2ZXIgYmVlbiBvcGVuZWQuICovCiBzdGF0aWMgdm9pZAotc3VicmlwX2ZpeF91cF9tYXJrdXAg
KGdjaGFyICoqIHBfdHh0KQorc3VicmlwX2ZpeF91cF9tYXJrdXAgKGdjaGFyICoqIHBfdHh0LCBn
Y29uc3Rwb2ludGVyIGFsbG93ZWRfdGFnc19wdHIpCiB7CiAgIGdjaGFyICpjdXIsICpuZXh0X3Rh
ZzsKLSAgZ2NoYXIgb3Blbl90YWdzWzMyXTsKKyAgZ2NoYXIgKm9wZW5fdGFnc1szMl07CiAgIGd1
aW50IG51bV9vcGVuX3RhZ3MgPSAwOworICBjb25zdCBnY2hhciAqaXRlcl90YWc7CisgIGd1aW50
IG9mZnNldCA9IDA7CisgIGd1aW50IGluZGV4OworICBnY2hhciAqY3VyX3RhZzsKKyAgZ2NoYXIg
KmVuZF90YWc7CisgIEdSZWdleCAqdGFnX3JlZ2V4OworICBHTWF0Y2hJbmZvICptYXRjaF9pbmZv
OworICBnY2hhciAqKmFsbG93ZWRfdGFncyA9IChnY2hhciAqKikgYWxsb3dlZF90YWdzX3B0cjsK
IAogICBnX2Fzc2VydCAoKnBfdHh0ICE9IE5VTEwpOwogCkBAIC04MDgsMzMgKzg3Niw1NiBAQCBz
dWJyaXBfZml4X3VwX21hcmt1cCAoZ2NoYXIgKiogcF90eHQpCiAgICAgbmV4dF90YWcgPSBzdHJj
aHIgKGN1ciwgJzwnKTsKICAgICBpZiAobmV4dF90YWcgPT0gTlVMTCkKICAgICAgIGJyZWFrOwot
ICAgICsrbmV4dF90YWc7Ci0gICAgc3dpdGNoICgqbmV4dF90YWcpIHsKLSAgICAgIGNhc2UgJy8n
OnsKLSAgICAgICAgKytuZXh0X3RhZzsKLSAgICAgICAgaWYgKG51bV9vcGVuX3RhZ3MgPT0gMCB8
fCBvcGVuX3RhZ3NbbnVtX29wZW5fdGFncyAtIDFdICE9ICpuZXh0X3RhZykgewotICAgICAgICAg
IEdTVF9MT0cgKCJicm9rZW4gaW5wdXQsIGNsb3NpbmcgdGFnICclYycgaXMgbm90IG9wZW4iLCAq
bmV4dF90YWcpOwotICAgICAgICAgIGdfbWVtbW92ZSAobmV4dF90YWcgLSAyLCBuZXh0X3RhZyAr
IDIsIHN0cmxlbiAobmV4dF90YWcgKyAyKSArIDEpOwotICAgICAgICAgIG5leHRfdGFnIC09IDI7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgLyogaXQncyBhbGwgZ29vZCwgY2xvc2luZyB0
YWcgd2hpY2ggaXMgb3BlbiAqLwotICAgICAgICAgIC0tbnVtX29wZW5fdGFnczsKKyAgICBvZmZz
ZXQgPSAwOworICAgIGluZGV4ID0gMDsKKyAgICB3aGlsZSAoaW5kZXggPCBnX3N0cnZfbGVuZ3Ro
IChhbGxvd2VkX3RhZ3MpKSB7CisgICAgICBpdGVyX3RhZyA9IGFsbG93ZWRfdGFnc1tpbmRleF07
CisgICAgICAvKiBMb29rIGZvciBhIHdoaXRlIGxpc3RlZCB0YWcgKi8KKyAgICAgIGN1cl90YWcg
PSBnX3N0cmNvbmNhdCAoIjwiLCBpdGVyX3RhZywgQVRUUklCVVRFX1JFR0VYLCAiPiIsIE5VTEwp
OworICAgICAgdGFnX3JlZ2V4ID0gZ19yZWdleF9uZXcgKGN1cl90YWcsIDAsIDAsIE5VTEwpOwor
ICAgICAgZ19yZWdleF9tYXRjaCAodGFnX3JlZ2V4LCBuZXh0X3RhZywgMCwgJm1hdGNoX2luZm8p
OworCisgICAgICBpZiAoZ19tYXRjaF9pbmZvX21hdGNoZXMgKG1hdGNoX2luZm8pKSB7CisgICAg
ICAgIGdpbnQgc3RhcnRfcG9zLCBlbmRfcG9zOworICAgICAgICBnY2hhciAqd29yZCA9IGdfbWF0
Y2hfaW5mb19mZXRjaCAobWF0Y2hfaW5mbywgMCk7CisgICAgICAgIGdfbWF0Y2hfaW5mb19mZXRj
aF9wb3MgKG1hdGNoX2luZm8sIDAsICZzdGFydF9wb3MsICZlbmRfcG9zKTsKKyAgICAgICAgaWYg
KHN0YXJ0X3BvcyA9PSAwKSB7CisgICAgICAgICAgb2Zmc2V0ID0gc3RybGVuICh3b3JkKTsKICAg
ICAgICAgfQotICAgICAgICBicmVhazsKKyAgICAgICAgZ19mcmVlICh3b3JkKTsKICAgICAgIH0K
LSAgICAgIGNhc2UgJ2knOgotICAgICAgY2FzZSAnYic6Ci0gICAgICBjYXNlICd1JzoKLSAgICAg
ICAgaWYgKG51bV9vcGVuX3RhZ3MgPT0gR19OX0VMRU1FTlRTIChvcGVuX3RhZ3MpKQotICAgICAg
ICAgIHJldHVybjsgICAgICAgICAgICAgICAvKiBzb21ldGhpbmcgZG9kZ3kgaXMgZ29pbmcgb24s
IHN0b3AgcGFyc2luZyAqLwotICAgICAgICBvcGVuX3RhZ3NbbnVtX29wZW5fdGFnc10gPSAqbmV4
dF90YWc7CisgICAgICBnX21hdGNoX2luZm9fZnJlZSAobWF0Y2hfaW5mbyk7CisgICAgICBnX3Jl
Z2V4X3VucmVmICh0YWdfcmVnZXgpOworICAgICAgZ19mcmVlIChjdXJfdGFnKTsKKyAgICAgIGlu
ZGV4Kys7CisgICAgICBpZiAob2Zmc2V0KSB7CisgICAgICAgIC8qIE9LIHdlIGZvdW5kIGEgdGFn
LCBsZXQncyBrZWVwIHRyYWNrIG9mIGl0ICovCisgICAgICAgIG9wZW5fdGFnc1tudW1fb3Blbl90
YWdzXSA9IGdfc3RyZHVwIChpdGVyX3RhZyk7CiAgICAgICAgICsrbnVtX29wZW5fdGFnczsKICAg
ICAgICAgYnJlYWs7Ci0gICAgICBkZWZhdWx0OgotICAgICAgICBHU1RfRVJST1IgKCJ1bmV4cGVj
dGVkIHRhZyAnJWMnICglcykiLCAqbmV4dF90YWcsIG5leHRfdGFnKTsKLSAgICAgICAgZ19hc3Nl
cnRfbm90X3JlYWNoZWQgKCk7Ci0gICAgICAgIGJyZWFrOworICAgICAgfQorICAgIH0KKworICAg
IGlmIChvZmZzZXQpIHsKKyAgICAgIG5leHRfdGFnICs9IG9mZnNldDsKKyAgICAgIGN1ciA9IG5l
eHRfdGFnOworICAgICAgY29udGludWU7CisgICAgfQorCisgICAgaWYgKCpuZXh0X3RhZyA9PSAn
PCcgJiYgKihuZXh0X3RhZyArIDEpID09ICcvJykgeworICAgICAgZW5kX3RhZyA9IHN0cmNociAo
Y3VyLCAnPicpOworICAgICAgaWYgKG51bV9vcGVuX3RhZ3MgPT0gMAorICAgICAgICAgIHx8IGdf
YXNjaWlfc3RybmNhc2VjbXAgKGVuZF90YWcgLSAxLCBvcGVuX3RhZ3NbbnVtX29wZW5fdGFncyAt
IDFdLAorICAgICAgICAgICAgICBzdHJsZW4gKG9wZW5fdGFnc1tudW1fb3Blbl90YWdzIC0gMV0p
KSkgeworICAgICAgICBHU1RfTE9HICgiYnJva2VuIGlucHV0LCBjbG9zaW5nIHRhZyAnJXMnIGlz
IG5vdCBvcGVuIiwgbmV4dF90YWcpOworICAgICAgICBnX21lbW1vdmUgKG5leHRfdGFnLCBlbmRf
dGFnICsgMSwgc3RybGVuIChlbmRfdGFnKSArIDEpOworICAgICAgICBuZXh0X3RhZyAtPSBzdHJs
ZW4gKGVuZF90YWcpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgLS1udW1fb3Blbl90YWdzOwor
ICAgICAgICBnX2ZyZWUgKG9wZW5fdGFnc1tudW1fb3Blbl90YWdzXSk7CisgICAgICB9CiAgICAg
fQorICAgICsrbmV4dF90YWc7CiAgICAgY3VyID0gbmV4dF90YWc7CiAgIH0KIApAQCAtODQzLDEx
ICs5MzQsMTIgQEAgc3VicmlwX2ZpeF91cF9tYXJrdXAgKGdjaGFyICoqIHBfdHh0KQogCiAgICAg
cyA9IGdfc3RyaW5nX25ldyAoKnBfdHh0KTsKICAgICB3aGlsZSAobnVtX29wZW5fdGFncyA+IDAp
IHsKLSAgICAgIEdTVF9MT0cgKCJhZGRpbmcgbWlzc2luZyBjbG9zaW5nIHRhZyAnJWMnIiwgb3Bl
bl90YWdzW251bV9vcGVuX3RhZ3MgLSAxXSk7CisgICAgICBHU1RfTE9HICgiYWRkaW5nIG1pc3Np
bmcgY2xvc2luZyB0YWcgJyVzJyIsIG9wZW5fdGFnc1tudW1fb3Blbl90YWdzIC0gMV0pOwogICAg
ICAgZ19zdHJpbmdfYXBwZW5kX2MgKHMsICc8Jyk7CiAgICAgICBnX3N0cmluZ19hcHBlbmRfYyAo
cywgJy8nKTsKLSAgICAgIGdfc3RyaW5nX2FwcGVuZF9jIChzLCBvcGVuX3RhZ3NbbnVtX29wZW5f
dGFncyAtIDFdKTsKKyAgICAgIGdfc3RyaW5nX2FwcGVuZCAocywgb3Blbl90YWdzW251bV9vcGVu
X3RhZ3MgLSAxXSk7CiAgICAgICBnX3N0cmluZ19hcHBlbmRfYyAocywgJz4nKTsKKyAgICAgIGdf
ZnJlZSAob3Blbl90YWdzW251bV9vcGVuX3RhZ3MgLSAxXSk7CiAgICAgICAtLW51bV9vcGVuX3Rh
Z3M7CiAgICAgfQogICAgIGdfZnJlZSAoKnBfdHh0KTsKQEAgLTkwNyw2ICs5OTksNjIgQEAgcGFy
c2Vfc3VicmlwX3RpbWUgKGNvbnN0IGdjaGFyICogdHNfc3RyaW5nLCBHc3RDbG9ja1RpbWUgKiB0
KQogICByZXR1cm4gVFJVRTsKIH0KIAorLyogY3VlIHNldHRpbmdzIGFyZSBwYXJ0IG9mIHRoZSBX
ZWJWVFQgc3BlY2lmaWNhdGlvbi4gVGhleSBhcmUKKyAqIGRlY2xhcmVkIGFmdGVyIHRoZSB0aW1l
IGludGVydmFsIGluIHRoZSBmaXJzdCBsaW5lIG9mIHRoZQorICogY3VlLiBFeGFtcGxlOiAwMDow
MDowMSwwMDAgLS0+IDAwOjAwOjAyLDAwMCBEOnZlcnRpY2FsLWxyIEE6c3RhcnQKKyAqIFNlZSBh
bHNvIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvd2Vi
dnR0Lmh0bWwKKyAqLworc3RhdGljIHZvaWQKK3BhcnNlX3dlYnZ0dF9jdWVfc2V0dGluZ3MgKFBh
cnNlclN0YXRlICogc3RhdGUsIGNvbnN0IGdjaGFyICogc2V0dGluZ3MpCit7CisgIGdjaGFyICoq
c3BsaXR0ZWRfc2V0dGluZ3MgPSBnX3N0cnNwbGl0X3NldCAoc2V0dGluZ3MsICIgXHQiLCAtMSk7
CisgIGdpbnQgaSA9IDA7CisgIGdpbnQxNiB0ZXh0X3Bvc2l0aW9uLCB0ZXh0X3NpemU7CisgIGdp
bnQxNiBsaW5lX3Bvc2l0aW9uOworICBnYm9vbGVhbiB2ZXJ0aWNhbF9mb3VuZCA9IEZBTFNFOwor
ICBnYm9vbGVhbiBhbGlnbm1lbnRfZm91bmQgPSBGQUxTRTsKKworICB3aGlsZSAoaSA8IGdfc3Ry
dl9sZW5ndGggKHNwbGl0dGVkX3NldHRpbmdzKSkgeworICAgIHN3aXRjaCAoc3BsaXR0ZWRfc2V0
dGluZ3NbaV1bMF0pIHsKKyAgICAgIGNhc2UgJ1QnOgorICAgICAgICBzc2NhbmYgKHNwbGl0dGVk
X3NldHRpbmdzW2ldLCAiVDolIiBHX0dJTlQxNl9GT1JNQVQgIiUlIiwKKyAgICAgICAgICAgICZ0
ZXh0X3Bvc2l0aW9uKTsKKyAgICAgICAgc3RhdGUtPnRleHRfcG9zaXRpb24gPSAoZ3VpbnQ4KSB0
ZXh0X3Bvc2l0aW9uOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgJ0QnOgorICAgICAgICB2
ZXJ0aWNhbF9mb3VuZCA9IFRSVUU7CisgICAgICAgIHN0YXRlLT52ZXJ0aWNhbCA9IGdfc3RyZHVw
IChzcGxpdHRlZF9zZXR0aW5nc1tpXSArIDIpOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2Ug
J0wnOgorICAgICAgICBpZiAoZ19zdHJfaGFzX3N1ZmZpeCAoc3BsaXR0ZWRfc2V0dGluZ3NbaV0s
ICIlIikpIHsKKyAgICAgICAgICBzc2NhbmYgKHNwbGl0dGVkX3NldHRpbmdzW2ldLCAiTDolIiBH
X0dJTlQxNl9GT1JNQVQgIiUlIiwKKyAgICAgICAgICAgICAgJmxpbmVfcG9zaXRpb24pOworICAg
ICAgICAgIHN0YXRlLT5saW5lX3Bvc2l0aW9uID0gbGluZV9wb3NpdGlvbjsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICBzc2NhbmYgKHNwbGl0dGVkX3NldHRpbmdzW2ldLCAiTDolIiBHX0dJ
TlQxNl9GT1JNQVQsICZsaW5lX3Bvc2l0aW9uKTsKKyAgICAgICAgICBzdGF0ZS0+bGluZV9udW1i
ZXIgPSBsaW5lX3Bvc2l0aW9uOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgICAgY2Fz
ZSAnUyc6CisgICAgICAgIHNzY2FuZiAoc3BsaXR0ZWRfc2V0dGluZ3NbaV0sICJTOiUiIEdfR0lO
VDE2X0ZPUk1BVCAiJSUiLCAmdGV4dF9zaXplKTsKKyAgICAgICAgc3RhdGUtPnRleHRfc2l6ZSA9
IChndWludDgpIHRleHRfc2l6ZTsKKyAgICAgICAgYnJlYWs7CisgICAgICBjYXNlICdBJzoKKyAg
ICAgICAgc3RhdGUtPmFsaWdubWVudCA9IGdfc3RyZHVwIChzcGxpdHRlZF9zZXR0aW5nc1tpXSAr
IDIpOworICAgICAgICBhbGlnbm1lbnRfZm91bmQgPSBUUlVFOworICAgICAgICBicmVhazsKKyAg
ICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBpKys7CisgIH0KKyAgZ19z
dHJmcmVldiAoc3BsaXR0ZWRfc2V0dGluZ3MpOworICBpZiAoIXZlcnRpY2FsX2ZvdW5kKQorICAg
IHN0YXRlLT52ZXJ0aWNhbCA9IGdfc3RyZHVwICgiIik7CisgIGlmICghYWxpZ25tZW50X2ZvdW5k
KQorICAgIHN0YXRlLT5hbGlnbm1lbnQgPSBnX3N0cmR1cCAoIiIpOworfQorCiBzdGF0aWMgZ2No
YXIgKgogcGFyc2Vfc3VicmlwIChQYXJzZXJTdGF0ZSAqIHN0YXRlLCBjb25zdCBnY2hhciAqIGxp
bmUpCiB7CkBAIC05NjUsMTAgKzExMTMsMTEgQEAgcGFyc2Vfc3VicmlwIChQYXJzZXJTdGF0ZSAq
IHN0YXRlLCBjb25zdCBnY2hhciAqIGxpbmUpCiAgICAgICAgIHJldCA9IGdfbWFya3VwX2VzY2Fw
ZV90ZXh0IChzdGF0ZS0+YnVmLT5zdHIsIHN0YXRlLT5idWYtPmxlbik7CiAgICAgICAgIGdfc3Ry
aW5nX3RydW5jYXRlIChzdGF0ZS0+YnVmLCAwKTsKICAgICAgICAgc3RhdGUtPnN0YXRlID0gMDsK
LSAgICAgICAgc3VicmlwX3VuZXNjYXBlX2Zvcm1hdHRpbmcgKHJldCk7CisgICAgICAgIHN1YnJp
cF91bmVzY2FwZV9mb3JtYXR0aW5nIChyZXQsIHN0YXRlLT5hbGxvd2VkX3RhZ3MsCisgICAgICAg
ICAgICBzdGF0ZS0+YWxsb3dzX3RhZ19hdHRyaWJ1dGVzKTsKICAgICAgICAgc3VicmlwX3JlbW92
ZV91bmhhbmRsZWRfdGFncyAocmV0KTsKICAgICAgICAgc3RyaXBfdHJhaWxpbmdfbmV3bGluZXMg
KHJldCk7Ci0gICAgICAgIHN1YnJpcF9maXhfdXBfbWFya3VwICgmcmV0KTsKKyAgICAgICAgc3Vi
cmlwX2ZpeF91cF9tYXJrdXAgKCZyZXQsIHN0YXRlLT5hbGxvd2VkX3RhZ3MpOwogICAgICAgICBy
ZXR1cm4gcmV0OwogICAgICAgfQogICAgICAgcmV0dXJuIE5VTEw7CkBAIC05NzcsNiArMTEyNiw1
MiBAQCBwYXJzZV9zdWJyaXAgKFBhcnNlclN0YXRlICogc3RhdGUsIGNvbnN0IGdjaGFyICogbGlu
ZSkKICAgfQogfQogCisvKiBXZWJWVFQgaXMgYSBuZXcgc3VidGl0bGUgZm9ybWF0IGZvciB0aGUg
dXBjb21pbmcgSFRNTDUgdmlkZW8gdHJhY2sKKyAqIGVsZW1lbnQuIFRoaXMgZm9ybWF0IGlzIHNp
bWlsYXIgdG8gU3VicmlwLCB0aGUgYmlnZ2VzdCBkaWZmZXJlbmNlcworICogYXJlIHRoYXQgdGhl
cmUgY2FuIGJlIGN1ZSBzZXR0aW5ncyBkZXRhaWxpbmcgaG93IHRvIGRpc3BsYXkgdGhlIGN1ZQor
ICogdGV4dCBhbmQgbW9yZSBtYXJrdXAgdGFncyBhcmUgYWxsb3dlZC4KKyAqIFNlZSBhbHNvIGh0
dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvd2VidnR0Lmh0
bWwKKyAqLworc3RhdGljIGdjaGFyICoKK3BhcnNlX3dlYnZ0dCAoUGFyc2VyU3RhdGUgKiBzdGF0
ZSwgY29uc3QgZ2NoYXIgKiBsaW5lKQoreworICBpZiAoc3RhdGUtPnN0YXRlID09IDEpIHsKKyAg
ICBHc3RDbG9ja1RpbWUgdHNfc3RhcnQsIHRzX2VuZDsKKyAgICBnY2hhciAqZW5kX3RpbWU7Cisg
ICAgZ2NoYXIgKmN1ZV9zZXR0aW5ncyA9IE5VTEw7CisKKyAgICAvKiBsb29raW5nIGZvciBzdGFy
dF90aW1lIC0tPiBlbmRfdGltZSAqLworICAgIGlmICgoZW5kX3RpbWUgPSBzdHJzdHIgKGxpbmUs
ICIgLS0+ICIpKSAmJgorICAgICAgICBwYXJzZV9zdWJyaXBfdGltZSAobGluZSwgJnRzX3N0YXJ0
KSAmJgorICAgICAgICBwYXJzZV9zdWJyaXBfdGltZSAoZW5kX3RpbWUgKyBzdHJsZW4gKCIgLS0+
ICIpLCAmdHNfZW5kKSAmJgorICAgICAgICBzdGF0ZS0+c3RhcnRfdGltZSA8PSB0c19lbmQpIHsK
KyAgICAgIHN0YXRlLT5zdGF0ZSA9IDI7CisgICAgICBzdGF0ZS0+c3RhcnRfdGltZSA9IHRzX3N0
YXJ0OworICAgICAgc3RhdGUtPmR1cmF0aW9uID0gdHNfZW5kIC0gdHNfc3RhcnQ7CisgICAgICBj
dWVfc2V0dGluZ3MgPSBzdHJzdHIgKGVuZF90aW1lICsgc3RybGVuICgiIC0tPiAiKSwgIiAiKTsK
KyAgICB9IGVsc2UgeworICAgICAgR1NUX0RFQlVHICgiZXJyb3IgcGFyc2luZyBzdWJyaXAgdGlt
ZSBsaW5lICclcyciLCBsaW5lKTsKKyAgICAgIHN0YXRlLT5zdGF0ZSA9IDA7CisgICAgfQorCisg
ICAgc3RhdGUtPnRleHRfcG9zaXRpb24gPSAwOworICAgIHN0YXRlLT50ZXh0X3NpemUgPSAwOwor
ICAgIHN0YXRlLT5saW5lX3Bvc2l0aW9uID0gMDsKKyAgICBzdGF0ZS0+bGluZV9udW1iZXIgPSAw
OworCisgICAgaWYgKGN1ZV9zZXR0aW5ncykKKyAgICAgIHBhcnNlX3dlYnZ0dF9jdWVfc2V0dGlu
Z3MgKHN0YXRlLCBjdWVfc2V0dGluZ3MgKyAxKTsKKyAgICBlbHNlIHsKKyAgICAgIHN0YXRlLT52
ZXJ0aWNhbCA9IGdfc3RyZHVwICgiIik7CisgICAgICBzdGF0ZS0+YWxpZ25tZW50ID0gZ19zdHJk
dXAgKCIiKTsKKyAgICB9CisKKyAgICByZXR1cm4gTlVMTDsKKyAgfSBlbHNlCisgICAgcmV0dXJu
IHBhcnNlX3N1YnJpcCAoc3RhdGUsIGxpbmUpOworfQorCisKIHN0YXRpYyB2b2lkCiB1bmVzY2Fw
ZV9uZXdsaW5lc19iciAoZ2NoYXIgKiByZWFkKQogewpAQCAtMTE5OSw2ICsxMzk0LDcgQEAgcGFy
c2VyX3N0YXRlX2luaXQgKFBhcnNlclN0YXRlICogc3RhdGUpCiAgIHN0YXRlLT5tYXhfZHVyYXRp
b24gPSAwOyAgICAgIC8qIG5vIGxpbWl0ICovCiAgIHN0YXRlLT5zdGF0ZSA9IDA7CiAgIHN0YXRl
LT5zZWdtZW50ID0gTlVMTDsKKyAgc3RhdGUtPmFsbG93ZWRfdGFncyA9IE5VTEw7CiB9CiAKIHN0
YXRpYyB2b2lkCkBAIC0xMjE5LDYgKzE0MTUsNyBAQCBwYXJzZXJfc3RhdGVfZGlzcG9zZSAoR3N0
U3ViUGFyc2UgKiBzZWxmLCBQYXJzZXJTdGF0ZSAqIHN0YXRlKQogICAgICAgICBicmVhazsKICAg
ICB9CiAgIH0KKyAgc3RhdGUtPmFsbG93ZWRfdGFncyA9IE5VTEw7CiB9CiAKIC8qIHJlZ2V4IHR5
cGUgZW51bSAqLwpAQCAtMTIyOCw2ICsxNDI1LDcgQEAgdHlwZWRlZiBlbnVtCiAgIEdTVF9TVUJf
UEFSU0VfUkVHRVhfTURWRFNVQiA9IDEsCiAgIEdTVF9TVUJfUEFSU0VfUkVHRVhfU1VCUklQID0g
MiwKICAgR1NUX1NVQl9QQVJTRV9SRUdFWF9ES1MgPSAzLAorICBHU1RfU1VCX1BBUlNFX1JFR0VY
X1ZUVCA9IDQsCiB9IEdzdFN1YlBhcnNlUmVnZXg7CiAKIHN0YXRpYyBncG9pbnRlcgpAQCAtMTI2
Miw2ICsxNDYwLDE0IEBAIGdzdF9zdWJfcGFyc2VfZGF0YV9mb3JtYXRfYXV0b2RldGVjdF9yZWdl
eF9vbmNlIChHc3RTdWJQYXJzZVJlZ2V4IHJlZ3R5cGUpCiAgICAgICAgIGdfZXJyb3JfZnJlZSAo
Z2Vycik7CiAgICAgICB9CiAgICAgICBicmVhazsKKyAgICBjYXNlIEdTVF9TVUJfUEFSU0VfUkVH
RVhfVlRUOgorICAgICAgcmVzdWx0ID0gKGdwb2ludGVyKSBnX3JlZ2V4X25ldyAoIl5XRUJWVFQg
RklMRS4qIiwgMCwgMCwgJmdlcnIpOworICAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKSB7CisgICAg
ICAgIGdfd2FybmluZyAoIkNvbXBpbGF0aW9uIG9mIHZ0dCByZWdleCBmYWlsZWQ6ICVzIiwgZ2Vy
ci0+bWVzc2FnZSk7CisgICAgICAgIGdfZXJyb3JfZnJlZSAoZ2Vycik7CisgICAgICB9CisgICAg
ICBicmVhazsKKwogICAgIGRlZmF1bHQ6CiAgICAgICBHU1RfV0FSTklORyAoIlRyeWluZyB0byBh
bGxvY2F0ZSByZWdleCBvZiB1bmtub3duIHR5cGUgJXUiLCByZWd0eXBlKTsKICAgfQpAQCAtMTI4
MiwxMCArMTQ4OCwxMiBAQCBnc3Rfc3ViX3BhcnNlX2RhdGFfZm9ybWF0X2F1dG9kZXRlY3QgKGdj
aGFyICogbWF0Y2hfc3RyKQogICBzdGF0aWMgR09uY2UgbWR2ZF9yeF9vbmNlID0gR19PTkNFX0lO
SVQ7CiAgIHN0YXRpYyBHT25jZSBzdWJyaXBfcnhfb25jZSA9IEdfT05DRV9JTklUOwogICBzdGF0
aWMgR09uY2UgZGtzX3J4X29uY2UgPSBHX09OQ0VfSU5JVDsKKyAgc3RhdGljIEdPbmNlIHZ0dF9y
eF9vbmNlID0gR19PTkNFX0lOSVQ7CiAKICAgR1JlZ2V4ICptZHZkX2dyeDsKICAgR1JlZ2V4ICpz
dWJyaXBfZ3J4OwogICBHUmVnZXggKmRrc19ncng7CisgIEdSZWdleCAqdnR0X2dyeDsKIAogICBn
X29uY2UgKCZtZHZkX3J4X29uY2UsCiAgICAgICAoR1RocmVhZEZ1bmMpIGdzdF9zdWJfcGFyc2Vf
ZGF0YV9mb3JtYXRfYXV0b2RldGVjdF9yZWdleF9vbmNlLApAQCAtMTI5NiwxMCArMTUwNCwxNCBA
QCBnc3Rfc3ViX3BhcnNlX2RhdGFfZm9ybWF0X2F1dG9kZXRlY3QgKGdjaGFyICogbWF0Y2hfc3Ry
KQogICBnX29uY2UgKCZka3Nfcnhfb25jZSwKICAgICAgIChHVGhyZWFkRnVuYykgZ3N0X3N1Yl9w
YXJzZV9kYXRhX2Zvcm1hdF9hdXRvZGV0ZWN0X3JlZ2V4X29uY2UsCiAgICAgICAoZ3BvaW50ZXIp
IEdTVF9TVUJfUEFSU0VfUkVHRVhfREtTKTsKKyAgZ19vbmNlICgmdnR0X3J4X29uY2UsCisgICAg
ICAoR1RocmVhZEZ1bmMpIGdzdF9zdWJfcGFyc2VfZGF0YV9mb3JtYXRfYXV0b2RldGVjdF9yZWdl
eF9vbmNlLAorICAgICAgKGdwb2ludGVyKSBHU1RfU1VCX1BBUlNFX1JFR0VYX1ZUVCk7CiAKICAg
bWR2ZF9ncnggPSAoR1JlZ2V4ICopIG1kdmRfcnhfb25jZS5yZXR2YWw7CiAgIHN1YnJpcF9ncngg
PSAoR1JlZ2V4ICopIHN1YnJpcF9yeF9vbmNlLnJldHZhbDsKICAgZGtzX2dyeCA9IChHUmVnZXgg
KikgZGtzX3J4X29uY2UucmV0dmFsOworICB2dHRfZ3J4ID0gKEdSZWdleCAqKSB2dHRfcnhfb25j
ZS5yZXR2YWw7CiAKICAgaWYgKGdfcmVnZXhfbWF0Y2ggKG1kdmRfZ3J4LCBtYXRjaF9zdHIsIDAs
IE5VTEwpID09IFRSVUUpIHsKICAgICBHU1RfTE9HICgiTWljcm9EVkQgKGZyYW1lIGJhc2VkKSBm
b3JtYXQgZGV0ZWN0ZWQiKTsKQEAgLTEzMTMsNiArMTUyNSwxMCBAQCBnc3Rfc3ViX3BhcnNlX2Rh
dGFfZm9ybWF0X2F1dG9kZXRlY3QgKGdjaGFyICogbWF0Y2hfc3RyKQogICAgIEdTVF9MT0cgKCJE
S1MgKHRpbWUgYmFzZWQpIGZvcm1hdCBkZXRlY3RlZCIpOwogICAgIHJldHVybiBHU1RfU1VCX1BB
UlNFX0ZPUk1BVF9ES1M7CiAgIH0KKyAgaWYgKGdfcmVnZXhfbWF0Y2ggKHZ0dF9ncngsIG1hdGNo
X3N0ciwgMCwgTlVMTCkgPT0gVFJVRSkgeworICAgIEdTVF9MT0cgKCJXZWJWVFQgKHRpbWUgYmFz
ZWQpIGZvcm1hdCBkZXRlY3RlZCIpOworICAgIHJldHVybiBHU1RfU1VCX1BBUlNFX0ZPUk1BVF9W
VFQ7CisgIH0KIAogICBpZiAoIXN0cm5jbXAgKG1hdGNoX3N0ciwgIkZPUk1BVD1USU1FIiwgMTEp
KSB7CiAgICAgR1NUX0xPRyAoIk1QU3ViICh0aW1lIGJhc2VkKSBmb3JtYXQgZGV0ZWN0ZWQiKTsK
QEAgLTEzNzUsNiArMTU5MSw4IEBAIGdzdF9zdWJfcGFyc2VfZm9ybWF0X2F1dG9kZXRlY3QgKEdz
dFN1YlBhcnNlICogc2VsZikKICAgICAgIHNlbGYtPnBhcnNlX2xpbmUgPSBwYXJzZV9tZHZkc3Vi
OwogICAgICAgcmV0dXJuIGdzdF9jYXBzX25ld19zaW1wbGUgKCJ0ZXh0L3gtcGFuZ28tbWFya3Vw
IiwgTlVMTCk7CiAgICAgY2FzZSBHU1RfU1VCX1BBUlNFX0ZPUk1BVF9TVUJSSVA6CisgICAgICBz
ZWxmLT5zdGF0ZS5hbGxvd2VkX3RhZ3MgPSAoZ3BvaW50ZXIpIGFsbG93ZWRfc3J0X3RhZ3M7Cisg
ICAgICBzZWxmLT5zdGF0ZS5hbGxvd3NfdGFnX2F0dHJpYnV0ZXMgPSBGQUxTRTsKICAgICAgIHNl
bGYtPnBhcnNlX2xpbmUgPSBwYXJzZV9zdWJyaXA7CiAgICAgICByZXR1cm4gZ3N0X2NhcHNfbmV3
X3NpbXBsZSAoInRleHQveC1wYW5nby1tYXJrdXAiLCBOVUxMKTsKICAgICBjYXNlIEdTVF9TVUJf
UEFSU0VfRk9STUFUX01QU1VCOgpAQCAtMTM5Niw2ICsxNjE0LDExIEBAIGdzdF9zdWJfcGFyc2Vf
Zm9ybWF0X2F1dG9kZXRlY3QgKEdzdFN1YlBhcnNlICogc2VsZikKICAgICBjYXNlIEdTVF9TVUJf
UEFSU0VfRk9STUFUX0RLUzoKICAgICAgIHNlbGYtPnBhcnNlX2xpbmUgPSBwYXJzZV9ka3M7CiAg
ICAgICByZXR1cm4gZ3N0X2NhcHNfbmV3X3NpbXBsZSAoInRleHQvcGxhaW4iLCBOVUxMKTsKKyAg
ICBjYXNlIEdTVF9TVUJfUEFSU0VfRk9STUFUX1ZUVDoKKyAgICAgIHNlbGYtPnN0YXRlLmFsbG93
ZWRfdGFncyA9IChncG9pbnRlcikgYWxsb3dlZF92dHRfdGFnczsKKyAgICAgIHNlbGYtPnN0YXRl
LmFsbG93c190YWdfYXR0cmlidXRlcyA9IFRSVUU7CisgICAgICBzZWxmLT5wYXJzZV9saW5lID0g
cGFyc2Vfd2VidnR0OworICAgICAgcmV0dXJuIGdzdF9jYXBzX25ld19zaW1wbGUgKCJ0ZXh0L3gt
cGFuZ28tbWFya3VwIiwgTlVMTCk7CiAgICAgY2FzZSBHU1RfU1VCX1BBUlNFX0ZPUk1BVF9TVUJW
SUVXRVI6CiAgICAgICBzZWxmLT5wYXJzZV9saW5lID0gcGFyc2Vfc3Vidmlld2VyOwogICAgICAg
cmV0dXJuIGdzdF9jYXBzX25ld19zaW1wbGUgKCJ0ZXh0L3BsYWluIiwgTlVMTCk7CkBAIC0xNTQy
LDYgKzE3NjUsOCBAQCBoYW5kbGVfYnVmZmVyIChHc3RTdWJQYXJzZSAqIHNlbGYsIEdzdEJ1ZmZl
ciAqIGJ1ZikKICAgICAgICAgICAgIEdTVF9USU1FX0ZPUk1BVCwgc3VidGl0bGUsIEdTVF9USU1F
X0FSR1MgKHNlbGYtPnN0YXRlLnN0YXJ0X3RpbWUpLAogICAgICAgICAgICAgR1NUX1RJTUVfQVJH
UyAoc2VsZi0+c3RhdGUuZHVyYXRpb24pKTsKIAorICAgICAgICBnX2ZyZWUgKHNlbGYtPnN0YXRl
LnZlcnRpY2FsKTsKKyAgICAgICAgZ19mcmVlIChzZWxmLT5zdGF0ZS5hbGlnbm1lbnQpOwogICAg
ICAgICByZXQgPSBnc3RfcGFkX3B1c2ggKHNlbGYtPnNyY3BhZCwgYnVmKTsKICAgICAgIH0KIApA
QCAtMTczNCw2ICsxOTU5LDkgQEAgc3RhdGljIEdzdFN0YXRpY0NhcHMgc21pX2NhcHMgPSBHU1Rf
U1RBVElDX0NBUFMgKCJhcHBsaWNhdGlvbi94LXN1YnRpdGxlLXNhbWkiKTsKIHN0YXRpYyBHc3RT
dGF0aWNDYXBzIGRrc19jYXBzID0gR1NUX1NUQVRJQ19DQVBTICgiYXBwbGljYXRpb24veC1zdWJ0
aXRsZS1ka3MiKTsKICNkZWZpbmUgREtTX0NBUFMgKGdzdF9zdGF0aWNfY2Fwc19nZXQgKCZka3Nf
Y2FwcykpCiAKK3N0YXRpYyBHc3RTdGF0aWNDYXBzIHZ0dF9jYXBzID0gR1NUX1NUQVRJQ19DQVBT
ICgiYXBwbGljYXRpb24veC1zdWJ0aXRsZS12dHQiKTsKKyNkZWZpbmUgVlRUX0NBUFMgKGdzdF9z
dGF0aWNfY2Fwc19nZXQgKCZ2dHRfY2FwcykpCisKIHN0YXRpYyBHc3RTdGF0aWNDYXBzIHF0dGV4
dF9jYXBzID0KIEdTVF9TVEFUSUNfQ0FQUyAoImFwcGxpY2F0aW9uL3gtc3VidGl0bGUtcXR0ZXh0
Iik7CiAjZGVmaW5lIFFUVEVYVF9DQVBTIChnc3Rfc3RhdGljX2NhcHNfZ2V0ICgmcXR0ZXh0X2Nh
cHMpKQpAQCAtMTg0Nyw2ICsyMDc1LDEwIEBAIGdzdF9zdWJwYXJzZV90eXBlX2ZpbmQgKEdzdFR5
cGVGaW5kICogdGYsIGdwb2ludGVyIHByaXZhdGUpCiAgICAgICBHU1RfREVCVUcgKCJRVHRleHQg
Zm9ybWF0IGRldGVjdGVkIik7CiAgICAgICBjYXBzID0gUVRURVhUX0NBUFM7CiAgICAgICBicmVh
azsKKyAgICBjYXNlIEdTVF9TVUJfUEFSU0VfRk9STUFUX1ZUVDoKKyAgICAgIEdTVF9ERUJVRyAo
IldlYlZUVCBmb3JtYXQgZGV0ZWN0ZWQiKTsKKyAgICAgIGNhcHMgPSBWVFRfQ0FQUzsKKyAgICAg
IGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgY2FzZSBHU1RfU1VCX1BBUlNFX0ZPUk1BVF9VTktO
T1dOOgogICAgICAgR1NUX0RFQlVHICgibm8gc3VidGl0bGUgZm9ybWF0IGRldGVjdGVkIik7CkBA
IC0xODYxLDcgKzIwOTMsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4KIHBsdWdpbl9pbml0IChHc3RQbHVn
aW4gKiBwbHVnaW4pCiB7CiAgIHN0YXRpYyBjb25zdCBnY2hhciAqc3ViX2V4dHNbXSA9Ci0gICAg
ICB7ICJzcnQiLCAic3ViIiwgIm1wc3ViIiwgIm1kdmQiLCAic21pIiwgInR4dCIsICJka3MiLCBO
VUxMIH07CisgICAgICB7ICJzcnQiLCAic3ViIiwgIm1wc3ViIiwgIm1kdmQiLCAic21pIiwgInR4
dCIsICJka3MiLCAidnR0IiwgTlVMTCB9OwogCiAgIEdTVF9ERUJVR19DQVRFR09SWV9JTklUIChz
dWJfcGFyc2VfZGVidWcsICJzdWJwYXJzZSIsIDAsICIuc3ViIHBhcnNlciIpOwogCmRpZmYgLS1n
aXQgYS9nc3Qvc3VicGFyc2UvZ3N0c3VicGFyc2UuaCBiL2dzdC9zdWJwYXJzZS9nc3RzdWJwYXJz
ZS5oCmluZGV4IDU3MzFkOTEuLjA1MTJmODkgMTAwNjQ0Ci0tLSBhL2dzdC9zdWJwYXJzZS9nc3Rz
dWJwYXJzZS5oCisrKyBiL2dzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5oCkBAIC01NSw3ICs1NSw4
IEBAIHR5cGVkZWYgZW51bQogICBHU1RfU1VCX1BBUlNFX0ZPUk1BVF9NUEwyID0gNiwKICAgR1NU
X1NVQl9QQVJTRV9GT1JNQVRfU1VCVklFV0VSID0gNywKICAgR1NUX1NVQl9QQVJTRV9GT1JNQVRf
REtTID0gOCwKLSAgR1NUX1NVQl9QQVJTRV9GT1JNQVRfUVRURVhUID0gOQorICBHU1RfU1VCX1BB
UlNFX0ZPUk1BVF9RVFRFWFQgPSA5LAorICBHU1RfU1VCX1BBUlNFX0ZPUk1BVF9WVFQgPSAxMAog
fSBHc3RTdWJQYXJzZUZvcm1hdDsKIAogdHlwZWRlZiBzdHJ1Y3QgewpAQCAtNjgsNiArNjksMTQg
QEAgdHlwZWRlZiBzdHJ1Y3QgewogICBncG9pbnRlciB1c2VyX2RhdGE7CiAgIGdib29sZWFuIGhh
dmVfaW50ZXJuYWxfZnBzOyAvKiBJZiBUUlVFIGRvbid0IG92ZXJ3cml0ZSBmcHMgYnkgcHJvcGVy
dHkgKi8KICAgZ2ludCBmcHNfbiwgZnBzX2Q7ICAgICAvKiB1c2VkIGJ5IGZyYW1lIGJhc2VkIHBh
cnNlcnMgKi8KKyAgZ3VpbnQ4IGxpbmVfcG9zaXRpb247ICAgICAgICAgIC8qIHBlcmNlbnQgdmFs
dWUgKi8KKyAgZ2ludCBsaW5lX251bWJlcjsgICAgICAgICAgICAgIC8qIGxpbmUgbnVtYmVyLCBj
YW4gYmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUgKi8KKyAgZ3VpbnQ4IHRleHRfcG9zaXRpb247ICAg
ICAgICAgIC8qIHBlcmNlbnQgdmFsdWUgKi8KKyAgZ3VpbnQ4IHRleHRfc2l6ZTsgICAgICAgICAg
LyogcGVyY2VudCB2YWx1ZSAqLworICBnY2hhciAqdmVydGljYWw7ICAgICAgICAvKiAiIiwgInZl
cnRpY2FsIiwgInZlcnRpY2FsLWxyIiAqLworICBnY2hhciAqYWxpZ25tZW50OyAgICAgICAvKiAi
IiwgInN0YXJ0IiwgIm1pZGRsZSIsICJlbmQiICovCisgIGdjb25zdHBvaW50ZXIgYWxsb3dlZF90
YWdzOyAvKiBsaXN0IG9mIG1hcmt1cCB0YWdzIGFsbG93ZWQgaW4gdGhlIGN1ZSB0ZXh0LiAqLwor
ICBnYm9vbGVhbiBhbGxvd3NfdGFnX2F0dHJpYnV0ZXM7CiB9IFBhcnNlclN0YXRlOwogCiB0eXBl
ZGVmIGdjaGFyKiAoKlBhcnNlcikgKFBhcnNlclN0YXRlICpzdGF0ZSwgY29uc3QgZ2NoYXIgKmxp
bmUpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2svZWxlbWVudHMvc3VicGFyc2UuYyBiL3Rlc3Rz
L2NoZWNrL2VsZW1lbnRzL3N1YnBhcnNlLmMKaW5kZXggODg0MTQwYi4uM2FmMzhiZCAxMDA2NDQK
LS0tIGEvdGVzdHMvY2hlY2svZWxlbWVudHMvc3VicGFyc2UuYworKysgYi90ZXN0cy9jaGVjay9l
bGVtZW50cy9zdWJwYXJzZS5jCkBAIC0xNTEsNiArMTUxLDI1IEBAIHN0YXRpYyBTdWJQYXJzZUlu
cHV0Q2h1bmsgc3J0X2lucHV0M1tdID0gewogICAgICAgMzA5MCAqIEdTVF9NU0VDT05ELCA0MDAw
ICogR1NUX01TRUNPTkQsICJUaHJlZSJ9CiB9OwogCisvKiBTb21lIFdlYlZUVCBjaHVua3MsIHRo
aXMgZm9ybWF0IGlzIHNpbWlsYXIgdG8gU1JUIGJ1dCBzaG91bGQgYmUKKyAqIHBhcnNlZCBkaWZm
ZXJlbnRseSBub25ldGhlbGVzcywgdGhlIFdlYlZUVCB0YWdzIHNob3VsZCBiZSBzdHJpcHBlZAor
ICogb2ZmLiAqLworc3RhdGljIFN1YlBhcnNlSW5wdXRDaHVuayBzcnRfaW5wdXQ0W10gPSB7Cisg
IHsKKyAgICAgICAgIjFcbjAwOjAwOjAxLDAwMCAtLT4gMDA6MDA6MDIsMDAwXG48dj5zb21lIHRl
eHRcblxuIiwKKyAgICAgIDEgKiBHU1RfU0VDT05ELCAyICogR1NUX1NFQ09ORCwgInNvbWUgdGV4
dCJ9CisgICwKKyAgeworICAgICAgICAiMVxuMDA6MDA6MDEsMDAwIC0tPiAwMDowMDowMiwwMDBc
bjxiLmxvdWQ+c29tZSB0ZXh0XG5cbiIsCisgICAgICAxICogR1NUX1NFQ09ORCwgMiAqIEdTVF9T
RUNPTkQsICI8Yj5zb21lIHRleHQ8L2I+In0KKyAgLAorICB7CisgICAgICAgICIxXG4wMDowMDow
MSwwMDAgLS0+IDAwOjAwOjAyLDAwMFxuPHJ1Ynk+YmFzZSB0ZXh0PHJ0PmFubm90YXRpb248L3J0
PjwvcnVieT5cblxuIiwKKyAgICAgICAgMSAqIEdTVF9TRUNPTkQsIDIgKiBHU1RfU0VDT05ELAor
ICAgICAgImJhc2UgdGV4dGFubm90YXRpb24ifQorICAsCit9OworCiBzdGF0aWMgdm9pZAogc2V0
dXBfc3VicGFyc2UgKHZvaWQpCiB7CkBAIC0yMzgsNiArMjU3LDYwIEBAIHRlc3Rfc3J0X2RvX3Rl
c3QgKFN1YlBhcnNlSW5wdXRDaHVuayAqIGlucHV0LCBndWludCBzdGFydF9pZHgsIGd1aW50IG51
bSkKICAgdGVhcmRvd25fc3VicGFyc2UgKCk7CiB9CiAKK3N0YXRpYyB2b2lkCit0ZXN0X3Z0dF9k
b190ZXN0IChTdWJQYXJzZUlucHV0Q2h1bmsgKiBpbnB1dCwgZ3VpbnQgc3RhcnRfaWR4LCBndWlu
dCBudW0pCit7CisgIGd1aW50IG47CisKKyAgR1NUX0xPRyAoInZ0dCB0ZXN0OiBzdGFydF9pZHgg
PSAldSwgbnVtID0gJXUiLCBzdGFydF9pZHgsIG51bSk7CisKKyAgc2V0dXBfc3VicGFyc2UgKCk7
CisKKyAgZm9yIChuID0gc3RhcnRfaWR4OyBuIDwgc3RhcnRfaWR4ICsgbnVtOyArK24pIHsKKyAg
ICBHc3RCdWZmZXIgKmJ1ZjsKKyAgICBnY2hhciAqZGF0YSA9IGdfc3RyY29uY2F0ICgiV0VCVlRU
IEZJTEVcbiIsIGlucHV0W25dLmluLCBOVUxMKTsKKyAgICBidWYgPSBidWZmZXJfZnJvbV9zdGF0
aWNfc3RyaW5nIChkYXRhKTsKKyAgICBmYWlsX3VubGVzc19lcXVhbHNfaW50IChnc3RfcGFkX3B1
c2ggKG15c3JjcGFkLCBidWYpLCBHU1RfRkxPV19PSyk7CisgICAgZ19mcmVlIChkYXRhKTsKKyAg
fQorCisgIGdzdF9wYWRfcHVzaF9ldmVudCAobXlzcmNwYWQsIGdzdF9ldmVudF9uZXdfZW9zICgp
KTsKKworICBmYWlsX3VubGVzc19lcXVhbHNfaW50IChnX2xpc3RfbGVuZ3RoIChidWZmZXJzKSwg
bnVtKTsKKworICBmb3IgKG4gPSBzdGFydF9pZHg7IG4gPCBzdGFydF9pZHggKyBudW07ICsrbikg
eworICAgIGNvbnN0IEdzdFN0cnVjdHVyZSAqYnVmZmVyX2NhcHNfc3RydWN0OworICAgIEdzdEJ1
ZmZlciAqYnVmOworICAgIGdjaGFyICpvdXQ7CisgICAgZ3VpbnQgb3V0X3NpemU7CisKKyAgICBi
dWYgPSBnX2xpc3RfbnRoX2RhdGEgKGJ1ZmZlcnMsIG4gLSBzdGFydF9pZHgpOworICAgIGZhaWxf
dW5sZXNzIChidWYgIT0gTlVMTCk7CisgICAgZmFpbF91bmxlc3MgKEdTVF9CVUZGRVJfVElNRVNU
QU1QX0lTX1ZBTElEIChidWYpLCBOVUxMKTsKKyAgICBmYWlsX3VubGVzcyAoR1NUX0JVRkZFUl9E
VVJBVElPTl9JU19WQUxJRCAoYnVmKSwgTlVMTCk7CisgICAgZmFpbF91bmxlc3NfZXF1YWxzX3Vp
bnQ2NCAoR1NUX0JVRkZFUl9USU1FU1RBTVAgKGJ1ZiksIGlucHV0W25dLmZyb21fdHMpOworICAg
IGZhaWxfdW5sZXNzX2VxdWFsc191aW50NjQgKEdTVF9CVUZGRVJfRFVSQVRJT04gKGJ1ZiksCisg
ICAgICAgIGlucHV0W25dLnRvX3RzIC0gaW5wdXRbbl0uZnJvbV90cyk7CisgICAgb3V0ID0gKGdj
aGFyICopIEdTVF9CVUZGRVJfREFUQSAoYnVmKTsKKyAgICBvdXRfc2l6ZSA9IEdTVF9CVUZGRVJf
U0laRSAoYnVmKTsKKyAgICAvKiBzaG91bGRuJ3QgaGF2ZSB0cmFpbGluZyBuZXdsaW5lIGNoYXJh
Y3RlcnMgKi8KKyAgICBmYWlsX2lmIChvdXRfc2l6ZSA+IDAgJiYgb3V0W291dF9zaXplIC0gMV0g
PT0gJ1xuJyk7CisgICAgLyogc2hvdWxkbid0IGluY2x1ZGUgTlVMLXRlcm1pbmF0b3IgaW4gZGF0
YSBzaXplICovCisgICAgZmFpbF9pZiAob3V0X3NpemUgPiAwICYmIG91dFtvdXRfc2l6ZSAtIDFd
ID09ICdcMCcpOworICAgIC8qIGJ1dCBzaG91bGQgc3RpbGwgaGF2ZSBhICBOVUwtdGVybWluYXRv
ciBiZWhpbmQgdGhlIGRlY2xhcmVkIGRhdGEgKi8KKyAgICBmYWlsX3VubGVzc19lcXVhbHNfaW50
IChvdXRbb3V0X3NpemVdLCAnXDAnKTsKKyAgICAvKiBtYWtlIHN1cmUgb3V0IHN0cmluZyBtYXRj
aGVzIGV4cGVjdGVkIHN0cmluZyAqLworICAgIGZhaWxfdW5sZXNzX2VxdWFsc19zdHJpbmcgKG91
dCwgaW5wdXRbbl0ub3V0KTsKKyAgICAvKiBjaGVjayBjYXBzICovCisgICAgZmFpbF91bmxlc3Mg
KEdTVF9CVUZGRVJfQ0FQUyAoYnVmKSAhPSBOVUxMKTsKKyAgICBidWZmZXJfY2Fwc19zdHJ1Y3Qg
PSBnc3RfY2Fwc19nZXRfc3RydWN0dXJlIChHU1RfQlVGRkVSX0NBUFMgKGJ1ZiksIDApOworICAg
IGZhaWxfdW5sZXNzX2VxdWFsc19zdHJpbmcgKGdzdF9zdHJ1Y3R1cmVfZ2V0X25hbWUgKGJ1ZmZl
cl9jYXBzX3N0cnVjdCksCisgICAgICAgICJ0ZXh0L3gtcGFuZ28tbWFya3VwIik7CisgIH0KKwor
ICB0ZWFyZG93bl9zdWJwYXJzZSAoKTsKK30KKwogR1NUX1NUQVJUX1RFU1QgKHRlc3Rfc3J0KQog
ewogICB0ZXN0X3NydF9kb190ZXN0IChzcnRfaW5wdXQsIDAsIEdfTl9FTEVNRU5UUyAoc3J0X2lu
cHV0KSk7CkBAIC0yNjIsNiArMzM1LDk2IEBAIEdTVF9TVEFSVF9URVNUICh0ZXN0X3NydCkKIAog
ICAvKiB0cnkgd2l0aCBmZXdlciB0aGFuIHRocmVlIHBvc3QtY29tbWEgZGlnaXRzLCBhbmQgc29t
ZSBleHRyYSBzcGFjZXMgKi8KICAgdGVzdF9zcnRfZG9fdGVzdCAoc3J0X2lucHV0MywgMCwgR19O
X0VMRU1FTlRTIChzcnRfaW5wdXQzKSk7CisKKyAgLyogdHJ5IHdpdGggc29tZSBXZWJWVFQgY2h1
bmtzICovCisgIHRlc3Rfc3J0X2RvX3Rlc3QgKHNydF9pbnB1dDQsIDAsIEdfTl9FTEVNRU5UUyAo
c3J0X2lucHV0NCkpOworfQorCitHU1RfRU5EX1RFU1Q7CisKKworR1NUX1NUQVJUX1RFU1QgKHRl
c3Rfd2VidnR0KQoreworICBTdWJQYXJzZUlucHV0Q2h1bmsgd2VidnR0X2lucHV0W10gPSB7Cisg
ICAgeworICAgICAgICAgICIxXG4wMDowMDowMS4wMDAgLS0+IDAwOjAwOjAyLjAwMCBEOnZlcnRp
Y2FsIFQ6NTAlXG5PbmVcblxuIiwKKyAgICAgICAgMSAqIEdTVF9TRUNPTkQsIDIgKiBHU1RfU0VD
T05ELCAiT25lIn0KKyAgICAsCisgICAgeworICAgICAgICAgICIxXG4wMDowMDowMS4wMDAgLS0+
IDAwOjAwOjAyLjAwMCBEOnZlcnRpY2FsICAgVDo1MCVcbk9uZVxuXG4iLAorICAgICAgICAxICog
R1NUX1NFQ09ORCwgMiAqIEdTVF9TRUNPTkQsICJPbmUifQorICAgICwKKyAgICB7CisgICAgICAg
ICAgIjFcbjAwOjAwOjAxLjAwMCAtLT4gMDA6MDA6MDIuMDAwIEQ6dmVydGljYWxcdFQ6NTAlXG5P
bmVcblxuIiwKKyAgICAgICAgMSAqIEdTVF9TRUNPTkQsIDIgKiBHU1RfU0VDT05ELCAiT25lIn0K
KyAgICAsCisgICAgeworICAgICAgICAgICIxXG4wMDowMDowMS4wMDAgLS0+IDAwOjAwOjAyLjAw
MCBEOnZlcnRpY2FsLWxyXG5PbmVcblxuIiwKKyAgICAgICAgMSAqIEdTVF9TRUNPTkQsIDIgKiBH
U1RfU0VDT05ELCAiT25lIn0KKyAgICAsCisgICAgeworICAgICAgICAgICIxXG4wMDowMDowMS4w
MDAgLS0+IDAwOjAwOjAyLjAwMCBMOi0xMjNcbk9uZVxuXG4iLAorICAgICAgICAxICogR1NUX1NF
Q09ORCwgMiAqIEdTVF9TRUNPTkQsICJPbmUifQorICAgICwKKyAgICB7CisgICAgICAgICAgIjFc
bjAwOjAwOjAxLjAwMCAtLT4gMDA6MDA6MDIuMDAwIEw6MTIzXG5PbmVcblxuIiwKKyAgICAgICAg
MSAqIEdTVF9TRUNPTkQsIDIgKiBHU1RfU0VDT05ELCAiT25lIn0KKyAgICAsCisgICAgeworICAg
ICAgICAgICIxXG4wMDowMDowMS4wMDAgLS0+IDAwOjAwOjAyLjAwMCBMOjEyJVxuT25lXG5cbiIs
CisgICAgICAgIDEgKiBHU1RfU0VDT05ELCAyICogR1NUX1NFQ09ORCwgIk9uZSJ9CisgICAgLAor
ICAgIHsKKyAgICAgICAgICAiMVxuMDA6MDA6MDEuMDAwIC0tPiAwMDowMDowMi4wMDAgTDoxMiUg
UzozNSUgQTpzdGFydFxuT25lXG5cbiIsCisgICAgICAgIDEgKiBHU1RfU0VDT05ELCAyICogR1NU
X1NFQ09ORCwgIk9uZSJ9CisgICAgLAorICAgIHsKKyAgICAgICAgICAiMVxuMDA6MDA6MDEuMDAw
IC0tPiAwMDowMDowMi4wMDAgQTptaWRkbGVcbk9uZVxuXG4iLAorICAgICAgICAxICogR1NUX1NF
Q09ORCwgMiAqIEdTVF9TRUNPTkQsICJPbmUifQorICAgICwKKyAgICB7CisgICAgICAgICAgIjFc
bjAwOjAwOjAxLjAwMCAtLT4gMDA6MDA6MDIuMDAwIEE6ZW5kXG5PbmVcblxuIiwKKyAgICAgICAg
MSAqIEdTVF9TRUNPTkQsIDIgKiBHU1RfU0VDT05ELCAiT25lIn0KKyAgICAsCisgICAgeworICAg
ICAgICAgICIxXG4wMDowMDowMS4wMDAgLS0+IDAwOjAwOjAyLjAwMFxuT25lICYgVHdvXG5cbiIs
CisgICAgICAgIDEgKiBHU1RfU0VDT05ELCAyICogR1NUX1NFQ09ORCwgIk9uZSAmYW1wOyBUd28i
fQorICAgICwKKyAgICB7CisgICAgICAgICAgIjFcbjAwOjAwOjAxLjAwMCAtLT4gMDA6MDA6MDIu
MDAwXG5PbmUgPCBUd29cblxuIiwKKyAgICAgICAgMSAqIEdTVF9TRUNPTkQsIDIgKiBHU1RfU0VD
T05ELCAiT25lICZsdDsgVHdvIn0KKyAgICAsCisgICAgeworICAgICAgICAgICIxXG4wMDowMDow
MS4wMDAgLS0+IDAwOjAwOjAyLjAwMFxuPHYgU3Bva2U+TGl2ZSBsb25nIGFuZCBwcm9zcGVyXG5c
biIsCisgICAgICAgIDEgKiBHU1RfU0VDT05ELCAyICogR1NUX1NFQ09ORCwgIjx2IFNwb2tlPkxp
dmUgbG9uZyBhbmQgcHJvc3Blcjwvdj4ifQorICAgICwKKyAgICB7CisgICAgICAgICAgIjFcbjAw
OjAwOjAxLjAwMCAtLT4gMDA6MDA6MDIuMDAwXG48diBUaGUgSm9rZXI+SEFIQUhBXG5cbiIsCisg
ICAgICAgIDEgKiBHU1RfU0VDT05ELCAyICogR1NUX1NFQ09ORCwgIjx2IFRoZSBKb2tlcj5IQUhB
SEE8L3Y+In0KKyAgICAsCisgICAgeworICAgICAgICAgICIxXG4wMDowMDowMS4wMDAgLS0+IDAw
OjAwOjAyLjAwMFxuPGMuc29tZWNsYXNzPnNvbWUgdGV4dFxuXG4iLAorICAgICAgICAxICogR1NU
X1NFQ09ORCwgMiAqIEdTVF9TRUNPTkQsICI8Yy5zb21lY2xhc3M+c29tZSB0ZXh0PC9jPiJ9Cisg
ICAgLAorICAgIHsKKyAgICAgICAgICAiMVxuMDA6MDA6MDEuMDAwIC0tPiAwMDowMDowMi4wMDBc
bjxiLmxvdWQ+c29tZSB0ZXh0XG5cbiIsCisgICAgICAgIDEgKiBHU1RfU0VDT05ELCAyICogR1NU
X1NFQ09ORCwgIjxiLmxvdWQ+c29tZSB0ZXh0PC9iPiJ9CisgICAgLAorICAgIHsKKyAgICAgICAg
ICAiMVxuMDA6MDA6MDEuMDAwIC0tPiAwMDowMDowMi4wMDBcbjxydWJ5PmJhc2UgdGV4dDxydD5h
bm5vdGF0aW9uPC9ydD48L3J1Ynk+XG5cbiIsCisgICAgICAgICAgMSAqIEdTVF9TRUNPTkQsIDIg
KiBHU1RfU0VDT05ELAorICAgICAgICAiPHJ1Ynk+YmFzZSB0ZXh0PHJ0PmFubm90YXRpb248L3J0
PjwvcnVieT4ifQorICAgICwKKyAgICB7CisgICAgICAgICAgIjFcbjAwOjAwOjAxLjAwMCAtLT4g
MDA6MDA6MDMuMDAwXG5PbmUuLi4gPDAwOjAwOjAwLDIwMD5Ud28uLi4gPDAwOjAwOjAwLDUwMD5U
aHJlZS4uLlxuXG4iLAorICAgICAgICAgIDEgKiBHU1RfU0VDT05ELCAzICogR1NUX1NFQ09ORCwK
KyAgICAgICAgIk9uZS4uLiAmbHQ7MDA6MDA6MDAsMjAwJmd0O1R3by4uLiAmbHQ7MDA6MDA6MDAs
NTAwJmd0O1RocmVlLi4uIn0KKyAgICAsCisgICAgeyIxXG4wMDowMDowMi4wMDAgLS0+IDAwOjAw
OjAzLjAwMFxuSGVsbG9cbldvcmxkXG5cbiIsCisgICAgICAgIDIgKiBHU1RfU0VDT05ELCAzICog
R1NUX1NFQ09ORCwgIkhlbGxvXG5Xb3JsZCJ9CisgICAgLAorICB9OworICB0ZXN0X3Z0dF9kb190
ZXN0ICh3ZWJ2dHRfaW5wdXQsIDAsIEdfTl9FTEVNRU5UUyAod2VidnR0X2lucHV0KSk7CiB9CiAK
IEdTVF9FTkRfVEVTVDsKQEAgLTY5Niw2ICs4NTksNyBAQCBzdWJwYXJzZV9zdWl0ZSAodm9pZCkK
ICAgc3VpdGVfYWRkX3RjYXNlIChzLCB0Y19jaGFpbik7CiAKICAgdGNhc2VfYWRkX3Rlc3QgKHRj
X2NoYWluLCB0ZXN0X3NydCk7CisgIHRjYXNlX2FkZF90ZXN0ICh0Y19jaGFpbiwgdGVzdF93ZWJ2
dHQpOwogICB0Y2FzZV9hZGRfdGVzdCAodGNfY2hhaW4sIHRlc3RfdG1wbGF5ZXJfbXVsdGlsaW5l
KTsKICAgdGNhc2VfYWRkX3Rlc3QgKHRjX2NoYWluLCB0ZXN0X3RtcGxheWVyX211bHRpbGluZV93
aXRoX2JvZ3VzX2xpbmVzKTsKICAgdGNhc2VfYWRkX3Rlc3QgKHRjX2NoYWluLCB0ZXN0X3RtcGxh
eWVyX3N0eWxlMSk7Ci0tIAoxLjcuMi4z
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82454</attachid>
            <date>2011-02-15 07:52:55 -0800</date>
            <delta_ts>2011-02-15 09:09:27 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>proposed-patch.patch</filename>
            <type>text/plain</type>
            <size>5620</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA2ZDNlZDE2N2JjNzhmYTg2Nzg1NDljOTM3MWZkMzM4NzQ2ODVmNDlkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBUdWUsIDE1IEZlYiAyMDExIDE2OjUzOjQyICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
cHJvcG9zZWQgcGF0Y2gKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDE5ICsrKysrKysrKysrKysrKysrKysKIExheW91dFRlc3RzL21l
ZGlhL2NvbnRyb2xzLWFmdGVyLXJlbG9hZC5odG1sICAgICAgIHwgICAyMCArKysrKysrKysrKyst
LS0tLS0tLQogTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tcGFpbnQtdGVzdC5qcyAgICAgICAgICAg
ICAgfCAgICA3ICsrKysrLS0KIExheW91dFRlc3RzL21lZGlhL3ZpZGVvLXZvbHVtZS1zbGlkZXIu
aHRtbCAgICAgICAgIHwgICAgNiArKysrLS0KIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lw
cGVkICAgICAgICAgICAgICAgICAgIHwgICAgNiAtLS0tLS0KIC4uLi9tZWRpYS92aWRlby1jb250
cm9scy1yZW5kZXJpbmctZXhwZWN0ZWQudHh0ICAgIHwgICAgMiArLQogNiBmaWxlcyBjaGFuZ2Vk
LCA0MSBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTU5YjQxNS4uZTc3
OTdlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTAyLTE1ICBQaGlsaXBwZSBOb3JtYW5k
ICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBbR1N0cmVhbWVyXSB3cm9uZyBtZWRpYSBkdXJhdGlvbiByZXBvcnQg
aW4gbWVkaWEvY29udHJvbHMtYWZ0ZXItcmVsb2FkLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNjAyCisKKyAgICAgICAgUmVmYWN0b3JlZCBz
b21lIG1lZGlhIHRlc3RzIHRvIGJlIGxlc3MgZmxha3ktcHJvbmUuCisKKyAgICAgICAgKiBtZWRp
YS9jb250cm9scy1hZnRlci1yZWxvYWQuaHRtbDogVHJpZ2dlciBwbGF5YmFjayBqdXN0IGJlZm9y
ZQorICAgICAgICByZW5kZXJpbmcgdGhlIGNvbnRyb2xzLgorICAgICAgICAqIG1lZGlhL3ZpZGVv
LXBhaW50LXRlc3QuanM6IERpdHRvLgorICAgICAgICAoaW5pdC5kb2N1bWVudC5hZGRFdmVudExp
c3RlbmVyLik6CisgICAgICAgIChpbml0KToKKyAgICAgICAgKiBtZWRpYS92aWRlby12b2x1bWUt
c2xpZGVyLmh0bWw6IFRyaWdnZXIgRFJUIGR1bXAgYWZ0ZXIgdm9sdW1lCisgICAgICAgIHdhcyB1
cGRhdGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVkOiBVbnNraXAgZml4ZWQgdGVz
dHMuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL21lZGlhL3ZpZGVvLWNvbnRyb2xzLXJlbmRlcmlu
Zy1leHBlY3RlZC50eHQ6CisKIDIwMTEtMDItMTUgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9jb250cm9scy1hZnRlci1yZWxvYWQuaHRtbCBi
L0xheW91dFRlc3RzL21lZGlhL2NvbnRyb2xzLWFmdGVyLXJlbG9hZC5odG1sCmluZGV4IGUyMzA2
YjUuLjQ5OTgyMzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL2NvbnRyb2xzLWFmdGVy
LXJlbG9hZC5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2NvbnRyb2xzLWFmdGVyLXJlbG9h
ZC5odG1sCkBAIC04LDE3ICs4LDIxIEBACiAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogCisg
ICAgZnVuY3Rpb24gZmluaXNoKCkKKyAgICB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CisgICAgfQorCiAgICAgZnVuY3Rpb24gY2FucGxheXRocm91Z2goKQogICAgIHsKLSAgICAg
ICAgbG9hZGVkQ291bnQrKzsKLSAgICAgICAgaWYgKGxvYWRlZENvdW50ID09IDIpIHsKLSAgICAg
ICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICBpZiAoIWxvYWRlZENvdW50KSB7CisgICAgICAgICAgICB2aWRlby5zcmMgPSBmaW5k
TWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKTsKKyAgICAgICAgICAgIHZpZGVvLmxv
YWQoKTsKKyAgICAgICAgICAgIHZpZGVvLnBsYXkoKTsKKyAgICAgICAgICAgIHZpZGVvLmFkZEV2
ZW50TGlzdGVuZXIoInBsYXlpbmciLCBmaW5pc2gpOwogICAgICAgICB9Ci0gICAgICAgIAotICAg
ICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCJ2aWRlbyIsICJjb250ZW50L3Rlc3QiKTsK
LSAgICAgICAgdmlkZW8ubG9hZCgpOworICAgICAgICBsb2FkZWRDb3VudCsrOwogICAgIH0KIAog
ICAgIGZ1bmN0aW9uIHRlc3QoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
cGFpbnQtdGVzdC5qcyBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXBhaW50LXRlc3QuanMKaW5k
ZXggMTM0YTAxMy4uMDY0NjQ2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8t
cGFpbnQtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby1wYWludC10ZXN0Lmpz
CkBAIC00LDkgKzQsMTIgQEAgZnVuY3Rpb24gaW5pdCgpCiAgICAgdmFyIGNvdW50ID0gdG90YWxD
b3VudDsKICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjYW5wbGF5dGhyb3VnaCIsIGZ1
bmN0aW9uICgpIHsKICAgICAgICAgaWYgKCEtLWNvdW50KSB7CisgICAgICAgICAgICB2YXIgdmlk
ZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgndmlkZW8nKVswXTsKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICB2
aWRlby5wbGF5KCk7CisgICAgICAgICAgICAgICAgdmlkZW8uYWRkRXZlbnRMaXN0ZW5lcigicGxh
eWluZyIsIGZ1bmN0aW9uKCkgeyBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7IH0p
OworICAgICAgICAgICAgfQogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRMZWZ0Owot
ICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAg
ICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7IH0sIHRvdGFsQ291bnQgKiAxMDApOwogICAgICAgICB9CiAgICAgfSwgdHJ1ZSk7CiB9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby12b2x1bWUtc2xpZGVyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9tZWRpYS92aWRlby12b2x1bWUtc2xpZGVyLmh0bWwKaW5kZXggZDZlNjI2
MC4uY2E4ZDdjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvdmlkZW8tdm9sdW1lLXNs
aWRlci5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlhL3ZpZGVvLXZvbHVtZS1zbGlkZXIuaHRt
bApAQCAtMjQsOCArMjQsMTAgQEAKICAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbyh4LCB5KTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7CisgICAgICAgICAgICB2aWRlby5hZGRFdmVudExpc3RlbmVyKCJ2b2x1bWVj
aGFuZ2UiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAgPC9zY3JpcHQ+
CiA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDQxNjIzZDkuLjk1Mzc0ODcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0zNDEsMTMgKzM0MSw3IEBAIG1lZGlhL3Zp
ZGVvLXNlZWstcGFzdC1lbmQtcGxheWluZy5odG1sCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMDE5OAogbWVkaWEvdmlkZW8tc291cmNlLWVycm9yLmh0bWwKIAot
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE2MDIKLW1lZGlhL2Nv
bnRyb2xzLWFmdGVyLXJlbG9hZC5odG1sCi1tZWRpYS9jb250cm9scy1zdHJpY3QuaHRtbAogbWVk
aWEvdmlkZW8tZGlzcGxheS10b2dnbGUuaHRtbAotbWVkaWEvY29udHJvbHMtc3R5bGluZy5odG1s
Ci1tZWRpYS92aWRlby12b2x1bWUtc2xpZGVyLmh0bWwKLW1lZGlhL3ZpZGVvLWNvbnRyb2xzLXJl
bmRlcmluZy5odG1sCiAKICMgICBUZXN0cyBnZW5lcmF0aW5nIG5ldyByZXN1bHRzCiBtZWRpYS92
aWRlby1hc3BlY3QtcmF0aW8uaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL21lZGlhL3ZpZGVvLWNvbnRyb2xzLXJlbmRlcmluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvbWVkaWEvdmlkZW8tY29udHJvbHMtcmVuZGVyaW5nLWV4cGVjdGVk
LnR4dAppbmRleCA3ZTg2MDdkLi43OTczYThkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvbWVkaWEvdmlkZW8tY29udHJvbHMtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvbWVkaWEvdmlkZW8tY29udHJvbHMtcmVuZGVyaW5n
LWV4cGVjdGVkLnR4dApAQCAtMjYsNyArMjYsNyBAQCBsYXllciBhdCAoOCw0Mykgc2l6ZSAzMjB4
MjQwIHNjcm9sbEhlaWdodCAyNTAKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUs
NSkgc2l6ZSA1NXgxMgogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUsNSkgd2lkdGggNTU6ICIw
MDowMCAvIDAwOjA2IgogICAgICAgUmVuZGVyU2xpZGVyIHtJTlBVVH0gYXQgKDY2LDApIHNpemUg
MTUzeDIwCi0gICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDQpIHNpemUgMTJ4MTIKKyAg
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDcsNCkgc2l6ZSAxMngxMgogICAgIFJlbmRlckJ1
dHRvbiB7SU5QVVR9IGF0ICgyNDAsMjIwKSBzaXplIDIweDIwCiAgICAgUmVuZGVyQnV0dG9uIHtJ
TlBVVH0gYXQgKDI2MCwyMjApIHNpemUgMjB4MjAKICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBh
dCAoMjgwLDIyMCkgc2l6ZSAyMHgyMAotLSAKMS43LjIuMw==
</data>
<flag name="review"
          id="74127"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>