<?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>180664</bug_id>
          
          <creation_ts>2017-12-11 12:12:34 -0800</creation_ts>
          <short_desc>Web Inspector: fix test case failures in js-isLikelyStackTrace.html</short_desc>
          <delta_ts>2018-09-12 09:35:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1380338</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-12-11 12:12:34 -0800</bug_when>
    <thetext>Rewriting this to be async-friendly has revealed that either the test or implementation is incorrect in 1/2 the test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458628</commentid>
    <comment_count>1</comment_count>
      <attachid>349439</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-09-11 13:37:53 -0700</bug_when>
    <thetext>Created attachment 349439
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458630</commentid>
    <comment_count>2</comment_count>
      <attachid>349439</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-09-11 13:38:47 -0700</bug_when>
    <thetext>Comment on attachment 349439
[PATCH] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Models/StackTrace.js:88
&gt; +            WI.StackTrace.likelyStackTraceRegex = new RegExp(`^${stackTraceLine}([\\n\\r]${stackTraceLine})+$`, &quot;g&quot;);

Err, given this is a /^...$/ regex the &quot;g&quot; part is unnecessary... I&apos;ll remove that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458632</commentid>
    <comment_count>3</comment_count>
      <attachid>349441</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-09-11 13:39:43 -0700</bug_when>
    <thetext>Created attachment 349441
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458638</commentid>
    <comment_count>4</comment_count>
      <attachid>349441</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-09-11 13:47:01 -0700</bug_when>
    <thetext>Comment on attachment 349441
[PATCH] Proposed Fix

I&apos;m going to add a few explicit test cases instead of generating most of them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458639</commentid>
    <comment_count>5</comment_count>
      <attachid>349444</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-09-11 13:48:33 -0700</bug_when>
    <thetext>Created attachment 349444
[PATCH] Proposed Fix

Reviewable now!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458707</commentid>
    <comment_count>6</comment_count>
      <attachid>349444</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-09-11 15:09:48 -0700</bug_when>
    <thetext>Comment on attachment 349444
[PATCH] Proposed Fix

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

&gt; LayoutTests/inspector/console/js-isLikelyStackTrace.html:-5
&gt; -function typeErrorWrap()

So I&apos;m not sure how much of a difference this makes, but this function introduced another frame (both `typeErrorWrap` and `typeError`).  Does that make a difference?  The wrapped test used to fail whereas the &quot;unwrapped&quot; version doesn&apos;t, so I&apos;m wondering if that made a difference to our heuristic somehow.

&gt; LayoutTests/inspector/console/js-isLikelyStackTrace.html:10
&gt;          console.trace();

Is this necessary?

&gt; LayoutTests/inspector/console/js-isLikelyStackTrace.html:74
&gt; +                &quot;a@file:///ex.html:10:6\nb@file:///ex.html:7:6\nglobal code@file://ex.html:12:2&quot;,

Did you mean to repeat this twice?

&gt; Source/WebInspectorUI/UserInterface/Models/StackTrace.js:83
&gt; +        if (!WI.StackTrace.likelyStackTraceRegex) {

NIT: this should begin with a `_` since it is &quot;private&quot;:

    WI.StackTrace._likelyStackTraceRegex</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458756</commentid>
    <comment_count>7</comment_count>
      <attachid>349444</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-09-11 16:16:29 -0700</bug_when>
    <thetext>Comment on attachment 349444
[PATCH] Proposed Fix

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

&gt;&gt; LayoutTests/inspector/console/js-isLikelyStackTrace.html:-5
&gt;&gt; -function typeErrorWrap()
&gt; 
&gt; So I&apos;m not sure how much of a difference this makes, but this function introduced another frame (both `typeErrorWrap` and `typeError`).  Does that make a difference?  The wrapped test used to fail whereas the &quot;unwrapped&quot; version doesn&apos;t, so I&apos;m wondering if that made a difference to our heuristic somehow.

It shouldn&apos;t make a difference. There are still at least 2 frames (global code and typeError()).

&gt;&gt; LayoutTests/inspector/console/js-isLikelyStackTrace.html:10
&gt;&gt;          console.trace();
&gt; 
&gt; Is this necessary?

It doesn&apos;t affect the test, but it looks nice when loading the test locally and debugging it.

&gt;&gt; LayoutTests/inspector/console/js-isLikelyStackTrace.html:74
&gt;&gt; +                &quot;a@file:///ex.html:10:6\nb@file:///ex.html:7:6\nglobal code@file://ex.html:12:2&quot;,
&gt; 
&gt; Did you mean to repeat this twice?

Err, no an undo issue I think. This one was supposed to have moved the &quot;global code&quot; to the first frame to ensure things continue to work like that.

&gt;&gt; Source/WebInspectorUI/UserInterface/Models/StackTrace.js:83
&gt;&gt; +        if (!WI.StackTrace.likelyStackTraceRegex) {
&gt; 
&gt; NIT: this should begin with a `_` since it is &quot;private&quot;:
&gt; 
&gt;     WI.StackTrace._likelyStackTraceRegex

kk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458776</commentid>
    <comment_count>8</comment_count>
      <attachid>349490</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-09-11 16:41:47 -0700</bug_when>
    <thetext>Created attachment 349490
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458967</commentid>
    <comment_count>9</comment_count>
      <attachid>349490</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-09-12 09:07:47 -0700</bug_when>
    <thetext>Comment on attachment 349490
[PATCH] Proposed Fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458981</commentid>
    <comment_count>10</comment_count>
      <attachid>349490</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-12 09:34:19 -0700</bug_when>
    <thetext>Comment on attachment 349490
[PATCH] Proposed Fix

Clearing flags on attachment: 349490

Committed r235939: &lt;https://trac.webkit.org/changeset/235939&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458982</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-12 09:34:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1458985</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-12 09:35:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/44385932&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349439</attachid>
            <date>2018-09-11 13:37:53 -0700</date>
            <delta_ts>2018-09-11 13:39:43 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>regex-1.patch</filename>
            <type>text/plain</type>
            <size>9413</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3NzA2MGUyZDJjZi4uOGRiZTU2MjVhNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxOC0wOS0xMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IGZpeCB0ZXN0IGNhc2UgZmFpbHVyZXMgaW4ganMtaXNMaWtlbHlT
dGFja1RyYWNlLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MDY2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2Uu
aHRtbDoKKyAgICAgICAgQXZvaWQgSW5zcGVjdG9yIEludGVybmFsIEluamVjdGVkU2NyaXB0IGNv
ZGUgaW4gYmFja3RyYWNlcyBieSBwcm9kdWNpbmcKKyAgICAgICAgdGhlIGV4Y2VwdGlvbiBzdGFj
a3MgaW4gdGhlIHBhZ2UgaXRzZWxmIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCBpbnNwZWN0b3IKKyAg
ICAgICAgdGVzdCBldmFsdWF0aW9uIGNvZGUuIFRoaXMgcHJvZHVjZXMgZXhjZXB0aW9uIHN0YWNr
cyBtb3JlIGxpa2UgYSBwYWdlLgorCiAyMDE4LTA5LTExICBXb29kcm93IFdhbmcgIDx3b29kcm93
X3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXZWIgQVBJIFN0YXRpc3RpY3MgQ29sbGVj
dGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtl
bHlTdGFja1RyYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2pzLWlzTGlrZWx5U3RhY2tUcmFjZS1leHBlY3RlZC50eHQKaW5kZXggOTY4NzA3NmUwMjYuLmNi
NmM2YzMxZTU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9qcy1p
c0xpa2VseVN0YWNrVHJhY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS1leHBlY3RlZC50eHQKQEAgLTUsMjAgKzUs
MTYgQEAgVGVzdCBzdGFjayB0cmFjZSBkZXRlY3Rpb24gaGV1cmlzdGljLgogLS0gUnVubmluZyB0
ZXN0IGNhc2U6IG5vdFN0YWNrdHJhY2UKIFBBU1M6IFNob3VsZCBOT1QgYmUgYSBzdGFja3RyYWNl
LgogCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogdHlwZUVycm9yV3JhcAotRkFJTDogU2hvdWxkIGJl
IGEgc3RhY2t0cmFjZS4KLSAgICBFeHBlY3RlZDogdHJ1dGh5Ci0gICAgQWN0dWFsOiBmYWxzZQor
LS0gUnVubmluZyB0ZXN0IGNhc2U6IFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlLlR5
cGVFcnJvcgorUEFTUzogU2hvdWxkIGJlIGEgc3RhY2t0cmFjZS4KIAotLS0gUnVubmluZyB0ZXN0
IGNhc2U6IGdldEFub255bW91c0Z1bmN0aW9uRXJyb3IKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBX
SS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZS5Bbm9ueW1vdXNGdW5jdGlvbkVycm9yCiBQ
QVNTOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgogCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogdGVz
dFdpdGhOYXRpdmVDYWxsSW5CZXR3ZWVuCi1GQUlMOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgot
ICAgIEV4cGVjdGVkOiB0cnV0aHkKLSAgICBBY3R1YWw6IGZhbHNlCistLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UuTmF0aXZlRnVuY3Rpb25DYWxs
c0Vycm9yCitQQVNTOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgogCi0tLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogdGVzdEZvcm1hdHRlZFN0cmluZ3MKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBXSS5TdGFj
a1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZS5Ob25TdGFja1N0cmluZ3MKIFBBU1M6ICJ2aWRlbzox
OjIiIHNob3VsZCBub3QgYmUgYSBzdGFja3RyYWNlLgogUEFTUzogInZpZGVvL21wNDoxOjIiIHNo
b3VsZCBub3QgYmUgYSBzdGFja3RyYWNlLgogUEFTUzogInZpZGVvL21wNCA6IDExOjIyOjMzLTQ0
OjU1OjY2IiBzaG91bGQgbm90IGJlIGEgc3RhY2t0cmFjZS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLmh0bWwKaW5kZXgg
YzgxZTlhNjVhMzQuLjYwZWIxMTllZjEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2UuaHRtbApAQCAtMiw0MyArMiwz
MyBAQAogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1mdW5jdGlvbiB0
eXBlRXJyb3JXcmFwKCkKK2Z1bmN0aW9uIGdlbmVyYXRlVHlwZUVycm9yKCkKIHsKLSAgICByZXR1
cm4gdHlwZUVycm9yKCk7Ci19Ci0KLWZ1bmN0aW9uIHR5cGVFcnJvcigpCi17Ci0gICAgdmFyIG9i
amVjdCA9IHt9OwogICAgIHRyeSB7Ci0gICAgICAgIG9iamVjdC5wcm9wZXJ0eURvZXNudC5leGlz
dDsKKyAgICAgICAgKHt9KS5wcm9wZXJ0eURvZXNudC5leGlzdDsKICAgICB9IGNhdGNoKGUpIHsK
ICAgICAgICAgY29uc29sZS50cmFjZSgpOwogICAgICAgICByZXR1cm4gZS5zdGFjazsKICAgICB9
CiB9CiAKLWZ1bmN0aW9uIHRlc3RXaXRoTmF0aXZlQ2FsbEluQmV0d2VlbigpCitmdW5jdGlvbiBn
ZW5lcmF0ZUVycm9yTmF0aXZlQ2FsbEluQmV0d2VlbigpCiB7Ci0gICAgcmV0dXJuIFs0Ml0ubWFw
KHR5cGVFcnJvcilbMF07CisgICAgcmV0dXJuIFs0Ml0ubWFwKGdlbmVyYXRlVHlwZUVycm9yKVsw
XTsKIH0KIAotdmFyIF9hbm9ueW1vdXNGdW5jdGlvbkVycm9yID0gbnVsbDsKLQordmFyIF9nbG9i
YWxUeXBlRXJyb3IgPSBnZW5lcmF0ZVR5cGVFcnJvcigpOwordmFyIF9nbG9iYWxFcnJvcldpdGhO
YXRpdmVDYWxscyA9IGdlbmVyYXRlRXJyb3JOYXRpdmVDYWxsSW5CZXR3ZWVuKCk7Cit2YXIgX2ds
b2JhbEFub255bW91c0Z1bmN0aW9uRXJyb3IgPSBudWxsOwogKGZ1bmN0aW9uKCkgewogICAgIHZh
ciBvYmplY3QgPSB7fTsKICAgICB0cnkgewogICAgICAgICBvYmplY3QubWV0aG9kRG9lc250RXhp
c3QoKTsKICAgICB9IGNhdGNoKGUpIHsKLSAgICAgICAgX2Fub255bW91c0Z1bmN0aW9uRXJyb3Ig
PSBlLnN0YWNrOworICAgICAgICBfZ2xvYmFsQW5vbnltb3VzRnVuY3Rpb25FcnJvciA9IGUuc3Rh
Y2s7CiAgICAgfQogfSkoKTsKIAotZnVuY3Rpb24gZ2V0QW5vbnltb3VzRnVuY3Rpb25FcnJvcigp
Ci17Ci0gICAgcmV0dXJuIF9hbm9ueW1vdXNGdW5jdGlvbkVycm9yOwotfQotCiBmdW5jdGlvbiB0
ZXN0KCkKIHsKICAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUo
IldJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlIik7CkBAIC01Myw1MSArNDMsMzIgQEAg
ZnVuY3Rpb24gdGVzdCgpCiAgICAgfSk7CiAKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAg
ICAgIG5hbWU6ICJ0eXBlRXJyb3JXcmFwIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3Qp
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInR5cGVFcnJvcldy
YXAoKSIsIGZ1bmN0aW9uKGVycm9yLCByZXN1bHQpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXJy
b3IpCi0gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7Ci0KLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJh
Y2UocmVzdWx0KSwgIlNob3VsZCBiZSBhIHN0YWNrdHJhY2UuIik7Ci0KLSAgICAgICAgICAgICAg
ICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgbmFtZTogIldJLlN0YWNrVHJh
Y2UuaXNMaWtlbHlTdGFja1RyYWNlLlR5cGVFcnJvciIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7
CisgICAgICAgICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZShgX2dsb2JhbFR5cGVFcnJvcmApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RUaGF0KFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlKHJlc3VsdCksICJTaG91bGQg
YmUgYSBzdGFja3RyYWNlLiIpOwogICAgICAgICB9CiAgICAgfSk7CiAKICAgICBzdWl0ZS5hZGRU
ZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJnZXRBbm9ueW1vdXNGdW5jdGlvbkVycm9yIiwKLSAg
ICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoImdldEFub255bW91c0Z1bmN0aW9uRXJyb3IoKSIsIGZ1bmN0aW9uKGVy
cm9yLCByZXN1bHQpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXJyb3IpCi0gICAgICAgICAgICAg
ICAgICAgIHJlamVjdChlcnJvcik7Ci0KLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogdGhpcyB0
ZXN0IGNhc2UgZmFpbHMuIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgwNjY0PgotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChXSS5TdGFj
a1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3RhY2t0cmFj
ZS4iKTsKLQotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0pOworICAg
ICAgICBuYW1lOiAiV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UuQW5vbnltb3VzRnVu
Y3Rpb25FcnJvciIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgcmVz
dWx0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgX2dsb2JhbEFub255bW91
c0Z1bmN0aW9uRXJyb3JgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChX
SS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3Rh
Y2t0cmFjZS4iKTsKICAgICAgICAgfQogICAgIH0pOwogCiAgICAgc3VpdGUuYWRkVGVzdENhc2Uo
ewotICAgICAgICBuYW1lOiAidGVzdFdpdGhOYXRpdmVDYWxsSW5CZXR3ZWVuIiwKLSAgICAgICAg
dGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoInRlc3RXaXRoTmF0aXZlQ2FsbEluQmV0d2VlbigpIiwgZnVuY3Rpb24oZXJyb3Is
IHJlc3VsdCkgewotICAgICAgICAgICAgICAgIGlmIChlcnJvcikKLSAgICAgICAgICAgICAgICAg
ICAgcmVqZWN0KGVycm9yKTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0
VGhhdChXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJl
IGEgc3RhY2t0cmFjZS4iKTsKLQotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAg
ICAgIH0pOworICAgICAgICBuYW1lOiAiV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2Uu
TmF0aXZlRnVuY3Rpb25DYWxsc0Vycm9yIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAg
ICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBf
Z2xvYmFsRXJyb3JXaXRoTmF0aXZlQ2FsbHNgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0VGhhdChXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hv
dWxkIGJlIGEgc3RhY2t0cmFjZS4iKTsKICAgICAgICAgfQogICAgIH0pOwogCiAgICAgc3VpdGUu
YWRkVGVzdENhc2UoewotICAgICAgICBuYW1lOiAidGVzdEZvcm1hdHRlZFN0cmluZ3MiLAotICAg
ICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICBuYW1lOiAiV0kuU3RhY2tUcmFj
ZS5pc0xpa2VseVN0YWNrVHJhY2UuTm9uU3RhY2tTdHJpbmdzIiwKKyAgICAgICAgYXN5bmMgdGVz
dCgpIHsKICAgICAgICAgICAgIGNvbnN0IHN0cmluZ3MgPSBbCiAgICAgICAgICAgICAgICAgInZp
ZGVvOjE6MiIsCiAgICAgICAgICAgICAgICAgInZpZGVvL21wNDoxOjIiLApAQCAtMTA2LDExICs3
Nyw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgICAgICJodHRwOi8vdmlkZW8vbXA0
OjE6MiIsCiAgICAgICAgICAgICAgICAgImh0dHA6Ly92aWRlby9tcDQgOiAxMToyMjozMy00NDo1
NTo2NiIsCiAgICAgICAgICAgICBdOwotICAgICAgICAgICAgCisKICAgICAgICAgICAgIGZvciAo
bGV0IHN0cmluZyBvZiBzdHJpbmdzKQogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0VGhhdCghV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2Uoc3RyaW5nKSwgYCIke3N0
cmluZ30iIHNob3VsZCBub3QgYmUgYSBzdGFja3RyYWNlLmApOwotCi0gICAgICAgICAgICByZXNv
bHZlKCk7CiAgICAgICAgIH0KICAgICB9KTsKIApAQCAtMTE5LDggKzg4LDYgQEAgZnVuY3Rpb24g
dGVzdCgpCiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
PgotVGVzdCBzdGFjayB0cmFjZSBkZXRlY3Rpb24gaGV1cmlzdGljLjxicj4KLTwvcD4KKzxwPlRl
c3Qgc3RhY2sgdHJhY2UgZGV0ZWN0aW9uIGhldXJpc3RpYy48L3A+CiA8L2JvZHk+CiA8L2h0bWw+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBlY2QxMjdkMjgwYi4uOWMzNGU3OWE2MDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTA5LTExICBKb3Nl
cGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogZml4IHRlc3QgY2FzZSBmYWlsdXJlcyBpbiBqcy1pc0xpa2VseVN0YWNrVHJhY2UuaHRtbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwNjY0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL01vZGVscy9TdGFja1RyYWNlLmpzOgorICAgICAgICAoV0kuU3RhY2tUcmFjZS5pc0xp
a2VseVN0YWNrVHJhY2UpOgorICAgICAgICBJbiBhIHF1aWNrIGJlbmNobWFyayA1MCUgb2YgdGhl
IHRpbWUgd2FzIHJlYnVpbGRpbmcgdGhlIHNhbWUgY29tcGxleCByZWd1bGFyCisgICAgICAgIGV4
cHJlc3Npb24gb3ZlciBhbmQgb3ZlciBhZ2Fpbi4gSW5zdGVhZCBqdXN0IGJ1aWxkIHRoZSByZWdl
eCBvbmNlIGFuZCByZXNldAorICAgICAgICBpdCBiZWZvcmUgZWFjaCB1c2UuCisKIDIwMTgtMDkt
MTEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBGaXggdHlwbyAidnJpdHVhbGl6ZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU3RhY2tUcmFjZS5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TdGFja1RyYWNlLmpzCmluZGV4IDFk
ZmVhODg1MDZiLi41MjRmZjkyMzUyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL1N0YWNrVHJhY2UuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1N0YWNrVHJhY2UuanMKQEAgLTgwLDEyICs4MCwx
NiBAQCBXSS5TdGFja1RyYWNlID0gY2xhc3MgU3RhY2tUcmFjZQogICAgICAgICBpZiAoL15bXmEt
eiRfXS9pLnRlc3Qoc3RhY2tbMF0pKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
ICAgIGNvbnN0IHJlYXNvbmFibHlMb25nUHJvdG9jb2xMZW5ndGggPSAxMDsKLSAgICAgICAgY29u
c3QgcmVhc29uYWJseUxvbmdMaW5lTGVuZ3RoID0gNTAwOwotICAgICAgICBjb25zdCByZWFzb25h
Ymx5TG9uZ05hdGl2ZU1ldGhvZExlbmd0aCA9IDEyMDsKLSAgICAgICAgY29uc3Qgc3RhY2tUcmFj
ZUxpbmUgPSBgKGdsb2JhbCBjb2RlfGV2YWwgY29kZXxtb2R1bGUgY29kZXxcXHcrKT8oW146XXsx
LCR7cmVhc29uYWJseUxvbmdQcm90b2NvbExlbmd0aH19Oi8vW146XXsxLCR7cmVhc29uYWJseUxv
bmdMaW5lTGVuZ3RofX06XFxkKzpcXGQrfFteQF17MSwke3JlYXNvbmFibHlMb25nTmF0aXZlTWV0
aG9kTGVuZ3RofX1AXFxbbmF0aXZlIGNvZGVcXF0pYDsKLSAgICAgICAgY29uc3Qgc3RhY2tUcmFj
ZSA9IG5ldyBSZWdFeHAoYF4ke3N0YWNrVHJhY2VMaW5lfShbXFxuXFxyXSR7c3RhY2tUcmFjZUxp
bmV9KSskYCwgImciKTsKLSAgICAgICAgcmV0dXJuIHN0YWNrVHJhY2UudGVzdChzdGFjayk7Cisg
ICAgICAgIGlmICghV0kuU3RhY2tUcmFjZS5saWtlbHlTdGFja1RyYWNlUmVnZXgpIHsKKyAgICAg
ICAgICAgIGNvbnN0IHJlYXNvbmFibHlMb25nUHJvdG9jb2xMZW5ndGggPSAxMDsKKyAgICAgICAg
ICAgIGNvbnN0IHJlYXNvbmFibHlMb25nTGluZUxlbmd0aCA9IDUwMDsKKyAgICAgICAgICAgIGNv
bnN0IHJlYXNvbmFibHlMb25nTmF0aXZlTWV0aG9kTGVuZ3RoID0gMTIwOworICAgICAgICAgICAg
Y29uc3Qgc3RhY2tUcmFjZUxpbmUgPSBgKGdsb2JhbCBjb2RlfGV2YWwgY29kZXxtb2R1bGUgY29k
ZXxcXHcrKT8oW146XXsxLCR7cmVhc29uYWJseUxvbmdQcm90b2NvbExlbmd0aH19Oi8vW146XXsx
LCR7cmVhc29uYWJseUxvbmdMaW5lTGVuZ3RofX06XFxkKzpcXGQrfFteQF17MSwke3JlYXNvbmFi
bHlMb25nTmF0aXZlTWV0aG9kTGVuZ3RofX1AXFxbbmF0aXZlIGNvZGVcXF0pYDsKKyAgICAgICAg
ICAgIFdJLlN0YWNrVHJhY2UubGlrZWx5U3RhY2tUcmFjZVJlZ2V4ID0gbmV3IFJlZ0V4cChgXiR7
c3RhY2tUcmFjZUxpbmV9KFtcXG5cXHJdJHtzdGFja1RyYWNlTGluZX0pKyRgLCAiZyIpOworICAg
ICAgICB9CisKKyAgICAgICAgV0kuU3RhY2tUcmFjZS5saWtlbHlTdGFja1RyYWNlUmVnZXgubGFz
dEluZGV4ID0gMDsKKyAgICAgICAgcmV0dXJuIFdJLlN0YWNrVHJhY2UubGlrZWx5U3RhY2tUcmFj
ZVJlZ2V4LnRlc3Qoc3RhY2spOwogICAgIH0KIAogICAgIHN0YXRpYyBfcGFyc2VTdGFja1RyYWNl
KHN0YWNrKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349441</attachid>
            <date>2018-09-11 13:39:43 -0700</date>
            <delta_ts>2018-09-11 13:48:33 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>regex-2.patch</filename>
            <type>text/plain</type>
            <size>9408</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3NzA2MGUyZDJjZi4uOGRiZTU2MjVhNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxOC0wOS0xMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IGZpeCB0ZXN0IGNhc2UgZmFpbHVyZXMgaW4ganMtaXNMaWtlbHlT
dGFja1RyYWNlLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MDY2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2Uu
aHRtbDoKKyAgICAgICAgQXZvaWQgSW5zcGVjdG9yIEludGVybmFsIEluamVjdGVkU2NyaXB0IGNv
ZGUgaW4gYmFja3RyYWNlcyBieSBwcm9kdWNpbmcKKyAgICAgICAgdGhlIGV4Y2VwdGlvbiBzdGFj
a3MgaW4gdGhlIHBhZ2UgaXRzZWxmIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCBpbnNwZWN0b3IKKyAg
ICAgICAgdGVzdCBldmFsdWF0aW9uIGNvZGUuIFRoaXMgcHJvZHVjZXMgZXhjZXB0aW9uIHN0YWNr
cyBtb3JlIGxpa2UgYSBwYWdlLgorCiAyMDE4LTA5LTExICBXb29kcm93IFdhbmcgIDx3b29kcm93
X3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXZWIgQVBJIFN0YXRpc3RpY3MgQ29sbGVj
dGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtl
bHlTdGFja1RyYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2pzLWlzTGlrZWx5U3RhY2tUcmFjZS1leHBlY3RlZC50eHQKaW5kZXggOTY4NzA3NmUwMjYuLmNi
NmM2YzMxZTU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9qcy1p
c0xpa2VseVN0YWNrVHJhY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS1leHBlY3RlZC50eHQKQEAgLTUsMjAgKzUs
MTYgQEAgVGVzdCBzdGFjayB0cmFjZSBkZXRlY3Rpb24gaGV1cmlzdGljLgogLS0gUnVubmluZyB0
ZXN0IGNhc2U6IG5vdFN0YWNrdHJhY2UKIFBBU1M6IFNob3VsZCBOT1QgYmUgYSBzdGFja3RyYWNl
LgogCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogdHlwZUVycm9yV3JhcAotRkFJTDogU2hvdWxkIGJl
IGEgc3RhY2t0cmFjZS4KLSAgICBFeHBlY3RlZDogdHJ1dGh5Ci0gICAgQWN0dWFsOiBmYWxzZQor
LS0gUnVubmluZyB0ZXN0IGNhc2U6IFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlLlR5
cGVFcnJvcgorUEFTUzogU2hvdWxkIGJlIGEgc3RhY2t0cmFjZS4KIAotLS0gUnVubmluZyB0ZXN0
IGNhc2U6IGdldEFub255bW91c0Z1bmN0aW9uRXJyb3IKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBX
SS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZS5Bbm9ueW1vdXNGdW5jdGlvbkVycm9yCiBQ
QVNTOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgogCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogdGVz
dFdpdGhOYXRpdmVDYWxsSW5CZXR3ZWVuCi1GQUlMOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgot
ICAgIEV4cGVjdGVkOiB0cnV0aHkKLSAgICBBY3R1YWw6IGZhbHNlCistLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UuTmF0aXZlRnVuY3Rpb25DYWxs
c0Vycm9yCitQQVNTOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgogCi0tLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogdGVzdEZvcm1hdHRlZFN0cmluZ3MKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBXSS5TdGFj
a1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZS5Ob25TdGFja1N0cmluZ3MKIFBBU1M6ICJ2aWRlbzox
OjIiIHNob3VsZCBub3QgYmUgYSBzdGFja3RyYWNlLgogUEFTUzogInZpZGVvL21wNDoxOjIiIHNo
b3VsZCBub3QgYmUgYSBzdGFja3RyYWNlLgogUEFTUzogInZpZGVvL21wNCA6IDExOjIyOjMzLTQ0
OjU1OjY2IiBzaG91bGQgbm90IGJlIGEgc3RhY2t0cmFjZS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLmh0bWwKaW5kZXgg
YzgxZTlhNjVhMzQuLjYwZWIxMTllZjEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2UuaHRtbApAQCAtMiw0MyArMiwz
MyBAQAogPGhlYWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVz
b3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1mdW5jdGlvbiB0
eXBlRXJyb3JXcmFwKCkKK2Z1bmN0aW9uIGdlbmVyYXRlVHlwZUVycm9yKCkKIHsKLSAgICByZXR1
cm4gdHlwZUVycm9yKCk7Ci19Ci0KLWZ1bmN0aW9uIHR5cGVFcnJvcigpCi17Ci0gICAgdmFyIG9i
amVjdCA9IHt9OwogICAgIHRyeSB7Ci0gICAgICAgIG9iamVjdC5wcm9wZXJ0eURvZXNudC5leGlz
dDsKKyAgICAgICAgKHt9KS5wcm9wZXJ0eURvZXNudC5leGlzdDsKICAgICB9IGNhdGNoKGUpIHsK
ICAgICAgICAgY29uc29sZS50cmFjZSgpOwogICAgICAgICByZXR1cm4gZS5zdGFjazsKICAgICB9
CiB9CiAKLWZ1bmN0aW9uIHRlc3RXaXRoTmF0aXZlQ2FsbEluQmV0d2VlbigpCitmdW5jdGlvbiBn
ZW5lcmF0ZUVycm9yTmF0aXZlQ2FsbEluQmV0d2VlbigpCiB7Ci0gICAgcmV0dXJuIFs0Ml0ubWFw
KHR5cGVFcnJvcilbMF07CisgICAgcmV0dXJuIFs0Ml0ubWFwKGdlbmVyYXRlVHlwZUVycm9yKVsw
XTsKIH0KIAotdmFyIF9hbm9ueW1vdXNGdW5jdGlvbkVycm9yID0gbnVsbDsKLQordmFyIF9nbG9i
YWxUeXBlRXJyb3IgPSBnZW5lcmF0ZVR5cGVFcnJvcigpOwordmFyIF9nbG9iYWxFcnJvcldpdGhO
YXRpdmVDYWxscyA9IGdlbmVyYXRlRXJyb3JOYXRpdmVDYWxsSW5CZXR3ZWVuKCk7Cit2YXIgX2ds
b2JhbEFub255bW91c0Z1bmN0aW9uRXJyb3IgPSBudWxsOwogKGZ1bmN0aW9uKCkgewogICAgIHZh
ciBvYmplY3QgPSB7fTsKICAgICB0cnkgewogICAgICAgICBvYmplY3QubWV0aG9kRG9lc250RXhp
c3QoKTsKICAgICB9IGNhdGNoKGUpIHsKLSAgICAgICAgX2Fub255bW91c0Z1bmN0aW9uRXJyb3Ig
PSBlLnN0YWNrOworICAgICAgICBfZ2xvYmFsQW5vbnltb3VzRnVuY3Rpb25FcnJvciA9IGUuc3Rh
Y2s7CiAgICAgfQogfSkoKTsKIAotZnVuY3Rpb24gZ2V0QW5vbnltb3VzRnVuY3Rpb25FcnJvcigp
Ci17Ci0gICAgcmV0dXJuIF9hbm9ueW1vdXNGdW5jdGlvbkVycm9yOwotfQotCiBmdW5jdGlvbiB0
ZXN0KCkKIHsKICAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUo
IldJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlIik7CkBAIC01Myw1MSArNDMsMzIgQEAg
ZnVuY3Rpb24gdGVzdCgpCiAgICAgfSk7CiAKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAg
ICAgIG5hbWU6ICJ0eXBlRXJyb3JXcmFwIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3Qp
IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInR5cGVFcnJvcldy
YXAoKSIsIGZ1bmN0aW9uKGVycm9yLCByZXN1bHQpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXJy
b3IpCi0gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7Ci0KLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJh
Y2UocmVzdWx0KSwgIlNob3VsZCBiZSBhIHN0YWNrdHJhY2UuIik7Ci0KLSAgICAgICAgICAgICAg
ICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgbmFtZTogIldJLlN0YWNrVHJh
Y2UuaXNMaWtlbHlTdGFja1RyYWNlLlR5cGVFcnJvciIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7
CisgICAgICAgICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUlu
UGFnZShgX2dsb2JhbFR5cGVFcnJvcmApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RUaGF0KFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlKHJlc3VsdCksICJTaG91bGQg
YmUgYSBzdGFja3RyYWNlLiIpOwogICAgICAgICB9CiAgICAgfSk7CiAKICAgICBzdWl0ZS5hZGRU
ZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJnZXRBbm9ueW1vdXNGdW5jdGlvbkVycm9yIiwKLSAg
ICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoImdldEFub255bW91c0Z1bmN0aW9uRXJyb3IoKSIsIGZ1bmN0aW9uKGVy
cm9yLCByZXN1bHQpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXJyb3IpCi0gICAgICAgICAgICAg
ICAgICAgIHJlamVjdChlcnJvcik7Ci0KLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogdGhpcyB0
ZXN0IGNhc2UgZmFpbHMuIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgwNjY0PgotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChXSS5TdGFj
a1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3RhY2t0cmFj
ZS4iKTsKLQotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0pOworICAg
ICAgICBuYW1lOiAiV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UuQW5vbnltb3VzRnVu
Y3Rpb25FcnJvciIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgcmVz
dWx0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgX2dsb2JhbEFub255bW91
c0Z1bmN0aW9uRXJyb3JgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChX
SS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3Rh
Y2t0cmFjZS4iKTsKICAgICAgICAgfQogICAgIH0pOwogCiAgICAgc3VpdGUuYWRkVGVzdENhc2Uo
ewotICAgICAgICBuYW1lOiAidGVzdFdpdGhOYXRpdmVDYWxsSW5CZXR3ZWVuIiwKLSAgICAgICAg
dGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVh
dGVJblBhZ2UoInRlc3RXaXRoTmF0aXZlQ2FsbEluQmV0d2VlbigpIiwgZnVuY3Rpb24oZXJyb3Is
IHJlc3VsdCkgewotICAgICAgICAgICAgICAgIGlmIChlcnJvcikKLSAgICAgICAgICAgICAgICAg
ICAgcmVqZWN0KGVycm9yKTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0
VGhhdChXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJl
IGEgc3RhY2t0cmFjZS4iKTsKLQotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAg
ICAgIH0pOworICAgICAgICBuYW1lOiAiV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2Uu
TmF0aXZlRnVuY3Rpb25DYWxsc0Vycm9yIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAg
ICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKGBf
Z2xvYmFsRXJyb3JXaXRoTmF0aXZlQ2FsbHNgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0VGhhdChXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hv
dWxkIGJlIGEgc3RhY2t0cmFjZS4iKTsKICAgICAgICAgfQogICAgIH0pOwogCiAgICAgc3VpdGUu
YWRkVGVzdENhc2UoewotICAgICAgICBuYW1lOiAidGVzdEZvcm1hdHRlZFN0cmluZ3MiLAotICAg
ICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICBuYW1lOiAiV0kuU3RhY2tUcmFj
ZS5pc0xpa2VseVN0YWNrVHJhY2UuTm9uU3RhY2tTdHJpbmdzIiwKKyAgICAgICAgYXN5bmMgdGVz
dCgpIHsKICAgICAgICAgICAgIGNvbnN0IHN0cmluZ3MgPSBbCiAgICAgICAgICAgICAgICAgInZp
ZGVvOjE6MiIsCiAgICAgICAgICAgICAgICAgInZpZGVvL21wNDoxOjIiLApAQCAtMTA2LDExICs3
Nyw5IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgICAgICJodHRwOi8vdmlkZW8vbXA0
OjE6MiIsCiAgICAgICAgICAgICAgICAgImh0dHA6Ly92aWRlby9tcDQgOiAxMToyMjozMy00NDo1
NTo2NiIsCiAgICAgICAgICAgICBdOwotICAgICAgICAgICAgCisKICAgICAgICAgICAgIGZvciAo
bGV0IHN0cmluZyBvZiBzdHJpbmdzKQogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0VGhhdCghV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2Uoc3RyaW5nKSwgYCIke3N0
cmluZ30iIHNob3VsZCBub3QgYmUgYSBzdGFja3RyYWNlLmApOwotCi0gICAgICAgICAgICByZXNv
bHZlKCk7CiAgICAgICAgIH0KICAgICB9KTsKIApAQCAtMTE5LDggKzg4LDYgQEAgZnVuY3Rpb24g
dGVzdCgpCiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
PgotVGVzdCBzdGFjayB0cmFjZSBkZXRlY3Rpb24gaGV1cmlzdGljLjxicj4KLTwvcD4KKzxwPlRl
c3Qgc3RhY2sgdHJhY2UgZGV0ZWN0aW9uIGhldXJpc3RpYy48L3A+CiA8L2JvZHk+CiA8L2h0bWw+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBlY2QxMjdkMjgwYi4uOWMzNGU3OWE2MDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE4LTA5LTExICBKb3Nl
cGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogZml4IHRlc3QgY2FzZSBmYWlsdXJlcyBpbiBqcy1pc0xpa2VseVN0YWNrVHJhY2UuaHRtbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwNjY0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL01vZGVscy9TdGFja1RyYWNlLmpzOgorICAgICAgICAoV0kuU3RhY2tUcmFjZS5pc0xp
a2VseVN0YWNrVHJhY2UpOgorICAgICAgICBJbiBhIHF1aWNrIGJlbmNobWFyayA1MCUgb2YgdGhl
IHRpbWUgd2FzIHJlYnVpbGRpbmcgdGhlIHNhbWUgY29tcGxleCByZWd1bGFyCisgICAgICAgIGV4
cHJlc3Npb24gb3ZlciBhbmQgb3ZlciBhZ2Fpbi4gSW5zdGVhZCBqdXN0IGJ1aWxkIHRoZSByZWdl
eCBvbmNlIGFuZCByZXNldAorICAgICAgICBpdCBiZWZvcmUgZWFjaCB1c2UuCisKIDIwMTgtMDkt
MTEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBGaXggdHlwbyAidnJpdHVhbGl6ZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU3RhY2tUcmFjZS5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TdGFja1RyYWNlLmpzCmluZGV4IDFk
ZmVhODg1MDZiLi4yOGRkMWY4MzEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL1N0YWNrVHJhY2UuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1N0YWNrVHJhY2UuanMKQEAgLTgwLDEyICs4MCwx
NiBAQCBXSS5TdGFja1RyYWNlID0gY2xhc3MgU3RhY2tUcmFjZQogICAgICAgICBpZiAoL15bXmEt
eiRfXS9pLnRlc3Qoc3RhY2tbMF0pKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
ICAgIGNvbnN0IHJlYXNvbmFibHlMb25nUHJvdG9jb2xMZW5ndGggPSAxMDsKLSAgICAgICAgY29u
c3QgcmVhc29uYWJseUxvbmdMaW5lTGVuZ3RoID0gNTAwOwotICAgICAgICBjb25zdCByZWFzb25h
Ymx5TG9uZ05hdGl2ZU1ldGhvZExlbmd0aCA9IDEyMDsKLSAgICAgICAgY29uc3Qgc3RhY2tUcmFj
ZUxpbmUgPSBgKGdsb2JhbCBjb2RlfGV2YWwgY29kZXxtb2R1bGUgY29kZXxcXHcrKT8oW146XXsx
LCR7cmVhc29uYWJseUxvbmdQcm90b2NvbExlbmd0aH19Oi8vW146XXsxLCR7cmVhc29uYWJseUxv
bmdMaW5lTGVuZ3RofX06XFxkKzpcXGQrfFteQF17MSwke3JlYXNvbmFibHlMb25nTmF0aXZlTWV0
aG9kTGVuZ3RofX1AXFxbbmF0aXZlIGNvZGVcXF0pYDsKLSAgICAgICAgY29uc3Qgc3RhY2tUcmFj
ZSA9IG5ldyBSZWdFeHAoYF4ke3N0YWNrVHJhY2VMaW5lfShbXFxuXFxyXSR7c3RhY2tUcmFjZUxp
bmV9KSskYCwgImciKTsKLSAgICAgICAgcmV0dXJuIHN0YWNrVHJhY2UudGVzdChzdGFjayk7Cisg
ICAgICAgIGlmICghV0kuU3RhY2tUcmFjZS5saWtlbHlTdGFja1RyYWNlUmVnZXgpIHsKKyAgICAg
ICAgICAgIGNvbnN0IHJlYXNvbmFibHlMb25nUHJvdG9jb2xMZW5ndGggPSAxMDsKKyAgICAgICAg
ICAgIGNvbnN0IHJlYXNvbmFibHlMb25nTGluZUxlbmd0aCA9IDUwMDsKKyAgICAgICAgICAgIGNv
bnN0IHJlYXNvbmFibHlMb25nTmF0aXZlTWV0aG9kTGVuZ3RoID0gMTIwOworICAgICAgICAgICAg
Y29uc3Qgc3RhY2tUcmFjZUxpbmUgPSBgKGdsb2JhbCBjb2RlfGV2YWwgY29kZXxtb2R1bGUgY29k
ZXxcXHcrKT8oW146XXsxLCR7cmVhc29uYWJseUxvbmdQcm90b2NvbExlbmd0aH19Oi8vW146XXsx
LCR7cmVhc29uYWJseUxvbmdMaW5lTGVuZ3RofX06XFxkKzpcXGQrfFteQF17MSwke3JlYXNvbmFi
bHlMb25nTmF0aXZlTWV0aG9kTGVuZ3RofX1AXFxbbmF0aXZlIGNvZGVcXF0pYDsKKyAgICAgICAg
ICAgIFdJLlN0YWNrVHJhY2UubGlrZWx5U3RhY2tUcmFjZVJlZ2V4ID0gbmV3IFJlZ0V4cChgXiR7
c3RhY2tUcmFjZUxpbmV9KFtcXG5cXHJdJHtzdGFja1RyYWNlTGluZX0pKyRgKTsKKyAgICAgICAg
fQorCisgICAgICAgIFdJLlN0YWNrVHJhY2UubGlrZWx5U3RhY2tUcmFjZVJlZ2V4Lmxhc3RJbmRl
eCA9IDA7CisgICAgICAgIHJldHVybiBXSS5TdGFja1RyYWNlLmxpa2VseVN0YWNrVHJhY2VSZWdl
eC50ZXN0KHN0YWNrKTsKICAgICB9CiAKICAgICBzdGF0aWMgX3BhcnNlU3RhY2tUcmFjZShzdGFj
aykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349444</attachid>
            <date>2018-09-11 13:48:33 -0700</date>
            <delta_ts>2018-09-11 16:41:47 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>regex-3.patch</filename>
            <type>text/plain</type>
            <size>10732</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3NzA2MGUyZDJjZi4uZjE2YzRlYTYyNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAor
MjAxOC0wOS0xMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IGZpeCB0ZXN0IGNhc2UgZmFpbHVyZXMgaW4ganMtaXNMaWtlbHlT
dGFja1RyYWNlLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MDY2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2Uu
aHRtbDoKKyAgICAgICAgQXZvaWQgSW5zcGVjdG9yIEludGVybmFsIEluamVjdGVkU2NyaXB0IGNv
ZGUgaW4gYmFja3RyYWNlcyBieSBwcm9kdWNpbmcKKyAgICAgICAgdGhlIGV4Y2VwdGlvbiBzdGFj
a3MgaW4gdGhlIHBhZ2UgaXRzZWxmIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCBpbnNwZWN0b3IKKyAg
ICAgICAgdGVzdCBldmFsdWF0aW9uIGNvZGUuIFRoaXMgcHJvZHVjZXMgZXhjZXB0aW9uIHN0YWNr
cyBtb3JlIGxpa2UgYSBwYWdlLgorICAgICAgICBBbHNvIGFkZCBzb21lIGV4cGxpY2l0IHRlc3Rz
IGZvciBzdHJpbmdzIHRoYXQgd2UnZCBleHBlY3QgdG8gYmUgY2xhc3NpZmllZAorICAgICAgICBh
cyBleGNlcHRpb24gc3RhY2tzLgorCiAyMDE4LTA5LTExICBXb29kcm93IFdhbmcgIDx3b29kcm93
X3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXZWIgQVBJIFN0YXRpc3RpY3MgQ29sbGVj
dGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtl
bHlTdGFja1RyYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2pzLWlzTGlrZWx5U3RhY2tUcmFjZS1leHBlY3RlZC50eHQKaW5kZXggOTY4NzA3NmUwMjYuLjQ0
MDk3NWVhMjYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9qcy1p
c0xpa2VseVN0YWNrVHJhY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS1leHBlY3RlZC50eHQKQEAgLTUsMjAgKzUs
MjEgQEAgVGVzdCBzdGFjayB0cmFjZSBkZXRlY3Rpb24gaGV1cmlzdGljLgogLS0gUnVubmluZyB0
ZXN0IGNhc2U6IG5vdFN0YWNrdHJhY2UKIFBBU1M6IFNob3VsZCBOT1QgYmUgYSBzdGFja3RyYWNl
LgogCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogdHlwZUVycm9yV3JhcAotRkFJTDogU2hvdWxkIGJl
IGEgc3RhY2t0cmFjZS4KLSAgICBFeHBlY3RlZDogdHJ1dGh5Ci0gICAgQWN0dWFsOiBmYWxzZQor
LS0gUnVubmluZyB0ZXN0IGNhc2U6IFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlLlR5
cGVFcnJvcgorUEFTUzogU2hvdWxkIGJlIGEgc3RhY2t0cmFjZS4KKworLS0gUnVubmluZyB0ZXN0
IGNhc2U6IFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlLkFub255bW91c0Z1bmN0aW9u
RXJyb3IKK1BBU1M6IFNob3VsZCBiZSBhIHN0YWNrdHJhY2UuCiAKLS0tIFJ1bm5pbmcgdGVzdCBj
YXNlOiBnZXRBbm9ueW1vdXNGdW5jdGlvbkVycm9yCistLSBSdW5uaW5nIHRlc3QgY2FzZTogV0ku
U3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UuTmF0aXZlRnVuY3Rpb25DYWxsc0Vycm9yCiBQ
QVNTOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgogCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogdGVz
dFdpdGhOYXRpdmVDYWxsSW5CZXR3ZWVuCi1GQUlMOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgot
ICAgIEV4cGVjdGVkOiB0cnV0aHkKLSAgICBBY3R1YWw6IGZhbHNlCistLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UuVmFsaWRTdGFja1N0cmluZ3MK
K1BBU1M6ICJhQGZpbGU6Ly8vZXguaHRtbDoxMDo2XG5iQGZpbGU6Ly8vZXguaHRtbDo3OjZcbmds
b2JhbCBjb2RlQGZpbGU6Ly9leC5odG1sOjEyOjIiIHNob3VsZCBiZSBhIHN0YWNrdHJhY2UuCitQ
QVNTOiAiYUBmaWxlOi8vL2V4Lmh0bWw6MTA6NlxuYkBmaWxlOi8vL2V4Lmh0bWw6Nzo2XG5nbG9i
YWwgY29kZUBmaWxlOi8vZXguaHRtbDoxMjoyIiBzaG91bGQgYmUgYSBzdGFja3RyYWNlLgorUEFT
UzogImdsb2JhbCBjb2RlQGZpbGU6Ly8vZXguaHRtbDoxOjFcbm1hcEBbbmF0aXZlIGNvZGVdIiBz
aG91bGQgYmUgYSBzdGFja3RyYWNlLgogCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogdGVzdEZvcm1h
dHRlZFN0cmluZ3MKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBXSS5TdGFja1RyYWNlLmlzTGlrZWx5
U3RhY2tUcmFjZS5JbnZhbGlkU3RhY2tTdHJpbmdzCiBQQVNTOiAidmlkZW86MToyIiBzaG91bGQg
bm90IGJlIGEgc3RhY2t0cmFjZS4KIFBBU1M6ICJ2aWRlby9tcDQ6MToyIiBzaG91bGQgbm90IGJl
IGEgc3RhY2t0cmFjZS4KIFBBU1M6ICJ2aWRlby9tcDQgOiAxMToyMjozMy00NDo1NTo2NiIgc2hv
dWxkIG5vdCBiZSBhIHN0YWNrdHJhY2UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2UuaHRtbCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS5odG1sCmluZGV4IGM4MWU5YTY1YTM0
Li5jYWIxZTUzZjUyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUv
anMtaXNMaWtlbHlTdGFja1RyYWNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nv
bnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLmh0bWwKQEAgLTIsNDMgKzIsMzMgQEAKIDxoZWFk
PgogPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotZnVuY3Rpb24gdHlwZUVycm9yV3Jh
cCgpCitmdW5jdGlvbiBnZW5lcmF0ZVR5cGVFcnJvcigpCiB7Ci0gICAgcmV0dXJuIHR5cGVFcnJv
cigpOwotfQotCi1mdW5jdGlvbiB0eXBlRXJyb3IoKQotewotICAgIHZhciBvYmplY3QgPSB7fTsK
ICAgICB0cnkgewotICAgICAgICBvYmplY3QucHJvcGVydHlEb2VzbnQuZXhpc3Q7CisgICAgICAg
ICh7fSkucHJvcGVydHlEb2VzbnQuZXhpc3Q7CiAgICAgfSBjYXRjaChlKSB7CiAgICAgICAgIGNv
bnNvbGUudHJhY2UoKTsKICAgICAgICAgcmV0dXJuIGUuc3RhY2s7CiAgICAgfQogfQogCi1mdW5j
dGlvbiB0ZXN0V2l0aE5hdGl2ZUNhbGxJbkJldHdlZW4oKQorZnVuY3Rpb24gZ2VuZXJhdGVFcnJv
ck5hdGl2ZUNhbGxJbkJldHdlZW4oKQogewotICAgIHJldHVybiBbNDJdLm1hcCh0eXBlRXJyb3Ip
WzBdOworICAgIHJldHVybiBbNDJdLm1hcChnZW5lcmF0ZVR5cGVFcnJvcilbMF07CiB9CiAKLXZh
ciBfYW5vbnltb3VzRnVuY3Rpb25FcnJvciA9IG51bGw7Ci0KK3ZhciBfZ2xvYmFsVHlwZUVycm9y
ID0gZ2VuZXJhdGVUeXBlRXJyb3IoKTsKK3ZhciBfZ2xvYmFsRXJyb3JXaXRoTmF0aXZlQ2FsbHMg
PSBnZW5lcmF0ZUVycm9yTmF0aXZlQ2FsbEluQmV0d2VlbigpOwordmFyIF9nbG9iYWxBbm9ueW1v
dXNGdW5jdGlvbkVycm9yID0gbnVsbDsKIChmdW5jdGlvbigpIHsKICAgICB2YXIgb2JqZWN0ID0g
e307CiAgICAgdHJ5IHsKICAgICAgICAgb2JqZWN0Lm1ldGhvZERvZXNudEV4aXN0KCk7CiAgICAg
fSBjYXRjaChlKSB7Ci0gICAgICAgIF9hbm9ueW1vdXNGdW5jdGlvbkVycm9yID0gZS5zdGFjazsK
KyAgICAgICAgX2dsb2JhbEFub255bW91c0Z1bmN0aW9uRXJyb3IgPSBlLnN0YWNrOwogICAgIH0K
IH0pKCk7CiAKLWZ1bmN0aW9uIGdldEFub255bW91c0Z1bmN0aW9uRXJyb3IoKQotewotICAgIHJl
dHVybiBfYW5vbnltb3VzRnVuY3Rpb25FcnJvcjsKLX0KLQogZnVuY3Rpb24gdGVzdCgpCiB7CiAg
ICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJXSS5TdGFja1Ry
YWNlLmlzTGlrZWx5U3RhY2tUcmFjZSIpOwpAQCAtNTMsNTEgKzQzLDQ2IEBAIGZ1bmN0aW9uIHRl
c3QoKQogICAgIH0pOwogCiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICBuYW1lOiAi
dHlwZUVycm9yV3JhcCIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ0eXBlRXJyb3JXcmFwKCkiLCBmdW5j
dGlvbihlcnJvciwgcmVzdWx0KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGVycm9yKQotICAgICAg
ICAgICAgICAgICAgICByZWplY3QoZXJyb3IpOwotCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RUaGF0KFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlKHJlc3VsdCks
ICJTaG91bGQgYmUgYSBzdGFja3RyYWNlLiIpOwotCi0gICAgICAgICAgICAgICAgcmVzb2x2ZSgp
OwotICAgICAgICAgICAgfSk7CisgICAgICAgIG5hbWU6ICJXSS5TdGFja1RyYWNlLmlzTGlrZWx5
U3RhY2tUcmFjZS5UeXBlRXJyb3IiLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAg
ICAgbGV0IHJlc3VsdCA9IGF3YWl0IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYF9nbG9i
YWxUeXBlRXJyb3JgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChXSS5T
dGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3RhY2t0
cmFjZS4iKTsKICAgICAgICAgfQogICAgIH0pOwogCiAgICAgc3VpdGUuYWRkVGVzdENhc2Uoewot
ICAgICAgICBuYW1lOiAiZ2V0QW5vbnltb3VzRnVuY3Rpb25FcnJvciIsCi0gICAgICAgIHRlc3Qo
cmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5Q
YWdlKCJnZXRBbm9ueW1vdXNGdW5jdGlvbkVycm9yKCkiLCBmdW5jdGlvbihlcnJvciwgcmVzdWx0
KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGVycm9yKQotICAgICAgICAgICAgICAgICAgICByZWpl
Y3QoZXJyb3IpOwotCi0gICAgICAgICAgICAgICAgLy8gRklYTUU6IHRoaXMgdGVzdCBjYXNlIGZh
aWxzLiA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDY2ND4KLSAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoV0kuU3RhY2tUcmFjZS5pc0xp
a2VseVN0YWNrVHJhY2UocmVzdWx0KSwgIlNob3VsZCBiZSBhIHN0YWNrdHJhY2UuIik7Ci0KLSAg
ICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgbmFtZTog
IldJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlLkFub255bW91c0Z1bmN0aW9uRXJyb3Ii
LAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0
IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYF9nbG9iYWxBbm9ueW1vdXNGdW5jdGlvbkVy
cm9yYCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoV0kuU3RhY2tUcmFj
ZS5pc0xpa2VseVN0YWNrVHJhY2UocmVzdWx0KSwgIlNob3VsZCBiZSBhIHN0YWNrdHJhY2UuIik7
CiAgICAgICAgIH0KICAgICB9KTsKIAogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAg
bmFtZTogInRlc3RXaXRoTmF0aXZlQ2FsbEluQmV0d2VlbiIsCi0gICAgICAgIHRlc3QocmVzb2x2
ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ0
ZXN0V2l0aE5hdGl2ZUNhbGxJbkJldHdlZW4oKSIsIGZ1bmN0aW9uKGVycm9yLCByZXN1bHQpIHsK
LSAgICAgICAgICAgICAgICBpZiAoZXJyb3IpCi0gICAgICAgICAgICAgICAgICAgIHJlamVjdChl
cnJvcik7Ci0KLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoV0kuU3Rh
Y2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UocmVzdWx0KSwgIlNob3VsZCBiZSBhIHN0YWNrdHJh
Y2UuIik7CisgICAgICAgIG5hbWU6ICJXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZS5O
YXRpdmVGdW5jdGlvbkNhbGxzRXJyb3IiLAorICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAg
ICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoYF9n
bG9iYWxFcnJvcldpdGhOYXRpdmVDYWxsc2ApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RUaGF0KFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlKHJlc3VsdCksICJTaG91
bGQgYmUgYSBzdGFja3RyYWNlLiIpOworICAgICAgICB9CisgICAgfSk7CiAKLSAgICAgICAgICAg
ICAgICByZXNvbHZlKCk7Ci0gICAgICAgICAgICB9KTsKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7
CisgICAgICAgIG5hbWU6ICJXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZS5WYWxpZFN0
YWNrU3RyaW5ncyIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBjb25zdCBz
dHJpbmdzID0gWworICAgICAgICAgICAgICAgICJhQGZpbGU6Ly8vZXguaHRtbDoxMDo2XG5iQGZp
bGU6Ly8vZXguaHRtbDo3OjZcbmdsb2JhbCBjb2RlQGZpbGU6Ly9leC5odG1sOjEyOjIiLAorICAg
ICAgICAgICAgICAgICJhQGZpbGU6Ly8vZXguaHRtbDoxMDo2XG5iQGZpbGU6Ly8vZXguaHRtbDo3
OjZcbmdsb2JhbCBjb2RlQGZpbGU6Ly9leC5odG1sOjEyOjIiLAorICAgICAgICAgICAgICAgICJn
bG9iYWwgY29kZUBmaWxlOi8vL2V4Lmh0bWw6MToxXG5tYXBAW25hdGl2ZSBjb2RlXSIsCisgICAg
ICAgICAgICBdOworCisgICAgICAgICAgICBmb3IgKGxldCBzdHJpbmcgb2Ygc3RyaW5ncykKKyAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoV0kuU3RhY2tUcmFjZS5pc0xp
a2VseVN0YWNrVHJhY2Uoc3RyaW5nKSwgYCR7SlNPTi5zdHJpbmdpZnkoc3RyaW5nKX0gc2hvdWxk
IGJlIGEgc3RhY2t0cmFjZS5gKTsKICAgICAgICAgfQogICAgIH0pOwogCiAgICAgc3VpdGUuYWRk
VGVzdENhc2UoewotICAgICAgICBuYW1lOiAidGVzdEZvcm1hdHRlZFN0cmluZ3MiLAotICAgICAg
ICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICBuYW1lOiAiV0kuU3RhY2tUcmFjZS5p
c0xpa2VseVN0YWNrVHJhY2UuSW52YWxpZFN0YWNrU3RyaW5ncyIsCisgICAgICAgIGFzeW5jIHRl
c3QoKSB7CiAgICAgICAgICAgICBjb25zdCBzdHJpbmdzID0gWwogICAgICAgICAgICAgICAgICJ2
aWRlbzoxOjIiLAogICAgICAgICAgICAgICAgICJ2aWRlby9tcDQ6MToyIiwKQEAgLTEwNiwxMSAr
OTEsOSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgICAgICAiaHR0cDovL3ZpZGVvL21w
NDoxOjIiLAogICAgICAgICAgICAgICAgICJodHRwOi8vdmlkZW8vbXA0IDogMTE6MjI6MzMtNDQ6
NTU6NjYiLAogICAgICAgICAgICAgXTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgZm9yIChs
ZXQgc3RyaW5nIG9mIHN0cmluZ3MpCi0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBl
Y3RUaGF0KCFXSS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShzdHJpbmcpLCBgIiR7c3Ry
aW5nfSIgc2hvdWxkIG5vdCBiZSBhIHN0YWNrdHJhY2UuYCk7CiAKLSAgICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgICAgIGZvciAobGV0IHN0cmluZyBvZiBzdHJpbmdzKQorICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdCghV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0
YWNrVHJhY2Uoc3RyaW5nKSwgYCR7SlNPTi5zdHJpbmdpZnkoc3RyaW5nKX0gc2hvdWxkIG5vdCBi
ZSBhIHN0YWNrdHJhY2UuYCk7CiAgICAgICAgIH0KICAgICB9KTsKIApAQCAtMTE5LDggKzEwMiw2
IEBAIGZ1bmN0aW9uIHRlc3QoKQogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Ci08cD4KLVRlc3Qgc3RhY2sgdHJhY2UgZGV0ZWN0aW9uIGhldXJpc3RpYy48YnI+
Ci08L3A+Cis8cD5UZXN0IHN0YWNrIHRyYWNlIGRldGVjdGlvbiBoZXVyaXN0aWMuPC9wPgogPC9i
b2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggZWNkMTI3ZDI4MGIuLjlj
MzRlNzlhNjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAx
OC0wOS0xMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IGZpeCB0ZXN0IGNhc2UgZmFpbHVyZXMgaW4ganMtaXNMaWtlbHlTdGFj
a1RyYWNlLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4MDY2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvU3RhY2tUcmFjZS5qczoKKyAgICAgICAgKFdJLlN0
YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlKToKKyAgICAgICAgSW4gYSBxdWljayBiZW5jaG1h
cmsgNTAlIG9mIHRoZSB0aW1lIHdhcyByZWJ1aWxkaW5nIHRoZSBzYW1lIGNvbXBsZXggcmVndWxh
cgorICAgICAgICBleHByZXNzaW9uIG92ZXIgYW5kIG92ZXIgYWdhaW4uIEluc3RlYWQganVzdCBi
dWlsZCB0aGUgcmVnZXggb25jZSBhbmQgcmVzZXQKKyAgICAgICAgaXQgYmVmb3JlIGVhY2ggdXNl
LgorCiAyMDE4LTA5LTExICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogRml4IHR5cG8gInZyaXR1YWxpemVkIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1N0YWNrVHJhY2Uu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU3RhY2tUcmFj
ZS5qcwppbmRleCAxZGZlYTg4NTA2Yi4uMjhkZDFmODMxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TdGFja1RyYWNlLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TdGFja1RyYWNlLmpzCkBA
IC04MCwxMiArODAsMTYgQEAgV0kuU3RhY2tUcmFjZSA9IGNsYXNzIFN0YWNrVHJhY2UKICAgICAg
ICAgaWYgKC9eW15hLXokX10vaS50ZXN0KHN0YWNrWzBdKSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKIAotICAgICAgICBjb25zdCByZWFzb25hYmx5TG9uZ1Byb3RvY29sTGVuZ3RoID0gMTA7
Ci0gICAgICAgIGNvbnN0IHJlYXNvbmFibHlMb25nTGluZUxlbmd0aCA9IDUwMDsKLSAgICAgICAg
Y29uc3QgcmVhc29uYWJseUxvbmdOYXRpdmVNZXRob2RMZW5ndGggPSAxMjA7Ci0gICAgICAgIGNv
bnN0IHN0YWNrVHJhY2VMaW5lID0gYChnbG9iYWwgY29kZXxldmFsIGNvZGV8bW9kdWxlIGNvZGV8
XFx3Kyk/KFteOl17MSwke3JlYXNvbmFibHlMb25nUHJvdG9jb2xMZW5ndGh9fTovL1teOl17MSwk
e3JlYXNvbmFibHlMb25nTGluZUxlbmd0aH19OlxcZCs6XFxkK3xbXkBdezEsJHtyZWFzb25hYmx5
TG9uZ05hdGl2ZU1ldGhvZExlbmd0aH19QFxcW25hdGl2ZSBjb2RlXFxdKWA7Ci0gICAgICAgIGNv
bnN0IHN0YWNrVHJhY2UgPSBuZXcgUmVnRXhwKGBeJHtzdGFja1RyYWNlTGluZX0oW1xcblxccl0k
e3N0YWNrVHJhY2VMaW5lfSkrJGAsICJnIik7Ci0gICAgICAgIHJldHVybiBzdGFja1RyYWNlLnRl
c3Qoc3RhY2spOworICAgICAgICBpZiAoIVdJLlN0YWNrVHJhY2UubGlrZWx5U3RhY2tUcmFjZVJl
Z2V4KSB7CisgICAgICAgICAgICBjb25zdCByZWFzb25hYmx5TG9uZ1Byb3RvY29sTGVuZ3RoID0g
MTA7CisgICAgICAgICAgICBjb25zdCByZWFzb25hYmx5TG9uZ0xpbmVMZW5ndGggPSA1MDA7Cisg
ICAgICAgICAgICBjb25zdCByZWFzb25hYmx5TG9uZ05hdGl2ZU1ldGhvZExlbmd0aCA9IDEyMDsK
KyAgICAgICAgICAgIGNvbnN0IHN0YWNrVHJhY2VMaW5lID0gYChnbG9iYWwgY29kZXxldmFsIGNv
ZGV8bW9kdWxlIGNvZGV8XFx3Kyk/KFteOl17MSwke3JlYXNvbmFibHlMb25nUHJvdG9jb2xMZW5n
dGh9fTovL1teOl17MSwke3JlYXNvbmFibHlMb25nTGluZUxlbmd0aH19OlxcZCs6XFxkK3xbXkBd
ezEsJHtyZWFzb25hYmx5TG9uZ05hdGl2ZU1ldGhvZExlbmd0aH19QFxcW25hdGl2ZSBjb2RlXFxd
KWA7CisgICAgICAgICAgICBXSS5TdGFja1RyYWNlLmxpa2VseVN0YWNrVHJhY2VSZWdleCA9IG5l
dyBSZWdFeHAoYF4ke3N0YWNrVHJhY2VMaW5lfShbXFxuXFxyXSR7c3RhY2tUcmFjZUxpbmV9KSsk
YCk7CisgICAgICAgIH0KKworICAgICAgICBXSS5TdGFja1RyYWNlLmxpa2VseVN0YWNrVHJhY2VS
ZWdleC5sYXN0SW5kZXggPSAwOworICAgICAgICByZXR1cm4gV0kuU3RhY2tUcmFjZS5saWtlbHlT
dGFja1RyYWNlUmVnZXgudGVzdChzdGFjayk7CiAgICAgfQogCiAgICAgc3RhdGljIF9wYXJzZVN0
YWNrVHJhY2Uoc3RhY2spCg==
</data>
<flag name="commit-queue"
          id="367008"
          type_id="3"
          status="-"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349490</attachid>
            <date>2018-09-11 16:41:47 -0700</date>
            <delta_ts>2018-09-12 09:34:19 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>regex-4.patch</filename>
            <type>text/plain</type>
            <size>10740</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3NzA2MGUyZDJjZi4uZjE2YzRlYTYyNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAor
MjAxOC0wOS0xMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IGZpeCB0ZXN0IGNhc2UgZmFpbHVyZXMgaW4ganMtaXNMaWtlbHlT
dGFja1RyYWNlLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MDY2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2Uu
aHRtbDoKKyAgICAgICAgQXZvaWQgSW5zcGVjdG9yIEludGVybmFsIEluamVjdGVkU2NyaXB0IGNv
ZGUgaW4gYmFja3RyYWNlcyBieSBwcm9kdWNpbmcKKyAgICAgICAgdGhlIGV4Y2VwdGlvbiBzdGFj
a3MgaW4gdGhlIHBhZ2UgaXRzZWxmIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCBpbnNwZWN0b3IKKyAg
ICAgICAgdGVzdCBldmFsdWF0aW9uIGNvZGUuIFRoaXMgcHJvZHVjZXMgZXhjZXB0aW9uIHN0YWNr
cyBtb3JlIGxpa2UgYSBwYWdlLgorICAgICAgICBBbHNvIGFkZCBzb21lIGV4cGxpY2l0IHRlc3Rz
IGZvciBzdHJpbmdzIHRoYXQgd2UnZCBleHBlY3QgdG8gYmUgY2xhc3NpZmllZAorICAgICAgICBh
cyBleGNlcHRpb24gc3RhY2tzLgorCiAyMDE4LTA5LTExICBXb29kcm93IFdhbmcgIDx3b29kcm93
X3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXZWIgQVBJIFN0YXRpc3RpY3MgQ29sbGVj
dGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUvanMtaXNMaWtl
bHlTdGFja1RyYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xl
L2pzLWlzTGlrZWx5U3RhY2tUcmFjZS1leHBlY3RlZC50eHQKaW5kZXggOTY4NzA3NmUwMjYuLmYy
MmNmMTQ5MTk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS9qcy1p
c0xpa2VseVN0YWNrVHJhY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS1leHBlY3RlZC50eHQKQEAgLTUsMjAgKzUs
MjEgQEAgVGVzdCBzdGFjayB0cmFjZSBkZXRlY3Rpb24gaGV1cmlzdGljLgogLS0gUnVubmluZyB0
ZXN0IGNhc2U6IG5vdFN0YWNrdHJhY2UKIFBBU1M6IFNob3VsZCBOT1QgYmUgYSBzdGFja3RyYWNl
LgogCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogdHlwZUVycm9yV3JhcAotRkFJTDogU2hvdWxkIGJl
IGEgc3RhY2t0cmFjZS4KLSAgICBFeHBlY3RlZDogdHJ1dGh5Ci0gICAgQWN0dWFsOiBmYWxzZQor
LS0gUnVubmluZyB0ZXN0IGNhc2U6IFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlLlR5
cGVFcnJvcgorUEFTUzogU2hvdWxkIGJlIGEgc3RhY2t0cmFjZS4KKworLS0gUnVubmluZyB0ZXN0
IGNhc2U6IFdJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlLkFub255bW91c0Z1bmN0aW9u
RXJyb3IKK1BBU1M6IFNob3VsZCBiZSBhIHN0YWNrdHJhY2UuCiAKLS0tIFJ1bm5pbmcgdGVzdCBj
YXNlOiBnZXRBbm9ueW1vdXNGdW5jdGlvbkVycm9yCistLSBSdW5uaW5nIHRlc3QgY2FzZTogV0ku
U3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UuTmF0aXZlRnVuY3Rpb25DYWxsc0Vycm9yCiBQ
QVNTOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgogCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogdGVz
dFdpdGhOYXRpdmVDYWxsSW5CZXR3ZWVuCi1GQUlMOiBTaG91bGQgYmUgYSBzdGFja3RyYWNlLgot
ICAgIEV4cGVjdGVkOiB0cnV0aHkKLSAgICBBY3R1YWw6IGZhbHNlCistLSBSdW5uaW5nIHRlc3Qg
Y2FzZTogV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UuVmFsaWRTdGFja1N0cmluZ3MK
K1BBU1M6ICJhQGZpbGU6Ly8vZXguaHRtbDoxMDo2XG5iQGZpbGU6Ly8vZXguaHRtbDo3OjZcbmds
b2JhbCBjb2RlQGZpbGU6Ly8vZXguaHRtbDoxMjoyIiBzaG91bGQgYmUgYSBzdGFja3RyYWNlLgor
UEFTUzogImdsb2JhbCBjb2RlQGZpbGU6Ly8vZXguaHRtbDoxMjoyXG5hQGZpbGU6Ly8vZXguaHRt
bDoxMDo2XG5iQGZpbGU6Ly8vZXguaHRtbDo3OjYiIHNob3VsZCBiZSBhIHN0YWNrdHJhY2UuCitQ
QVNTOiAiZ2xvYmFsIGNvZGVAZmlsZTovLy9leC5odG1sOjE6MVxubWFwQFtuYXRpdmUgY29kZV0i
IHNob3VsZCBiZSBhIHN0YWNrdHJhY2UuCiAKLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiB0ZXN0Rm9y
bWF0dGVkU3RyaW5ncworLS0gUnVubmluZyB0ZXN0IGNhc2U6IFdJLlN0YWNrVHJhY2UuaXNMaWtl
bHlTdGFja1RyYWNlLkludmFsaWRTdGFja1N0cmluZ3MKIFBBU1M6ICJ2aWRlbzoxOjIiIHNob3Vs
ZCBub3QgYmUgYSBzdGFja3RyYWNlLgogUEFTUzogInZpZGVvL21wNDoxOjIiIHNob3VsZCBub3Qg
YmUgYSBzdGFja3RyYWNlLgogUEFTUzogInZpZGVvL21wNCA6IDExOjIyOjMzLTQ0OjU1OjY2IiBz
aG91bGQgbm90IGJlIGEgc3RhY2t0cmFjZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jb25zb2xlL2pzLWlzTGlrZWx5U3RhY2tUcmFjZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NvbnNvbGUvanMtaXNMaWtlbHlTdGFja1RyYWNlLmh0bWwKaW5kZXggYzgxZTlhNjVh
MzQuLjg1YjkwMjlmZTBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29s
ZS9qcy1pc0xpa2VseVN0YWNrVHJhY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Iv
Y29uc29sZS9qcy1pc0xpa2VseVN0YWNrVHJhY2UuaHRtbApAQCAtMiw0MyArMiwzMyBAQAogPGhl
YWQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2lu
c3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1mdW5jdGlvbiB0eXBlRXJyb3JX
cmFwKCkKK2Z1bmN0aW9uIGdlbmVyYXRlVHlwZUVycm9yKCkKIHsKLSAgICByZXR1cm4gdHlwZUVy
cm9yKCk7Ci19Ci0KLWZ1bmN0aW9uIHR5cGVFcnJvcigpCi17Ci0gICAgdmFyIG9iamVjdCA9IHt9
OwogICAgIHRyeSB7Ci0gICAgICAgIG9iamVjdC5wcm9wZXJ0eURvZXNudC5leGlzdDsKKyAgICAg
ICAgKHt9KS5wcm9wZXJ0eURvZXNudC5leGlzdDsKICAgICB9IGNhdGNoKGUpIHsKICAgICAgICAg
Y29uc29sZS50cmFjZSgpOwogICAgICAgICByZXR1cm4gZS5zdGFjazsKICAgICB9CiB9CiAKLWZ1
bmN0aW9uIHRlc3RXaXRoTmF0aXZlQ2FsbEluQmV0d2VlbigpCitmdW5jdGlvbiBnZW5lcmF0ZUVy
cm9yTmF0aXZlQ2FsbEluQmV0d2VlbigpCiB7Ci0gICAgcmV0dXJuIFs0Ml0ubWFwKHR5cGVFcnJv
cilbMF07CisgICAgcmV0dXJuIFs0Ml0ubWFwKGdlbmVyYXRlVHlwZUVycm9yKVswXTsKIH0KIAot
dmFyIF9hbm9ueW1vdXNGdW5jdGlvbkVycm9yID0gbnVsbDsKLQordmFyIF9nbG9iYWxUeXBlRXJy
b3IgPSBnZW5lcmF0ZVR5cGVFcnJvcigpOwordmFyIF9nbG9iYWxFcnJvcldpdGhOYXRpdmVDYWxs
cyA9IGdlbmVyYXRlRXJyb3JOYXRpdmVDYWxsSW5CZXR3ZWVuKCk7Cit2YXIgX2dsb2JhbEFub255
bW91c0Z1bmN0aW9uRXJyb3IgPSBudWxsOwogKGZ1bmN0aW9uKCkgewogICAgIHZhciBvYmplY3Qg
PSB7fTsKICAgICB0cnkgewogICAgICAgICBvYmplY3QubWV0aG9kRG9lc250RXhpc3QoKTsKICAg
ICB9IGNhdGNoKGUpIHsKLSAgICAgICAgX2Fub255bW91c0Z1bmN0aW9uRXJyb3IgPSBlLnN0YWNr
OworICAgICAgICBfZ2xvYmFsQW5vbnltb3VzRnVuY3Rpb25FcnJvciA9IGUuc3RhY2s7CiAgICAg
fQogfSkoKTsKIAotZnVuY3Rpb24gZ2V0QW5vbnltb3VzRnVuY3Rpb25FcnJvcigpCi17Ci0gICAg
cmV0dXJuIF9hbm9ueW1vdXNGdW5jdGlvbkVycm9yOwotfQotCiBmdW5jdGlvbiB0ZXN0KCkKIHsK
ICAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIldJLlN0YWNr
VHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlIik7CkBAIC01Myw1MSArNDMsNDYgQEAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgfSk7CiAKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6
ICJ0eXBlRXJyb3JXcmFwIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoInR5cGVFcnJvcldyYXAoKSIsIGZ1
bmN0aW9uKGVycm9yLCByZXN1bHQpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXJyb3IpCi0gICAg
ICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7Ci0KLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmV4cGVjdFRoYXQoV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UocmVzdWx0
KSwgIlNob3VsZCBiZSBhIHN0YWNrdHJhY2UuIik7Ci0KLSAgICAgICAgICAgICAgICByZXNvbHZl
KCk7Ci0gICAgICAgICAgICB9KTsKKyAgICAgICAgbmFtZTogIldJLlN0YWNrVHJhY2UuaXNMaWtl
bHlTdGFja1RyYWNlLlR5cGVFcnJvciIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAg
ICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgX2ds
b2JhbFR5cGVFcnJvcmApOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KFdJ
LlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlKHJlc3VsdCksICJTaG91bGQgYmUgYSBzdGFj
a3RyYWNlLiIpOwogICAgICAgICB9CiAgICAgfSk7CiAKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7
Ci0gICAgICAgIG5hbWU6ICJnZXRBbm9ueW1vdXNGdW5jdGlvbkVycm9yIiwKLSAgICAgICAgdGVz
dChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJ
blBhZ2UoImdldEFub255bW91c0Z1bmN0aW9uRXJyb3IoKSIsIGZ1bmN0aW9uKGVycm9yLCByZXN1
bHQpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXJyb3IpCi0gICAgICAgICAgICAgICAgICAgIHJl
amVjdChlcnJvcik7Ci0KLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogdGhpcyB0ZXN0IGNhc2Ug
ZmFpbHMuIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwNjY0Pgot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChXSS5TdGFja1RyYWNlLmlz
TGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3RhY2t0cmFjZS4iKTsKLQot
ICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0pOworICAgICAgICBuYW1l
OiAiV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UuQW5vbnltb3VzRnVuY3Rpb25FcnJv
ciIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgcmVzdWx0ID0gYXdh
aXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShgX2dsb2JhbEFub255bW91c0Z1bmN0aW9u
RXJyb3JgKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChXSS5TdGFja1Ry
YWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3RhY2t0cmFjZS4i
KTsKICAgICAgICAgfQogICAgIH0pOwogCiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAg
ICBuYW1lOiAidGVzdFdpdGhOYXRpdmVDYWxsSW5CZXR3ZWVuIiwKLSAgICAgICAgdGVzdChyZXNv
bHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2Uo
InRlc3RXaXRoTmF0aXZlQ2FsbEluQmV0d2VlbigpIiwgZnVuY3Rpb24oZXJyb3IsIHJlc3VsdCkg
ewotICAgICAgICAgICAgICAgIGlmIChlcnJvcikKLSAgICAgICAgICAgICAgICAgICAgcmVqZWN0
KGVycm9yKTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChXSS5T
dGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZShyZXN1bHQpLCAiU2hvdWxkIGJlIGEgc3RhY2t0
cmFjZS4iKTsKKyAgICAgICAgbmFtZTogIldJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNl
Lk5hdGl2ZUZ1bmN0aW9uQ2FsbHNFcnJvciIsCisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAg
ICAgICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZShg
X2dsb2JhbEVycm9yV2l0aE5hdGl2ZUNhbGxzYCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdFRoYXQoV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2UocmVzdWx0KSwgIlNo
b3VsZCBiZSBhIHN0YWNrdHJhY2UuIik7CisgICAgICAgIH0KKyAgICB9KTsKIAotICAgICAgICAg
ICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0pOworICAgIHN1aXRlLmFkZFRlc3RDYXNl
KHsKKyAgICAgICAgbmFtZTogIldJLlN0YWNrVHJhY2UuaXNMaWtlbHlTdGFja1RyYWNlLlZhbGlk
U3RhY2tTdHJpbmdzIiwKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGNvbnN0
IHN0cmluZ3MgPSBbCisgICAgICAgICAgICAgICAgImFAZmlsZTovLy9leC5odG1sOjEwOjZcbmJA
ZmlsZTovLy9leC5odG1sOjc6NlxuZ2xvYmFsIGNvZGVAZmlsZTovLy9leC5odG1sOjEyOjIiLAor
ICAgICAgICAgICAgICAgICJnbG9iYWwgY29kZUBmaWxlOi8vL2V4Lmh0bWw6MTI6MlxuYUBmaWxl
Oi8vL2V4Lmh0bWw6MTA6NlxuYkBmaWxlOi8vL2V4Lmh0bWw6Nzo2IiwKKyAgICAgICAgICAgICAg
ICAiZ2xvYmFsIGNvZGVAZmlsZTovLy9leC5odG1sOjE6MVxubWFwQFtuYXRpdmUgY29kZV0iLAor
ICAgICAgICAgICAgXTsKKworICAgICAgICAgICAgZm9yIChsZXQgc3RyaW5nIG9mIHN0cmluZ3Mp
CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KFdJLlN0YWNrVHJhY2Uu
aXNMaWtlbHlTdGFja1RyYWNlKHN0cmluZyksIGAke0pTT04uc3RyaW5naWZ5KHN0cmluZyl9IHNo
b3VsZCBiZSBhIHN0YWNrdHJhY2UuYCk7CiAgICAgICAgIH0KICAgICB9KTsKIAogICAgIHN1aXRl
LmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogInRlc3RGb3JtYXR0ZWRTdHJpbmdzIiwKLSAg
ICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAgICAgbmFtZTogIldJLlN0YWNrVHJh
Y2UuaXNMaWtlbHlTdGFja1RyYWNlLkludmFsaWRTdGFja1N0cmluZ3MiLAorICAgICAgICBhc3lu
YyB0ZXN0KCkgewogICAgICAgICAgICAgY29uc3Qgc3RyaW5ncyA9IFsKICAgICAgICAgICAgICAg
ICAidmlkZW86MToyIiwKICAgICAgICAgICAgICAgICAidmlkZW8vbXA0OjE6MiIsCkBAIC0xMDYs
MTEgKzkxLDkgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICAgICAgImh0dHA6Ly92aWRl
by9tcDQ6MToyIiwKICAgICAgICAgICAgICAgICAiaHR0cDovL3ZpZGVvL21wNCA6IDExOjIyOjMz
LTQ0OjU1OjY2IiwKICAgICAgICAgICAgIF07Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGZv
ciAobGV0IHN0cmluZyBvZiBzdHJpbmdzKQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3Qu
ZXhwZWN0VGhhdCghV0kuU3RhY2tUcmFjZS5pc0xpa2VseVN0YWNrVHJhY2Uoc3RyaW5nKSwgYCIk
e3N0cmluZ30iIHNob3VsZCBub3QgYmUgYSBzdGFja3RyYWNlLmApOwogCi0gICAgICAgICAgICBy
ZXNvbHZlKCk7CisgICAgICAgICAgICBmb3IgKGxldCBzdHJpbmcgb2Ygc3RyaW5ncykKKyAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoIVdJLlN0YWNrVHJhY2UuaXNMaWtl
bHlTdGFja1RyYWNlKHN0cmluZyksIGAke0pTT04uc3RyaW5naWZ5KHN0cmluZyl9IHNob3VsZCBu
b3QgYmUgYSBzdGFja3RyYWNlLmApOwogICAgICAgICB9CiAgICAgfSk7CiAKQEAgLTExOSw4ICsx
MDIsNiBAQCBmdW5jdGlvbiB0ZXN0KCkKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHA+Ci1UZXN0IHN0YWNrIHRyYWNlIGRldGVjdGlvbiBoZXVyaXN0aWMu
PGJyPgotPC9wPgorPHA+VGVzdCBzdGFjayB0cmFjZSBkZXRlY3Rpb24gaGV1cmlzdGljLjwvcD4K
IDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGVjZDEyN2QyODBi
Li45YzM0ZTc5YTYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTgtMDktMTEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBmaXggdGVzdCBjYXNlIGZhaWx1cmVzIGluIGpzLWlzTGlrZWx5
U3RhY2tUcmFjZS5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xODA2NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1N0YWNrVHJhY2UuanM6CisgICAgICAgIChX
SS5TdGFja1RyYWNlLmlzTGlrZWx5U3RhY2tUcmFjZSk6CisgICAgICAgIEluIGEgcXVpY2sgYmVu
Y2htYXJrIDUwJSBvZiB0aGUgdGltZSB3YXMgcmVidWlsZGluZyB0aGUgc2FtZSBjb21wbGV4IHJl
Z3VsYXIKKyAgICAgICAgZXhwcmVzc2lvbiBvdmVyIGFuZCBvdmVyIGFnYWluLiBJbnN0ZWFkIGp1
c3QgYnVpbGQgdGhlIHJlZ2V4IG9uY2UgYW5kIHJlc2V0CisgICAgICAgIGl0IGJlZm9yZSBlYWNo
IHVzZS4KKwogMjAxOC0wOS0xMSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29t
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEZpeCB0eXBvICJ2cml0dWFsaXplZCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9TdGFja1Ry
YWNlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1N0YWNr
VHJhY2UuanMKaW5kZXggMWRmZWE4ODUwNmIuLjViMGY0ZmUyNWM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU3RhY2tUcmFjZS5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU3RhY2tUcmFjZS5q
cwpAQCAtODAsMTIgKzgwLDE2IEBAIFdJLlN0YWNrVHJhY2UgPSBjbGFzcyBTdGFja1RyYWNlCiAg
ICAgICAgIGlmICgvXlteYS16JF9dL2kudGVzdChzdGFja1swXSkpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICAgICAgY29uc3QgcmVhc29uYWJseUxvbmdQcm90b2NvbExlbmd0aCA9
IDEwOwotICAgICAgICBjb25zdCByZWFzb25hYmx5TG9uZ0xpbmVMZW5ndGggPSA1MDA7Ci0gICAg
ICAgIGNvbnN0IHJlYXNvbmFibHlMb25nTmF0aXZlTWV0aG9kTGVuZ3RoID0gMTIwOwotICAgICAg
ICBjb25zdCBzdGFja1RyYWNlTGluZSA9IGAoZ2xvYmFsIGNvZGV8ZXZhbCBjb2RlfG1vZHVsZSBj
b2RlfFxcdyspPyhbXjpdezEsJHtyZWFzb25hYmx5TG9uZ1Byb3RvY29sTGVuZ3RofX06Ly9bXjpd
ezEsJHtyZWFzb25hYmx5TG9uZ0xpbmVMZW5ndGh9fTpcXGQrOlxcZCt8W15AXXsxLCR7cmVhc29u
YWJseUxvbmdOYXRpdmVNZXRob2RMZW5ndGh9fUBcXFtuYXRpdmUgY29kZVxcXSlgOwotICAgICAg
ICBjb25zdCBzdGFja1RyYWNlID0gbmV3IFJlZ0V4cChgXiR7c3RhY2tUcmFjZUxpbmV9KFtcXG5c
XHJdJHtzdGFja1RyYWNlTGluZX0pKyRgLCAiZyIpOwotICAgICAgICByZXR1cm4gc3RhY2tUcmFj
ZS50ZXN0KHN0YWNrKTsKKyAgICAgICAgaWYgKCFXSS5TdGFja1RyYWNlLl9saWtlbHlTdGFja1Ry
YWNlUmVnZXgpIHsKKyAgICAgICAgICAgIGNvbnN0IHJlYXNvbmFibHlMb25nUHJvdG9jb2xMZW5n
dGggPSAxMDsKKyAgICAgICAgICAgIGNvbnN0IHJlYXNvbmFibHlMb25nTGluZUxlbmd0aCA9IDUw
MDsKKyAgICAgICAgICAgIGNvbnN0IHJlYXNvbmFibHlMb25nTmF0aXZlTWV0aG9kTGVuZ3RoID0g
MTIwOworICAgICAgICAgICAgY29uc3Qgc3RhY2tUcmFjZUxpbmUgPSBgKGdsb2JhbCBjb2RlfGV2
YWwgY29kZXxtb2R1bGUgY29kZXxcXHcrKT8oW146XXsxLCR7cmVhc29uYWJseUxvbmdQcm90b2Nv
bExlbmd0aH19Oi8vW146XXsxLCR7cmVhc29uYWJseUxvbmdMaW5lTGVuZ3RofX06XFxkKzpcXGQr
fFteQF17MSwke3JlYXNvbmFibHlMb25nTmF0aXZlTWV0aG9kTGVuZ3RofX1AXFxbbmF0aXZlIGNv
ZGVcXF0pYDsKKyAgICAgICAgICAgIFdJLlN0YWNrVHJhY2UuX2xpa2VseVN0YWNrVHJhY2VSZWdl
eCA9IG5ldyBSZWdFeHAoYF4ke3N0YWNrVHJhY2VMaW5lfShbXFxuXFxyXSR7c3RhY2tUcmFjZUxp
bmV9KSskYCk7CisgICAgICAgIH0KKworICAgICAgICBXSS5TdGFja1RyYWNlLl9saWtlbHlTdGFj
a1RyYWNlUmVnZXgubGFzdEluZGV4ID0gMDsKKyAgICAgICAgcmV0dXJuIFdJLlN0YWNrVHJhY2Uu
X2xpa2VseVN0YWNrVHJhY2VSZWdleC50ZXN0KHN0YWNrKTsKICAgICB9CiAKICAgICBzdGF0aWMg
X3BhcnNlU3RhY2tUcmFjZShzdGFjaykK
</data>

          </attachment>
      

    </bug>

</bugzilla>