<?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>109915</bug_id>
          
          <creation_ts>2013-02-15 02:07:40 -0800</creation_ts>
          <short_desc>Web Inspector: Several consecutive Backspace or Delete strikes should not be marked as undoable state.</short_desc>
          <delta_ts>2013-02-15 08:55:40 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>833814</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-02-15 02:07:40 -0800</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833817</commentid>
    <comment_count>1</comment_count>
      <attachid>188517</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-02-15 02:15:30 -0800</bug_when>
    <thetext>Created attachment 188517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833858</commentid>
    <comment_count>2</comment_count>
      <attachid>188517</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-02-15 03:37:39 -0800</bug_when>
    <thetext>Comment on attachment 188517
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=188517&amp;action=review

&gt; Source/WebCore/inspector/front-end/TextEditorModel.js:288
&gt; +            if (this._lastCommand.newRange.endLine === range.startLine &amp;&amp; this._lastCommand.newRange.endColumn === range.startColumn)

This looks like a utility method (TextRange.prototypes.isSiblingRange)

&gt; Source/WebCore/inspector/front-end/TextEditorModel.js:298
&gt; +        if (text.length &gt; 1 || text === &quot;\n&quot;)

Due to the editRangeLogic, even single key press can result in a text.length &gt; 1 (and I can imagine coalescing events that are converted into single editRange). Could we simplify this whole heuristics?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833868</commentid>
    <comment_count>3</comment_count>
      <attachid>188517</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-02-15 03:55:15 -0800</bug_when>
    <thetext>Comment on attachment 188517
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=188517&amp;action=review

&gt; Source/WebCore/inspector/front-end/TextEditorModel.js:256
&gt; +    _rangeHasOneCharacter: function(range)

Move to text range prototype.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834031</commentid>
    <comment_count>4</comment_count>
      <attachid>188572</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-02-15 07:57:09 -0800</bug_when>
    <thetext>Created attachment 188572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834036</commentid>
    <comment_count>5</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2013-02-15 08:00:46 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 188517 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=188517&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/TextEditorModel.js:256
&gt; &gt; +    _rangeHasOneCharacter: function(range)
&gt; 
&gt; Move to text range prototype.

It&apos;s not really possible since it depends on the line length.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834054</commentid>
    <comment_count>6</comment_count>
      <attachid>188572</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-02-15 08:35:42 -0800</bug_when>
    <thetext>Comment on attachment 188572
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=188572&amp;action=review

&gt; Source/WebCore/inspector/front-end/TextEditorModel.js:278
&gt; +    _rangeHasOneCharacter: function(range)

This could be even public :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834069</commentid>
    <comment_count>7</comment_count>
      <attachid>188572</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 08:55:36 -0800</bug_when>
    <thetext>Comment on attachment 188572
Patch

Clearing flags on attachment: 188572

Committed r143005: &lt;http://trac.webkit.org/changeset/143005&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834070</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 08:55:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188517</attachid>
            <date>2013-02-15 02:15:30 -0800</date>
            <delta_ts>2013-02-15 07:57:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109915-20130215141156.patch</filename>
            <type>text/plain</type>
            <size>15366</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTEwZjhmNzMyMTUxNWU1
NmM3ZWI4NTc1M2JhM2NlNzUxODE3YTgyMi4uN2E0ZWZjZmE2OGM5YmQ0NjViZTkyZjgyYjg2YjUy
YTExOTI2MGI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDEzLTAyLTE1ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFNldmVyYWwgY29uc2VjdXRpdmUgQmFja3NwYWNlIG9yIERlbGV0ZSBzdHJpa2VzIHNob3Vs
ZCBub3QgYmUgbWFya2VkIGFzIHVuZG9hYmxlIHN0YXRlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5OTE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0cmFjdGVkIF9zaG91bGRNYXJrVW5kb2FibGVT
dGF0ZSgpIGluIFRleHRFZGl0b3JNb2RlbCB0byBkZXRlY3QgaWYgbWFya1VuZG9hYmxlU3RhdGUo
KSBjYWxsIGlzIG5lZWRlZC4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGV4dEVk
aXRvck1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbC5lbmRz
V2l0aEJyYWNrZXRSZWdleC4pOgorCisyMDEzLTAyLTE1ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2
aWtAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFBhc3Mgb3JpZ2luYWwg
c2VsZWN0aW9uIHRvIHRleHRNb2RlbCB0byBjb3JyZWN0bHkgcmVzdG9yZSBpdCBhZnRlciB1bmRv
LgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5OTEx
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dEVk
aXRvck1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRp
dG9yTW9kZWwuanMKaW5kZXggZjhiYjczMjExYjAzOGY5N2VmMmU0MWE4OTkyMzVmZDlhYzY2Njhm
OS4uNzlhYzUyMDFkMjUyODg4NjM2YmVkNmZkYjAyYTFlMGI1OWE4Mjk3NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9yTW9kZWwuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0RWRpdG9yTW9kZWwuanMK
QEAgLTI1MSwxMyArMjUxLDY4IEBAIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwucHJvdG90
eXBlID0gewogCiAgICAgLyoqCiAgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGV4dFJhbmdl
fSByYW5nZQorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgX3JhbmdlSGFz
T25lQ2hhcmFjdGVyOiBmdW5jdGlvbihyYW5nZSkKKyAgICB7CisgICAgICAgIGlmIChyYW5nZS5z
dGFydExpbmUgPT09IHJhbmdlLmVuZExpbmUgJiYgcmFuZ2UuZW5kQ29sdW1uIC0gcmFuZ2Uuc3Rh
cnRDb2x1bW4gPT09IDEpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgaWYgKHJh
bmdlLmVuZExpbmUgLSByYW5nZS5zdGFydExpbmUgPT09IDEgJiYgcmFuZ2UuZW5kQ29sdW1uID09
PSAwICYmIHJhbmdlLnN0YXJ0Q29sdW1uID09PSB0aGlzLmxpbmVMZW5ndGgocmFuZ2Uuc3RhcnRM
aW5lKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRleHRSYW5nZX0g
cmFuZ2UKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dAorICAgICAqIEByZXR1cm4ge2Jvb2xl
YW59CisgICAgICovCisgICAgX3Nob3VsZE1hcmtVbmRvYWJsZVN0YXRlOiBmdW5jdGlvbihyYW5n
ZSwgdGV4dCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5fbGFzdENvbW1hbmQpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIC8vIFRoZXJlIHdhcyBub24tZW1wdHkgc2VsZWN0
aW9uIGJlZm9yZSBwcmV2aW91cyBjb21tYW5kLgorICAgICAgICBpZiAoIXRoaXMuX2xhc3RDb21t
YW5kLm9yaWdpbmFsU2VsZWN0aW9uLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICAvLyBUaGVyZSBhcmUgYm90aCBlcmFzZWQgYW5kIGFkZGVkIGNoYXJhY3RlcnMu
CisgICAgICAgIGlmICghcmFuZ2UuaXNFbXB0eSgpICYmIHRleHQpCisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgLy8gRmlyc3QgY2FzZTogY2hhcmFjdGVycyB3ZXJlIGVyYXNlZC4K
KyAgICAgICAgaWYgKCF0ZXh0KSB7CisgICAgICAgICAgICAvLyBQcmV2aW91cyBjb21tYW5kIGFk
ZGVkIGNoYXJhY3RlcnMgb3IgZXJhc2VkIG1vcmUgdGhhbiBvbmUgY2hhcmFjdGVyLgorICAgICAg
ICAgICAgaWYgKCF0aGlzLl9sYXN0Q29tbWFuZC5uZXdSYW5nZS5pc0VtcHR5KCkgfHwgdGhpcy5f
bGFzdENvbW1hbmQub3JpZ2luYWxUZXh0Lmxlbmd0aCA+IDEpCisgICAgICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgICAgICBpZiAoIXRoaXMuX3JhbmdlSGFzT25lQ2hhcmFjdGVyKHJh
bmdlKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIC8vIEZJWE1F
OiBEaXN0aW5ndWlzaCBiYWNrc3BhY2UgYW5kIGRlbGV0ZSBpbiBsYXN0Q29tbWFuZC4KKyAgICAg
ICAgICAgIGlmICh0aGlzLl9sYXN0Q29tbWFuZC5uZXdSYW5nZS5lbmRMaW5lID09PSByYW5nZS5z
dGFydExpbmUgJiYgdGhpcy5fbGFzdENvbW1hbmQubmV3UmFuZ2UuZW5kQ29sdW1uID09PSByYW5n
ZS5zdGFydENvbHVtbikKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAg
ICBpZiAodGhpcy5fbGFzdENvbW1hbmQubmV3UmFuZ2UuZW5kTGluZSA9PT0gcmFuZ2UuZW5kTGlu
ZSAmJiB0aGlzLl9sYXN0Q29tbWFuZC5uZXdSYW5nZS5lbmRDb2x1bW4gPT09IHJhbmdlLmVuZENv
bHVtbikKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgfQorICAgICAgICAvLyBTZWNvbmQgY2FzZTogY2hhcmFjdGVycyB3ZXJl
IGFkZGVkLgorICAgICAgICAvLyBQcmV2aW91cyBjb21tYW5kIGVyYXNlZCBjaGFyYWN0ZXJzIG9y
IGFkZGVkIG1vcmUgdGhhbiBvbmUgY2hhcmFjdGVyLgorICAgICAgICBpZiAodGhpcy5fbGFzdENv
bW1hbmQub3JpZ2luYWxUZXh0IHx8ICF0aGlzLl9yYW5nZUhhc09uZUNoYXJhY3Rlcih0aGlzLl9s
YXN0Q29tbWFuZC5uZXdSYW5nZSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
aWYgKHRleHQubGVuZ3RoID4gMSB8fCB0ZXh0ID09PSAiXG4iKQorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgIGlmICh0aGlzLl9sYXN0Q29tbWFuZC5uZXdSYW5nZS5lbmRMaW5lID09
PSByYW5nZS5zdGFydExpbmUgJiYgdGhpcy5fbGFzdENvbW1hbmQubmV3UmFuZ2UuZW5kQ29sdW1u
ID09PSByYW5nZS5zdGFydENvbHVtbikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5z
cGVjdG9yLlRleHRSYW5nZX0gcmFuZ2UKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dAogICAg
ICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRleHRSYW5nZT19IG9yaWdpbmFsU2VsZWN0aW9uCiAg
ICAgICogQHJldHVybiB7V2ViSW5zcGVjdG9yLlRleHRSYW5nZX0KICAgICAgKi8KICAgICBlZGl0
UmFuZ2U6IGZ1bmN0aW9uKHJhbmdlLCB0ZXh0LCBvcmlnaW5hbFNlbGVjdGlvbikKICAgICB7ICAg
Ci0gICAgICAgIGlmICh0aGlzLl9sYXN0RWRpdGVkUmFuZ2UgJiYgKCF0ZXh0IHx8IHRleHQuaW5k
ZXhPZigiXG4iKSAhPT0gLTEgfHwgdGhpcy5fbGFzdEVkaXRlZFJhbmdlLmVuZExpbmUgIT09IHJh
bmdlLnN0YXJ0TGluZSB8fCB0aGlzLl9sYXN0RWRpdGVkUmFuZ2UuZW5kQ29sdW1uICE9PSByYW5n
ZS5zdGFydENvbHVtbikpCisgICAgICAgIGlmIChyYW5nZS5pc0VtcHR5KCkgJiYgIXRleHQpCisg
ICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgaWYgKHRoaXMuX3Nob3VsZE1hcmtVbmRv
YWJsZVN0YXRlKHJhbmdlLCB0ZXh0KSkKICAgICAgICAgICAgIHRoaXMuX21hcmtVbmRvYWJsZVN0
YXRlKCk7CiAgICAgICAgIHJldHVybiB0aGlzLl9pbm5lckVkaXRSYW5nZShyYW5nZSwgdGV4dCwg
b3JpZ2luYWxTZWxlY3Rpb24pOwogICAgIH0sCkBAIC0yNzIsOCArMzI3LDcgQEAgV2ViSW5zcGVj
dG9yLlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgb3Jp
Z2luYWxUZXh0ID0gdGhpcy5jb3B5UmFuZ2UocmFuZ2UpOwogICAgICAgICB2YXIgbmV3UmFuZ2Ug
PSB0aGlzLl9pbm5lclNldFRleHQocmFuZ2UsIHRleHQpOwotICAgICAgICB0aGlzLl9sYXN0RWRp
dGVkUmFuZ2UgPSBuZXdSYW5nZTsKLSAgICAgICAgdGhpcy5fcHVzaFVuZG9hYmxlQ29tbWFuZChu
ZXdSYW5nZSwgb3JpZ2luYWxUZXh0LCBvcmlnaW5hbFNlbGVjdGlvbiB8fCByYW5nZSk7CisgICAg
ICAgIHRoaXMuX2xhc3RDb21tYW5kID0gdGhpcy5fcHVzaFVuZG9hYmxlQ29tbWFuZChuZXdSYW5n
ZSwgb3JpZ2luYWxUZXh0LCBvcmlnaW5hbFNlbGVjdGlvbiB8fCByYW5nZSk7CiAgICAgICAgIHRo
aXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwu
RXZlbnRzLlRleHRDaGFuZ2VkLCB7IG9sZFJhbmdlOiByYW5nZSwgbmV3UmFuZ2U6IG5ld1Jhbmdl
LCBlZGl0UmFuZ2U6IHRydWUgfSk7CiAgICAgICAgIHJldHVybiBuZXdSYW5nZTsKICAgICB9LApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDEzMWI1ZGJjYzJmZjQwYTQ2MDhiMDc4YWM4NmU0NmNhYTQ3YjZkOTMuLjEyZDMxNDk0
NTRjMGY2MjUwZjY3NDdkZjI2MTcwYzRmYzk4ZDNjZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBAQAog
MjAxMy0wMi0xNSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAorICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBTZXZlcmFsIGNvbnNlY3V0aXZlIEJhY2tzcGFjZSBvciBEZWxl
dGUgc3RyaWtlcyBzaG91bGQgbm90IGJlIG1hcmtlZCBhcyB1bmRvYWJsZSBzdGF0ZS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTkxNQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2Vk
aXRvci90ZXh0LWVkaXRvci11bmRvLXJlZG8tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGluc3Bl
Y3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItdW5kby1yZWRvLmh0bWw6CisKKzIwMTMtMDItMTUgIFZz
ZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogUGFzcyBvcmlnaW5hbCBzZWxlY3Rpb24gdG8gdGV4dE1vZGVsIHRvIGNvcnJlY3RseSBy
ZXN0b3JlIGl0IGFmdGVyIHVuZG8uCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDk5MTEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2VkaXRvci90ZXh0LWVkaXRvci11bmRvLXJlZG8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci11bmRvLXJlZG8tZXhwZWN0ZWQudHh0CmluZGV4
IDI1M2Q1MDM0Y2I3MDRkZjRkZjIzOWMwZDkzNjAyN2ZiOGQxZTk5MDguLjAyYjA4NzIyNTMzMGJk
YmI4MjBlMTU1OWE0NTNjZWQ5YWIwNmMxYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItdW5kby1yZWRvLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLXVuZG8tcmVkby1leHBlY3RlZC50
eHQKQEAgLTEzNCw2ICsxMzQsMjY2IEBAIGZ1bmN0aW9uIGZvbygpCiB9CiAKIAorUnVubmluZzog
dGVzdERlbGV0ZQorVGV4dCBiZWZvcmUgZWRpdDoKK2Z1bmN0aW9uIGZvbygpCit7CisKK30KKwor
VGV4dCBhZnRlciBlZGl0OgorZnVuY3Rpb24gZm9vKCkKK3sKKyAgICBiYXIoKTsKKyAgICBiYXoo
KTsKKyAgICBmb28oKTt8Cit9CisKK1RleHQgYWZ0ZXIgZGVsZXRlczoKK2Z1bmN0aW9uIGZvbygp
Cit7Cit8Cit9CisKK1RleHQgYWZ0ZXIgZmlyc3QgdW5kbzoKK2Z1bmN0aW9uIGZvbygpCit7Cit8
ICAgIGJhcigpOworICAgIGJheigpOworICAgIGZvbygpOworfQorCitUZXh0IGFmdGVyIHNlY29u
ZCB1bmRvOgorZnVuY3Rpb24gZm9vKCkKK3sKKyAgICBiYXIoKTsKKyAgICBiYXooKTt8Cit9CisK
K1RleHQgYWZ0ZXIgZmlyc3QgcmVkbzoKK2Z1bmN0aW9uIGZvbygpCit7CisgICAgYmFyKCk7Cisg
ICAgYmF6KCk7CisgICAgZm9vKCk7fAorfQorCitUZXh0IGFmdGVyIHNlY29uZCByZWRvOgorZnVu
Y3Rpb24gZm9vKCkKK3sKK3wKK30KKworCitSdW5uaW5nOiB0ZXN0QmFja3NwYWNlCitUZXh0IGJl
Zm9yZSBlZGl0OgorZnVuY3Rpb24gZm9vKCkKK3sKKworfQorCitUZXh0IGFmdGVyIGVkaXQ6Citm
dW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOworICAgIGJheigpOworICAgIGZvbygpO3wKK30K
KworVGV4dCBhZnRlciBiYWNrc3BhY2VzOgorZnVuY3Rpb24gZm9vKCkKK3sKK3wKK30KKworVGV4
dCBhZnRlciBmaXJzdCB1bmRvOgorZnVuY3Rpb24gZm9vKCkKK3sKKyAgICBiYXIoKTsKKyAgICBi
YXooKTsKKyAgICBmb28oKTt8Cit9CisKK1RleHQgYWZ0ZXIgc2Vjb25kIHVuZG86CitmdW5jdGlv
biBmb28oKQoreworICAgIGJhcigpOworICAgIGJheigpO3wKK30KKworVGV4dCBhZnRlciBmaXJz
dCByZWRvOgorZnVuY3Rpb24gZm9vKCkKK3sKKyAgICBiYXIoKTsKKyAgICBiYXooKTsKKyAgICBm
b28oKTt8Cit9CisKK1RleHQgYWZ0ZXIgc2Vjb25kIHJlZG86CitmdW5jdGlvbiBmb28oKQorewor
fAorfQorCisKK1J1bm5pbmc6IHRlc3RCYWNrc3BhY2VBbmREZWxldGVJbkRpZmZlcmVudExpbmVz
CitUZXh0IGJlZm9yZSBlZGl0OgorZnVuY3Rpb24gZm9vKCkKK3sKKworfQorCitUZXh0IGFmdGVy
IGVkaXQ6CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOworICAgIGJheigpOworICAgIGZv
bygpO3wKK30KKworVGV4dCBhZnRlciBiYWNrc3BhY2U6CitmdW5jdGlvbiBmb28oKQoreworICAg
IGJhcigpOworICAgIGJheigpOworICAgIGZvbygpfAorfQorCitUZXh0IGFmdGVyIGRlbGV0ZToK
K2Z1bmN0aW9uIGZvbygpCit7Cit8ICAgYmFyKCk7CisgICAgYmF6KCk7CisgICAgZm9vKCkKK30K
KworVGV4dCBhZnRlciBmaXJzdCB1bmRvOgorZnVuY3Rpb24gZm9vKCkKK3sKK3wgICAgYmFyKCk7
CisgICAgYmF6KCk7CisgICAgZm9vKCkKK30KKworVGV4dCBhZnRlciBzZWNvbmQgdW5kbzoKK2Z1
bmN0aW9uIGZvbygpCit7CisgICAgYmFyKCk7CisgICAgYmF6KCk7CisgICAgZm9vKCk7fAorfQor
CitUZXh0IGFmdGVyIHRoaXJkIHVuZG86CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOwor
ICAgIGJheigpO3wKK30KKworVGV4dCBhZnRlciBmaXJzdCByZWRvOgorZnVuY3Rpb24gZm9vKCkK
K3sKKyAgICBiYXIoKTsKKyAgICBiYXooKTsKKyAgICBmb28oKTt8Cit9CisKK1RleHQgYWZ0ZXIg
c2Vjb25kIHJlZG86CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOworICAgIGJheigpOwor
ICAgIGZvbygpfAorfQorCitUZXh0IGFmdGVyIHRoaXJkIHJlZG86CitmdW5jdGlvbiBmb28oKQor
eworfCAgIGJhcigpOworICAgIGJheigpOworICAgIGZvbygpCit9CisKKworUnVubmluZzogdGVz
dFBhc3RlU2V2ZXJhbFRpbWVzCitUZXh0IGJlZm9yZSBlZGl0OgorZnVuY3Rpb24gZm9vKCkKK3sK
KworfQorCitUZXh0IGFmdGVyIGVkaXQ6CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOwor
ICAgIGJheigpOworICAgIGZvbygpO3wKK30KKworVGV4dCBhZnRlciBmaXJzdCBwYXN0ZToKK2Z1
bmN0aW9uIGZvbygpCit7CisgICAgYmFyKCk7CisgICAgYmF6KCk7CisgICAgZm9vKCk7NDJ8Cit9
CisKK1RleHQgYWZ0ZXIgc2Vjb25kIHBhc3RlOgorZnVuY3Rpb24gZm9vKCkKK3sKKyAgICBiYXIo
KTsKKyAgICBiYXooKTsKKyAgICBmb28oKTs0MjQyfAorfQorCitUZXh0IGFmdGVyIGZpcnN0IHVu
ZG86CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOworICAgIGJheigpOworICAgIGZvbygp
OzQyfAorfQorCitUZXh0IGFmdGVyIHNlY29uZCB1bmRvOgorZnVuY3Rpb24gZm9vKCkKK3sKKyAg
ICBiYXIoKTsKKyAgICBiYXooKTsKKyAgICBmb28oKTt8Cit9CisKK1RleHQgYWZ0ZXIgdGhpcmQg
dW5kbzoKK2Z1bmN0aW9uIGZvbygpCit7CisgICAgYmFyKCk7CisgICAgYmF6KCk7fAorfQorCitU
ZXh0IGFmdGVyIGZpcnN0IHJlZG86CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOworICAg
IGJheigpOworICAgIGZvbygpO3wKK30KKworVGV4dCBhZnRlciBzZWNvbmQgcmVkbzoKK2Z1bmN0
aW9uIGZvbygpCit7CisgICAgYmFyKCk7CisgICAgYmF6KCk7CisgICAgZm9vKCk7NDJ8Cit9CisK
K1RleHQgYWZ0ZXIgdGhpcmQgcmVkbzoKK2Z1bmN0aW9uIGZvbygpCit7CisgICAgYmFyKCk7Cisg
ICAgYmF6KCk7CisgICAgZm9vKCk7NDI0MnwKK30KKworCiBSdW5uaW5nOiB0ZXN0U2VsZWN0aW9u
QWZ0ZXJVbmRvUmVkbwogVGV4dCBiZWZvcmUgZWRpdDoKIGZ1bmN0aW9uIGZvbygpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLXVuZG8tcmVkby5o
dG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci11bmRvLXJlZG8u
aHRtbAppbmRleCBkMTA0NzE0NjI3YTJlMGM2Nzk4ZmIwMjg4YmM4N2YwYzM4NzI0ZmFkLi5kOTI5
MWExMTMwOTgxYmZjNzAwMmU1YjI3M2EyZWVkNmU1OWUwYWY1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLXVuZG8tcmVkby5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItdW5kby1yZWRvLmh0bWwKQEAg
LTE5LDYgKzE5LDE3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICByZXR1cm4gcmFuZ2U7CiAg
ICAgfQogCisgICAgZnVuY3Rpb24gdHlwZURlbGV0ZSh0ZXh0TW9kZWwsIHN0YXJ0UmFuZ2UsIGNv
dW50KQorICAgIHsKKyAgICAgICAgdmFyIGNvdW50ID0gY291bnQgfHwgMTsKKyAgICAgICAgdmFy
IHJhbmdlID0gc3RhcnRSYW5nZTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3VudDsg
KytpKSB7CisgICAgICAgICAgICB2YXIgZGVsZXRlUmFuZ2UgPSByYW5nZS5pc0VtcHR5KCkgPyB0
ZXh0TW9kZWwuZ3Jvd1JhbmdlUmlnaHQocmFuZ2UpIDogcmFuZ2U7CisgICAgICAgICAgICByYW5n
ZSA9IHRleHRNb2RlbC5lZGl0UmFuZ2UoZGVsZXRlUmFuZ2UsICIiLCByYW5nZSkuY29sbGFwc2VU
b0VuZCgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiByYW5nZTsKKyAgICB9CisKICAgICBm
dW5jdGlvbiB0eXBlQmFja3NwYWNlKHRleHRNb2RlbCwgc3RhcnRSYW5nZSwgY291bnQpCiAgICAg
ewogICAgICAgICB2YXIgY291bnQgPSBjb3VudCB8fCAxOwpAQCAtODgsNiArOTksMTAyIEBAIGZ1
bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICB9LAogCisgICAgICAg
IGZ1bmN0aW9uIHRlc3REZWxldGUobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHRl
eHRNb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsKCk7CisgICAgICAgICAg
ICB2YXIgZnVuY3Rpb25UZXh0ID0gIiAgICBiYXIoKTtcbiAgICBiYXooKTtcbiAgICBmb28oKTsi
OworICAgICAgICAgICAgdGV4dE1vZGVsLnNldFRleHQoImZ1bmN0aW9uIGZvbygpXG57XG5cbn1c
biIpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBiZWZvcmUgZWRpdDpcbiIsIHRl
eHRNb2RlbCk7CisgICAgICAgICAgICB2YXIgcmFuZ2UgPSB0eXBlVGV4dCh0ZXh0TW9kZWwsIG5l
dyBXZWJJbnNwZWN0b3IuVGV4dFJhbmdlKDIsIDAsIDIsIDApLCAiICAgIGJhcigpO1xuICAgIGJh
eigpO1xuICAgIGZvbygpOyIpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRl
ciBlZGl0OlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHR5cGVE
ZWxldGUodGV4dE1vZGVsLCBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgyLCAwLCAyLCAwKSwg
ZnVuY3Rpb25UZXh0Lmxlbmd0aCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFm
dGVyIGRlbGV0ZXM6XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIHJhbmdlID0g
dGV4dE1vZGVsLnVuZG8oKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYWZ0ZXIg
Zmlyc3QgdW5kbzpcbiIsIHRleHRNb2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2UgPSB0
ZXh0TW9kZWwudW5kbygpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRlciBz
ZWNvbmQgdW5kbzpcbiIsIHRleHRNb2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2UgPSB0
ZXh0TW9kZWwucmVkbygpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRlciBm
aXJzdCByZWRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHRl
eHRNb2RlbC5yZWRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIHNl
Y29uZCByZWRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICBuZXh0KCk7Cisg
ICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdEJhY2tzcGFjZShuZXh0KQorICAgICAg
ICB7CisgICAgICAgICAgICB2YXIgdGV4dE1vZGVsID0gbmV3IFdlYkluc3BlY3Rvci5UZXh0RWRp
dG9yTW9kZWwoKTsKKyAgICAgICAgICAgIHZhciBmdW5jdGlvblRleHQgPSAiICAgIGJhcigpO1xu
ICAgIGJheigpO1xuICAgIGZvbygpOyI7CisgICAgICAgICAgICB0ZXh0TW9kZWwuc2V0VGV4dCgi
ZnVuY3Rpb24gZm9vKClcbntcblxufVxuIik7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJU
ZXh0IGJlZm9yZSBlZGl0OlxuIiwgdGV4dE1vZGVsKTsKKyAgICAgICAgICAgIHZhciByYW5nZSA9
IHR5cGVUZXh0KHRleHRNb2RlbCwgbmV3IFdlYkluc3BlY3Rvci5UZXh0UmFuZ2UoMiwgMCwgMiwg
MCksICIgICAgYmFyKCk7XG4gICAgYmF6KCk7XG4gICAgZm9vKCk7Iik7CisgICAgICAgICAgICBk
dW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIGVkaXQ6XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAg
ICAgICAgICAgIHJhbmdlID0gdHlwZUJhY2tzcGFjZSh0ZXh0TW9kZWwsIHJhbmdlLCBmdW5jdGlv
blRleHQubGVuZ3RoKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYWZ0ZXIgYmFj
a3NwYWNlczpcbiIsIHRleHRNb2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2UgPSB0ZXh0
TW9kZWwudW5kbygpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRlciBmaXJz
dCB1bmRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHRleHRN
b2RlbC51bmRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIHNlY29u
ZCB1bmRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHRleHRN
b2RlbC5yZWRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIGZpcnN0
IHJlZG86XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIHJhbmdlID0gdGV4dE1v
ZGVsLnJlZG8oKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYWZ0ZXIgc2Vjb25k
IHJlZG86XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAg
ICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0QmFja3NwYWNlQW5kRGVsZXRlSW5EaWZmZXJl
bnRMaW5lcyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdGV4dE1vZGVsID0gbmV3
IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwoKTsKKyAgICAgICAgICAgIHZhciBmdW5jdGlv
blRleHQgPSAiICAgIGJhcigpO1xuICAgIGJheigpO1xuICAgIGZvbygpOyI7CisgICAgICAgICAg
ICB0ZXh0TW9kZWwuc2V0VGV4dCgiZnVuY3Rpb24gZm9vKClcbntcblxufVxuIik7CisgICAgICAg
ICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGJlZm9yZSBlZGl0OlxuIiwgdGV4dE1vZGVsKTsKKyAg
ICAgICAgICAgIHZhciByYW5nZSA9IHR5cGVUZXh0KHRleHRNb2RlbCwgbmV3IFdlYkluc3BlY3Rv
ci5UZXh0UmFuZ2UoMiwgMCwgMiwgMCksICIgICAgYmFyKCk7XG4gICAgYmF6KCk7XG4gICAgZm9v
KCk7Iik7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIGVkaXQ6XG4iLCB0
ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIHJhbmdlID0gdHlwZUJhY2tzcGFjZSh0ZXh0
TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYWZ0ZXIgYmFj
a3NwYWNlOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHR5cGVE
ZWxldGUodGV4dE1vZGVsLCBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgyLCAwLCAyLCAwKSk7
CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIGRlbGV0ZTpcbiIsIHRleHRN
b2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2UgPSB0ZXh0TW9kZWwudW5kbygpOworICAg
ICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRlciBmaXJzdCB1bmRvOlxuIiwgdGV4dE1v
ZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHRleHRNb2RlbC51bmRvKCk7CisgICAg
ICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIHNlY29uZCB1bmRvOlxuIiwgdGV4dE1v
ZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHRleHRNb2RlbC51bmRvKCk7CisgICAg
ICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIHRoaXJkIHVuZG86XG4iLCB0ZXh0TW9k
ZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIHJhbmdlID0gdGV4dE1vZGVsLnJlZG8oKTsKKyAgICAg
ICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYWZ0ZXIgZmlyc3QgcmVkbzpcbiIsIHRleHRNb2Rl
bCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2UgPSB0ZXh0TW9kZWwucmVkbygpOworICAgICAg
ICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRlciBzZWNvbmQgcmVkbzpcbiIsIHRleHRNb2Rl
bCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2UgPSB0ZXh0TW9kZWwucmVkbygpOworICAgICAg
ICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRlciB0aGlyZCByZWRvOlxuIiwgdGV4dE1vZGVs
LCByYW5nZSk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0sCisKKyAgICAgICAgZnVu
Y3Rpb24gdGVzdFBhc3RlU2V2ZXJhbFRpbWVzKG5leHQpCisgICAgICAgIHsKKyAgICAgICAgICAg
IHZhciB0ZXh0TW9kZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbCgpOworICAg
ICAgICAgICAgdmFyIGZ1bmN0aW9uVGV4dCA9ICIgICAgYmFyKCk7XG4gICAgYmF6KCk7XG4gICAg
Zm9vKCk7IjsKKyAgICAgICAgICAgIHRleHRNb2RlbC5zZXRUZXh0KCJmdW5jdGlvbiBmb28oKVxu
e1xuXG59XG4iKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYmVmb3JlIGVkaXQ6
XG4iLCB0ZXh0TW9kZWwpOworICAgICAgICAgICAgdmFyIHJhbmdlID0gdHlwZVRleHQodGV4dE1v
ZGVsLCBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgyLCAwLCAyLCAwKSwgIiAgICBiYXIoKTtc
biAgICBiYXooKTtcbiAgICBmb28oKTsiKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRl
eHQgYWZ0ZXIgZWRpdDpcbiIsIHRleHRNb2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2Ug
PSB0ZXh0TW9kZWwuZWRpdFJhbmdlKHJhbmdlLCAiNDIiKS5jb2xsYXBzZVRvRW5kKCk7CisgICAg
ICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIGZpcnN0IHBhc3RlOlxuIiwgdGV4dE1v
ZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHRleHRNb2RlbC5lZGl0UmFuZ2UocmFu
Z2UsICI0MiIpLmNvbGxhcHNlVG9FbmQoKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRl
eHQgYWZ0ZXIgc2Vjb25kIHBhc3RlOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAg
ICByYW5nZSA9IHRleHRNb2RlbC51bmRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJU
ZXh0IGFmdGVyIGZpcnN0IHVuZG86XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAg
IHJhbmdlID0gdGV4dE1vZGVsLnVuZG8oKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRl
eHQgYWZ0ZXIgc2Vjb25kIHVuZG86XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAg
IHJhbmdlID0gdGV4dE1vZGVsLnVuZG8oKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRl
eHQgYWZ0ZXIgdGhpcmQgdW5kbzpcbiIsIHRleHRNb2RlbCwgcmFuZ2UpOworICAgICAgICAgICAg
cmFuZ2UgPSB0ZXh0TW9kZWwucmVkbygpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4
dCBhZnRlciBmaXJzdCByZWRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICBy
YW5nZSA9IHRleHRNb2RlbC5yZWRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0
IGFmdGVyIHNlY29uZCByZWRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICBy
YW5nZSA9IHRleHRNb2RlbC5yZWRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0
IGFmdGVyIHRoaXJkIHJlZG86XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIG5l
eHQoKTsKKyAgICAgICAgfSwKKwogICAgICAgICBmdW5jdGlvbiB0ZXN0U2VsZWN0aW9uQWZ0ZXJV
bmRvUmVkbyhuZXh0KQogICAgICAgICB7CiAgICAgICAgICAgICB2YXIgdGV4dE1vZGVsID0gbmV3
IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188572</attachid>
            <date>2013-02-15 07:57:09 -0800</date>
            <delta_ts>2013-02-15 08:55:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109915-20130215195335.patch</filename>
            <type>text/plain</type>
            <size>15711</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyOTY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTEwZjhmNzMyMTUxNWU1
NmM3ZWI4NTc1M2JhM2NlNzUxODE3YTgyMi4uYmE2YjhkN2EzMTYyY2YyYWQwZmM1ZTM0NTI0NDNj
NmViYzdiMzc5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDEzLTAyLTE1ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFNldmVyYWwgY29uc2VjdXRpdmUgQmFja3NwYWNlIG9yIERlbGV0ZSBzdHJpa2VzIHNob3Vs
ZCBub3QgYmUgbWFya2VkIGFzIHVuZG9hYmxlIHN0YXRlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5OTE1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0cmFjdGVkIF9pc0VkaXRSYW5nZVVuZG9Cb3Vu
ZGFyeSgpIGFuZCBfaXNFZGl0UmFuZ2VBZGphY2VudFRvTGFzdENvbW1hbmQoKSBpbiBUZXh0RWRp
dG9yTW9kZWwKKyAgICAgICAgdG8gZGV0ZWN0IGlmIG1hcmtVbmRvYWJsZVN0YXRlKCkgY2FsbCBp
cyBuZWVkZWQgYmVmb3JlIGFuZCBhZnRlciBlZGl0UmFuZ2UuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
ZXh0UmFuZ2UucHJvdG90eXBlLmltbWVkaWF0ZWx5UHJlY2VkZXMpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRleHRSYW5nZS5wcm90b3R5cGUuaW1tZWRpYXRlbHlGb2xsb3dzKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwuZW5kc1dpdGhCcmFja2V0UmVnZXguKToKKwor
MjAxMy0wMi0xNSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KKwogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBQYXNzIG9yaWdpbmFsIHNlbGVjdGlvbiB0byB0ZXh0TW9kZWwg
dG8gY29ycmVjdGx5IHJlc3RvcmUgaXQgYWZ0ZXIgdW5kby4KICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTkxMQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRFZGl0b3JNb2RlbC5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGV4dEVkaXRvck1vZGVsLmpzCmluZGV4IGY4YmI3
MzIxMWIwMzhmOTdlZjJlNDFhODk5MjM1ZmQ5YWM2NjY4ZjkuLmQyZDYwYWM0N2QxYmM1N2ViNmM3
ZjU0NTlkOTNiYzJkYzg2YTg1NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvVGV4dEVkaXRvck1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvVGV4dEVkaXRvck1vZGVsLmpzCkBAIC02Nyw2ICs2NywyOCBAQCBXZWJJ
bnNwZWN0b3IuVGV4dFJhbmdlLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCisgICAg
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGV4dFJhbmdlfSByYW5nZQorICAgICAqIEByZXR1cm4g
e2Jvb2xlYW59CisgICAgICovCisgICAgaW1tZWRpYXRlbHlQcmVjZWRlczogZnVuY3Rpb24ocmFu
Z2UpCisgICAgeworICAgICAgICBpZiAoIXJhbmdlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICByZXR1cm4gdGhpcy5lbmRMaW5lID09PSByYW5nZS5zdGFydExpbmUgJiYgdGhp
cy5lbmRDb2x1bW4gPT09IHJhbmdlLnN0YXJ0Q29sdW1uOworICAgIH0sCisKKyAgICAvKioKKyAg
ICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5UZXh0UmFuZ2V9IHJhbmdlCisgICAgICogQHJldHVy
biB7Ym9vbGVhbn0KKyAgICAgKi8KKyAgICBpbW1lZGlhdGVseUZvbGxvd3M6IGZ1bmN0aW9uKHJh
bmdlKQorICAgIHsKKyAgICAgICAgaWYgKCFyYW5nZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuIHJhbmdlLmltbWVkaWF0ZWx5UHJlY2VkZXModGhpcyk7CisgICAg
fSwKKworICAgIC8qKgogICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAgKi8KICAgICBnZXQg
bGluZXNDb3VudCgpCkBAIC0yNTEsMTUgKzI3Myw2MyBAQCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRv
ck1vZGVsLnByb3RvdHlwZSA9IHsKIAogICAgIC8qKgogICAgICAqIEBwYXJhbSB7V2ViSW5zcGVj
dG9yLlRleHRSYW5nZX0gcmFuZ2UKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLwor
ICAgIF9yYW5nZUhhc09uZUNoYXJhY3RlcjogZnVuY3Rpb24ocmFuZ2UpCisgICAgeworICAgICAg
ICBpZiAocmFuZ2Uuc3RhcnRMaW5lID09PSByYW5nZS5lbmRMaW5lICYmIHJhbmdlLmVuZENvbHVt
biAtIHJhbmdlLnN0YXJ0Q29sdW1uID09PSAxKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIGlmIChyYW5nZS5lbmRMaW5lIC0gcmFuZ2Uuc3RhcnRMaW5lID09PSAxICYmIHJhbmdl
LmVuZENvbHVtbiA9PT0gMCAmJiByYW5nZS5zdGFydENvbHVtbiA9PT0gdGhpcy5saW5lTGVuZ3Ro
KHJhbmdlLnN0YXJ0TGluZSkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rv
ci5UZXh0UmFuZ2V9IHJhbmdlCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQKKyAgICAgKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5UZXh0UmFuZ2U9fSBvcmlnaW5hbFNlbGVjdGlvbgorICAgICAq
IEByZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisgICAgX2lzRWRpdFJhbmdlVW5kb0JvdW5kYXJ5
OiBmdW5jdGlvbihyYW5nZSwgdGV4dCwgb3JpZ2luYWxTZWxlY3Rpb24pCisgICAgeworICAgICAg
ICBpZiAob3JpZ2luYWxTZWxlY3Rpb24gJiYgIW9yaWdpbmFsU2VsZWN0aW9uLmlzRW1wdHkoKSkK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBpZiAodGV4dCkKKyAgICAgICAgICAg
IHJldHVybiB0ZXh0Lmxlbmd0aCA+IDEgfHwgIXJhbmdlLmlzRW1wdHkoKTsKKyAgICAgICAgcmV0
dXJuICF0aGlzLl9yYW5nZUhhc09uZUNoYXJhY3RlcihyYW5nZSk7CisgICAgfSwKKworICAgIC8q
KgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRleHRSYW5nZX0gcmFuZ2UKKyAgICAgKiBA
cGFyYW0ge3N0cmluZ30gdGV4dAorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICovCisg
ICAgX2lzRWRpdFJhbmdlQWRqYWNlbnRUb0xhc3RDb21tYW5kOiBmdW5jdGlvbihyYW5nZSwgdGV4
dCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5fbGFzdENvbW1hbmQpCisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgaWYgKCF0ZXh0KSB7CisgICAgICAgICAgICAvLyBGSVhNRTog
RGlzdGluZ3Vpc2ggYmFja3NwYWNlIGFuZCBkZWxldGUgaW4gbGFzdENvbW1hbmQuCisgICAgICAg
ICAgICByZXR1cm4gdGhpcy5fbGFzdENvbW1hbmQubmV3UmFuZ2UuaW1tZWRpYXRlbHlQcmVjZWRl
cyhyYW5nZSkgfHwgdGhpcy5fbGFzdENvbW1hbmQubmV3UmFuZ2UuaW1tZWRpYXRlbHlGb2xsb3dz
KHJhbmdlKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdGV4dC5pbmRleE9mKCJcbiIpID09
PSAtMSAmJiB0aGlzLl9sYXN0Q29tbWFuZC5uZXdSYW5nZS5pbW1lZGlhdGVseVByZWNlZGVzKHJh
bmdlKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGV4
dFJhbmdlfSByYW5nZQogICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0CiAgICAgICogQHBhcmFt
IHtXZWJJbnNwZWN0b3IuVGV4dFJhbmdlPX0gb3JpZ2luYWxTZWxlY3Rpb24KICAgICAgKiBAcmV0
dXJuIHtXZWJJbnNwZWN0b3IuVGV4dFJhbmdlfQogICAgICAqLwogICAgIGVkaXRSYW5nZTogZnVu
Y3Rpb24ocmFuZ2UsIHRleHQsIG9yaWdpbmFsU2VsZWN0aW9uKQotICAgIHsgICAKLSAgICAgICAg
aWYgKHRoaXMuX2xhc3RFZGl0ZWRSYW5nZSAmJiAoIXRleHQgfHwgdGV4dC5pbmRleE9mKCJcbiIp
ICE9PSAtMSB8fCB0aGlzLl9sYXN0RWRpdGVkUmFuZ2UuZW5kTGluZSAhPT0gcmFuZ2Uuc3RhcnRM
aW5lIHx8IHRoaXMuX2xhc3RFZGl0ZWRSYW5nZS5lbmRDb2x1bW4gIT09IHJhbmdlLnN0YXJ0Q29s
dW1uKSkKKyAgICB7CisgICAgICAgIHZhciB1bmRvQm91bmRhcnkgPSB0aGlzLl9pc0VkaXRSYW5n
ZVVuZG9Cb3VuZGFyeShyYW5nZSwgdGV4dCwgb3JpZ2luYWxTZWxlY3Rpb24pOworICAgICAgICBp
ZiAodW5kb0JvdW5kYXJ5IHx8ICF0aGlzLl9pc0VkaXRSYW5nZUFkamFjZW50VG9MYXN0Q29tbWFu
ZChyYW5nZSwgdGV4dCkpCiAgICAgICAgICAgICB0aGlzLl9tYXJrVW5kb2FibGVTdGF0ZSgpOwot
ICAgICAgICByZXR1cm4gdGhpcy5faW5uZXJFZGl0UmFuZ2UocmFuZ2UsIHRleHQsIG9yaWdpbmFs
U2VsZWN0aW9uKTsKKyAgICAgICAgdmFyIG5ld1JhbmdlID0gdGhpcy5faW5uZXJFZGl0UmFuZ2Uo
cmFuZ2UsIHRleHQsIG9yaWdpbmFsU2VsZWN0aW9uKTsKKyAgICAgICAgaWYgKHVuZG9Cb3VuZGFy
eSkKKyAgICAgICAgICAgIHRoaXMuX21hcmtVbmRvYWJsZVN0YXRlKCk7CisgICAgICAgIHJldHVy
biBuZXdSYW5nZTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0yNzIsOCArMzQyLDcgQEAgV2ViSW5z
cGVjdG9yLlRleHRFZGl0b3JNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIg
b3JpZ2luYWxUZXh0ID0gdGhpcy5jb3B5UmFuZ2UocmFuZ2UpOwogICAgICAgICB2YXIgbmV3UmFu
Z2UgPSB0aGlzLl9pbm5lclNldFRleHQocmFuZ2UsIHRleHQpOwotICAgICAgICB0aGlzLl9sYXN0
RWRpdGVkUmFuZ2UgPSBuZXdSYW5nZTsKLSAgICAgICAgdGhpcy5fcHVzaFVuZG9hYmxlQ29tbWFu
ZChuZXdSYW5nZSwgb3JpZ2luYWxUZXh0LCBvcmlnaW5hbFNlbGVjdGlvbiB8fCByYW5nZSk7Cisg
ICAgICAgIHRoaXMuX2xhc3RDb21tYW5kID0gdGhpcy5fcHVzaFVuZG9hYmxlQ29tbWFuZChuZXdS
YW5nZSwgb3JpZ2luYWxUZXh0LCBvcmlnaW5hbFNlbGVjdGlvbiB8fCByYW5nZSk7CiAgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9k
ZWwuRXZlbnRzLlRleHRDaGFuZ2VkLCB7IG9sZFJhbmdlOiByYW5nZSwgbmV3UmFuZ2U6IG5ld1Jh
bmdlLCBlZGl0UmFuZ2U6IHRydWUgfSk7CiAgICAgICAgIHJldHVybiBuZXdSYW5nZTsKICAgICB9
LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDEzMWI1ZGJjYzJmZjQwYTQ2MDhiMDc4YWM4NmU0NmNhYTQ3YjZkOTMuLjEyZDMx
NDk0NTRjMGY2MjUwZjY3NDdkZjI2MTcwYzRmYzk4ZDNjZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBA
QAogMjAxMy0wMi0xNSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBTZXZlcmFsIGNvbnNlY3V0aXZlIEJhY2tzcGFjZSBvciBE
ZWxldGUgc3RyaWtlcyBzaG91bGQgbm90IGJlIG1hcmtlZCBhcyB1bmRvYWJsZSBzdGF0ZS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTkxNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9y
L2VkaXRvci90ZXh0LWVkaXRvci11bmRvLXJlZG8tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGlu
c3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItdW5kby1yZWRvLmh0bWw6CisKKzIwMTMtMDItMTUg
IFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgV2ViIElu
c3BlY3RvcjogUGFzcyBvcmlnaW5hbCBzZWxlY3Rpb24gdG8gdGV4dE1vZGVsIHRvIGNvcnJlY3Rs
eSByZXN0b3JlIGl0IGFmdGVyIHVuZG8uCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDk5MTEKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2VkaXRvci90ZXh0LWVkaXRvci11bmRvLXJlZG8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci11bmRvLXJlZG8tZXhwZWN0ZWQudHh0Cmlu
ZGV4IDI1M2Q1MDM0Y2I3MDRkZjRkZjIzOWMwZDkzNjAyN2ZiOGQxZTk5MDguLjAyYjA4NzIyNTMz
MGJkYmI4MjBlMTU1OWE0NTNjZWQ5YWIwNmMxYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItdW5kby1yZWRvLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLXVuZG8tcmVkby1leHBlY3Rl
ZC50eHQKQEAgLTEzNCw2ICsxMzQsMjY2IEBAIGZ1bmN0aW9uIGZvbygpCiB9CiAKIAorUnVubmlu
ZzogdGVzdERlbGV0ZQorVGV4dCBiZWZvcmUgZWRpdDoKK2Z1bmN0aW9uIGZvbygpCit7CisKK30K
KworVGV4dCBhZnRlciBlZGl0OgorZnVuY3Rpb24gZm9vKCkKK3sKKyAgICBiYXIoKTsKKyAgICBi
YXooKTsKKyAgICBmb28oKTt8Cit9CisKK1RleHQgYWZ0ZXIgZGVsZXRlczoKK2Z1bmN0aW9uIGZv
bygpCit7Cit8Cit9CisKK1RleHQgYWZ0ZXIgZmlyc3QgdW5kbzoKK2Z1bmN0aW9uIGZvbygpCit7
Cit8ICAgIGJhcigpOworICAgIGJheigpOworICAgIGZvbygpOworfQorCitUZXh0IGFmdGVyIHNl
Y29uZCB1bmRvOgorZnVuY3Rpb24gZm9vKCkKK3sKKyAgICBiYXIoKTsKKyAgICBiYXooKTt8Cit9
CisKK1RleHQgYWZ0ZXIgZmlyc3QgcmVkbzoKK2Z1bmN0aW9uIGZvbygpCit7CisgICAgYmFyKCk7
CisgICAgYmF6KCk7CisgICAgZm9vKCk7fAorfQorCitUZXh0IGFmdGVyIHNlY29uZCByZWRvOgor
ZnVuY3Rpb24gZm9vKCkKK3sKK3wKK30KKworCitSdW5uaW5nOiB0ZXN0QmFja3NwYWNlCitUZXh0
IGJlZm9yZSBlZGl0OgorZnVuY3Rpb24gZm9vKCkKK3sKKworfQorCitUZXh0IGFmdGVyIGVkaXQ6
CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOworICAgIGJheigpOworICAgIGZvbygpO3wK
K30KKworVGV4dCBhZnRlciBiYWNrc3BhY2VzOgorZnVuY3Rpb24gZm9vKCkKK3sKK3wKK30KKwor
VGV4dCBhZnRlciBmaXJzdCB1bmRvOgorZnVuY3Rpb24gZm9vKCkKK3sKKyAgICBiYXIoKTsKKyAg
ICBiYXooKTsKKyAgICBmb28oKTt8Cit9CisKK1RleHQgYWZ0ZXIgc2Vjb25kIHVuZG86CitmdW5j
dGlvbiBmb28oKQoreworICAgIGJhcigpOworICAgIGJheigpO3wKK30KKworVGV4dCBhZnRlciBm
aXJzdCByZWRvOgorZnVuY3Rpb24gZm9vKCkKK3sKKyAgICBiYXIoKTsKKyAgICBiYXooKTsKKyAg
ICBmb28oKTt8Cit9CisKK1RleHQgYWZ0ZXIgc2Vjb25kIHJlZG86CitmdW5jdGlvbiBmb28oKQor
eworfAorfQorCisKK1J1bm5pbmc6IHRlc3RCYWNrc3BhY2VBbmREZWxldGVJbkRpZmZlcmVudExp
bmVzCitUZXh0IGJlZm9yZSBlZGl0OgorZnVuY3Rpb24gZm9vKCkKK3sKKworfQorCitUZXh0IGFm
dGVyIGVkaXQ6CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOworICAgIGJheigpOworICAg
IGZvbygpO3wKK30KKworVGV4dCBhZnRlciBiYWNrc3BhY2U6CitmdW5jdGlvbiBmb28oKQorewor
ICAgIGJhcigpOworICAgIGJheigpOworICAgIGZvbygpfAorfQorCitUZXh0IGFmdGVyIGRlbGV0
ZToKK2Z1bmN0aW9uIGZvbygpCit7Cit8ICAgYmFyKCk7CisgICAgYmF6KCk7CisgICAgZm9vKCkK
K30KKworVGV4dCBhZnRlciBmaXJzdCB1bmRvOgorZnVuY3Rpb24gZm9vKCkKK3sKK3wgICAgYmFy
KCk7CisgICAgYmF6KCk7CisgICAgZm9vKCkKK30KKworVGV4dCBhZnRlciBzZWNvbmQgdW5kbzoK
K2Z1bmN0aW9uIGZvbygpCit7CisgICAgYmFyKCk7CisgICAgYmF6KCk7CisgICAgZm9vKCk7fAor
fQorCitUZXh0IGFmdGVyIHRoaXJkIHVuZG86CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigp
OworICAgIGJheigpO3wKK30KKworVGV4dCBhZnRlciBmaXJzdCByZWRvOgorZnVuY3Rpb24gZm9v
KCkKK3sKKyAgICBiYXIoKTsKKyAgICBiYXooKTsKKyAgICBmb28oKTt8Cit9CisKK1RleHQgYWZ0
ZXIgc2Vjb25kIHJlZG86CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOworICAgIGJheigp
OworICAgIGZvbygpfAorfQorCitUZXh0IGFmdGVyIHRoaXJkIHJlZG86CitmdW5jdGlvbiBmb28o
KQoreworfCAgIGJhcigpOworICAgIGJheigpOworICAgIGZvbygpCit9CisKKworUnVubmluZzog
dGVzdFBhc3RlU2V2ZXJhbFRpbWVzCitUZXh0IGJlZm9yZSBlZGl0OgorZnVuY3Rpb24gZm9vKCkK
K3sKKworfQorCitUZXh0IGFmdGVyIGVkaXQ6CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigp
OworICAgIGJheigpOworICAgIGZvbygpO3wKK30KKworVGV4dCBhZnRlciBmaXJzdCBwYXN0ZToK
K2Z1bmN0aW9uIGZvbygpCit7CisgICAgYmFyKCk7CisgICAgYmF6KCk7CisgICAgZm9vKCk7NDJ8
Cit9CisKK1RleHQgYWZ0ZXIgc2Vjb25kIHBhc3RlOgorZnVuY3Rpb24gZm9vKCkKK3sKKyAgICBi
YXIoKTsKKyAgICBiYXooKTsKKyAgICBmb28oKTs0MjQyfAorfQorCitUZXh0IGFmdGVyIGZpcnN0
IHVuZG86CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOworICAgIGJheigpOworICAgIGZv
bygpOzQyfAorfQorCitUZXh0IGFmdGVyIHNlY29uZCB1bmRvOgorZnVuY3Rpb24gZm9vKCkKK3sK
KyAgICBiYXIoKTsKKyAgICBiYXooKTsKKyAgICBmb28oKTt8Cit9CisKK1RleHQgYWZ0ZXIgdGhp
cmQgdW5kbzoKK2Z1bmN0aW9uIGZvbygpCit7CisgICAgYmFyKCk7CisgICAgYmF6KCk7fAorfQor
CitUZXh0IGFmdGVyIGZpcnN0IHJlZG86CitmdW5jdGlvbiBmb28oKQoreworICAgIGJhcigpOwor
ICAgIGJheigpOworICAgIGZvbygpO3wKK30KKworVGV4dCBhZnRlciBzZWNvbmQgcmVkbzoKK2Z1
bmN0aW9uIGZvbygpCit7CisgICAgYmFyKCk7CisgICAgYmF6KCk7CisgICAgZm9vKCk7NDJ8Cit9
CisKK1RleHQgYWZ0ZXIgdGhpcmQgcmVkbzoKK2Z1bmN0aW9uIGZvbygpCit7CisgICAgYmFyKCk7
CisgICAgYmF6KCk7CisgICAgZm9vKCk7NDI0MnwKK30KKworCiBSdW5uaW5nOiB0ZXN0U2VsZWN0
aW9uQWZ0ZXJVbmRvUmVkbwogVGV4dCBiZWZvcmUgZWRpdDoKIGZ1bmN0aW9uIGZvbygpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLXVuZG8tcmVk
by5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VkaXRvci90ZXh0LWVkaXRvci11bmRvLXJl
ZG8uaHRtbAppbmRleCBkMTA0NzE0NjI3YTJlMGM2Nzk4ZmIwMjg4YmM4N2YwYzM4NzI0ZmFkLi5k
OTI5MWExMTMwOTgxYmZjNzAwMmU1YjI3M2EyZWVkNmU1OWUwYWY1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZWRpdG9yL3RleHQtZWRpdG9yLXVuZG8tcmVkby5odG1sCisrKyBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9lZGl0b3IvdGV4dC1lZGl0b3ItdW5kby1yZWRvLmh0bWwK
QEAgLTE5LDYgKzE5LDE3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICByZXR1cm4gcmFuZ2U7
CiAgICAgfQogCisgICAgZnVuY3Rpb24gdHlwZURlbGV0ZSh0ZXh0TW9kZWwsIHN0YXJ0UmFuZ2Us
IGNvdW50KQorICAgIHsKKyAgICAgICAgdmFyIGNvdW50ID0gY291bnQgfHwgMTsKKyAgICAgICAg
dmFyIHJhbmdlID0gc3RhcnRSYW5nZTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb3Vu
dDsgKytpKSB7CisgICAgICAgICAgICB2YXIgZGVsZXRlUmFuZ2UgPSByYW5nZS5pc0VtcHR5KCkg
PyB0ZXh0TW9kZWwuZ3Jvd1JhbmdlUmlnaHQocmFuZ2UpIDogcmFuZ2U7CisgICAgICAgICAgICBy
YW5nZSA9IHRleHRNb2RlbC5lZGl0UmFuZ2UoZGVsZXRlUmFuZ2UsICIiLCByYW5nZSkuY29sbGFw
c2VUb0VuZCgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiByYW5nZTsKKyAgICB9CisKICAg
ICBmdW5jdGlvbiB0eXBlQmFja3NwYWNlKHRleHRNb2RlbCwgc3RhcnRSYW5nZSwgY291bnQpCiAg
ICAgewogICAgICAgICB2YXIgY291bnQgPSBjb3VudCB8fCAxOwpAQCAtODgsNiArOTksMTAyIEBA
IGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICB9LAogCisgICAg
ICAgIGZ1bmN0aW9uIHRlc3REZWxldGUobmV4dCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFy
IHRleHRNb2RlbCA9IG5ldyBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsKCk7CisgICAgICAg
ICAgICB2YXIgZnVuY3Rpb25UZXh0ID0gIiAgICBiYXIoKTtcbiAgICBiYXooKTtcbiAgICBmb28o
KTsiOworICAgICAgICAgICAgdGV4dE1vZGVsLnNldFRleHQoImZ1bmN0aW9uIGZvbygpXG57XG5c
bn1cbiIpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBiZWZvcmUgZWRpdDpcbiIs
IHRleHRNb2RlbCk7CisgICAgICAgICAgICB2YXIgcmFuZ2UgPSB0eXBlVGV4dCh0ZXh0TW9kZWws
IG5ldyBXZWJJbnNwZWN0b3IuVGV4dFJhbmdlKDIsIDAsIDIsIDApLCAiICAgIGJhcigpO1xuICAg
IGJheigpO1xuICAgIGZvbygpOyIpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBh
ZnRlciBlZGl0OlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHR5
cGVEZWxldGUodGV4dE1vZGVsLCBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgyLCAwLCAyLCAw
KSwgZnVuY3Rpb25UZXh0Lmxlbmd0aCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0
IGFmdGVyIGRlbGV0ZXM6XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIHJhbmdl
ID0gdGV4dE1vZGVsLnVuZG8oKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYWZ0
ZXIgZmlyc3QgdW5kbzpcbiIsIHRleHRNb2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2Ug
PSB0ZXh0TW9kZWwudW5kbygpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRl
ciBzZWNvbmQgdW5kbzpcbiIsIHRleHRNb2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2Ug
PSB0ZXh0TW9kZWwucmVkbygpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRl
ciBmaXJzdCByZWRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9
IHRleHRNb2RlbC5yZWRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVy
IHNlY29uZCByZWRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICBuZXh0KCk7
CisgICAgICAgIH0sCisKKyAgICAgICAgZnVuY3Rpb24gdGVzdEJhY2tzcGFjZShuZXh0KQorICAg
ICAgICB7CisgICAgICAgICAgICB2YXIgdGV4dE1vZGVsID0gbmV3IFdlYkluc3BlY3Rvci5UZXh0
RWRpdG9yTW9kZWwoKTsKKyAgICAgICAgICAgIHZhciBmdW5jdGlvblRleHQgPSAiICAgIGJhcigp
O1xuICAgIGJheigpO1xuICAgIGZvbygpOyI7CisgICAgICAgICAgICB0ZXh0TW9kZWwuc2V0VGV4
dCgiZnVuY3Rpb24gZm9vKClcbntcblxufVxuIik7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVs
KCJUZXh0IGJlZm9yZSBlZGl0OlxuIiwgdGV4dE1vZGVsKTsKKyAgICAgICAgICAgIHZhciByYW5n
ZSA9IHR5cGVUZXh0KHRleHRNb2RlbCwgbmV3IFdlYkluc3BlY3Rvci5UZXh0UmFuZ2UoMiwgMCwg
MiwgMCksICIgICAgYmFyKCk7XG4gICAgYmF6KCk7XG4gICAgZm9vKCk7Iik7CisgICAgICAgICAg
ICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIGVkaXQ6XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsK
KyAgICAgICAgICAgIHJhbmdlID0gdHlwZUJhY2tzcGFjZSh0ZXh0TW9kZWwsIHJhbmdlLCBmdW5j
dGlvblRleHQubGVuZ3RoKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYWZ0ZXIg
YmFja3NwYWNlczpcbiIsIHRleHRNb2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2UgPSB0
ZXh0TW9kZWwudW5kbygpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRlciBm
aXJzdCB1bmRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHRl
eHRNb2RlbC51bmRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIHNl
Y29uZCB1bmRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHRl
eHRNb2RlbC5yZWRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIGZp
cnN0IHJlZG86XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIHJhbmdlID0gdGV4
dE1vZGVsLnJlZG8oKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYWZ0ZXIgc2Vj
b25kIHJlZG86XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgfSwKKworICAgICAgICBmdW5jdGlvbiB0ZXN0QmFja3NwYWNlQW5kRGVsZXRlSW5EaWZm
ZXJlbnRMaW5lcyhuZXh0KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdGV4dE1vZGVsID0g
bmV3IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwoKTsKKyAgICAgICAgICAgIHZhciBmdW5j
dGlvblRleHQgPSAiICAgIGJhcigpO1xuICAgIGJheigpO1xuICAgIGZvbygpOyI7CisgICAgICAg
ICAgICB0ZXh0TW9kZWwuc2V0VGV4dCgiZnVuY3Rpb24gZm9vKClcbntcblxufVxuIik7CisgICAg
ICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGJlZm9yZSBlZGl0OlxuIiwgdGV4dE1vZGVsKTsK
KyAgICAgICAgICAgIHZhciByYW5nZSA9IHR5cGVUZXh0KHRleHRNb2RlbCwgbmV3IFdlYkluc3Bl
Y3Rvci5UZXh0UmFuZ2UoMiwgMCwgMiwgMCksICIgICAgYmFyKCk7XG4gICAgYmF6KCk7XG4gICAg
Zm9vKCk7Iik7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIGVkaXQ6XG4i
LCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIHJhbmdlID0gdHlwZUJhY2tzcGFjZSh0
ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYWZ0ZXIg
YmFja3NwYWNlOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHR5
cGVEZWxldGUodGV4dE1vZGVsLCBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgyLCAwLCAyLCAw
KSk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIGRlbGV0ZTpcbiIsIHRl
eHRNb2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2UgPSB0ZXh0TW9kZWwudW5kbygpOwor
ICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRlciBmaXJzdCB1bmRvOlxuIiwgdGV4
dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHRleHRNb2RlbC51bmRvKCk7Cisg
ICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIHNlY29uZCB1bmRvOlxuIiwgdGV4
dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHRleHRNb2RlbC51bmRvKCk7Cisg
ICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIHRoaXJkIHVuZG86XG4iLCB0ZXh0
TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAgIHJhbmdlID0gdGV4dE1vZGVsLnJlZG8oKTsKKyAg
ICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYWZ0ZXIgZmlyc3QgcmVkbzpcbiIsIHRleHRN
b2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2UgPSB0ZXh0TW9kZWwucmVkbygpOworICAg
ICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRlciBzZWNvbmQgcmVkbzpcbiIsIHRleHRN
b2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFuZ2UgPSB0ZXh0TW9kZWwucmVkbygpOworICAg
ICAgICAgICAgZHVtcFRleHRNb2RlbCgiVGV4dCBhZnRlciB0aGlyZCByZWRvOlxuIiwgdGV4dE1v
ZGVsLCByYW5nZSk7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0sCisKKyAgICAgICAg
ZnVuY3Rpb24gdGVzdFBhc3RlU2V2ZXJhbFRpbWVzKG5leHQpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHZhciB0ZXh0TW9kZWwgPSBuZXcgV2ViSW5zcGVjdG9yLlRleHRFZGl0b3JNb2RlbCgpOwor
ICAgICAgICAgICAgdmFyIGZ1bmN0aW9uVGV4dCA9ICIgICAgYmFyKCk7XG4gICAgYmF6KCk7XG4g
ICAgZm9vKCk7IjsKKyAgICAgICAgICAgIHRleHRNb2RlbC5zZXRUZXh0KCJmdW5jdGlvbiBmb28o
KVxue1xuXG59XG4iKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwoIlRleHQgYmVmb3JlIGVk
aXQ6XG4iLCB0ZXh0TW9kZWwpOworICAgICAgICAgICAgdmFyIHJhbmdlID0gdHlwZVRleHQodGV4
dE1vZGVsLCBuZXcgV2ViSW5zcGVjdG9yLlRleHRSYW5nZSgyLCAwLCAyLCAwKSwgIiAgICBiYXIo
KTtcbiAgICBiYXooKTtcbiAgICBmb28oKTsiKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwo
IlRleHQgYWZ0ZXIgZWRpdDpcbiIsIHRleHRNb2RlbCwgcmFuZ2UpOworICAgICAgICAgICAgcmFu
Z2UgPSB0ZXh0TW9kZWwuZWRpdFJhbmdlKHJhbmdlLCAiNDIiKS5jb2xsYXBzZVRvRW5kKCk7Cisg
ICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJUZXh0IGFmdGVyIGZpcnN0IHBhc3RlOlxuIiwgdGV4
dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAgICByYW5nZSA9IHRleHRNb2RlbC5lZGl0UmFuZ2Uo
cmFuZ2UsICI0MiIpLmNvbGxhcHNlVG9FbmQoKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwo
IlRleHQgYWZ0ZXIgc2Vjb25kIHBhc3RlOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAg
ICAgICByYW5nZSA9IHRleHRNb2RlbC51bmRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVs
KCJUZXh0IGFmdGVyIGZpcnN0IHVuZG86XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAg
ICAgIHJhbmdlID0gdGV4dE1vZGVsLnVuZG8oKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwo
IlRleHQgYWZ0ZXIgc2Vjb25kIHVuZG86XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAg
ICAgIHJhbmdlID0gdGV4dE1vZGVsLnVuZG8oKTsKKyAgICAgICAgICAgIGR1bXBUZXh0TW9kZWwo
IlRleHQgYWZ0ZXIgdGhpcmQgdW5kbzpcbiIsIHRleHRNb2RlbCwgcmFuZ2UpOworICAgICAgICAg
ICAgcmFuZ2UgPSB0ZXh0TW9kZWwucmVkbygpOworICAgICAgICAgICAgZHVtcFRleHRNb2RlbCgi
VGV4dCBhZnRlciBmaXJzdCByZWRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAg
ICByYW5nZSA9IHRleHRNb2RlbC5yZWRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJU
ZXh0IGFmdGVyIHNlY29uZCByZWRvOlxuIiwgdGV4dE1vZGVsLCByYW5nZSk7CisgICAgICAgICAg
ICByYW5nZSA9IHRleHRNb2RlbC5yZWRvKCk7CisgICAgICAgICAgICBkdW1wVGV4dE1vZGVsKCJU
ZXh0IGFmdGVyIHRoaXJkIHJlZG86XG4iLCB0ZXh0TW9kZWwsIHJhbmdlKTsKKyAgICAgICAgICAg
IG5leHQoKTsKKyAgICAgICAgfSwKKwogICAgICAgICBmdW5jdGlvbiB0ZXN0U2VsZWN0aW9uQWZ0
ZXJVbmRvUmVkbyhuZXh0KQogICAgICAgICB7CiAgICAgICAgICAgICB2YXIgdGV4dE1vZGVsID0g
bmV3IFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>