<?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>92412</bug_id>
          
          <creation_ts>2012-07-26 12:29:08 -0700</creation_ts>
          <short_desc>Double tap gesture should send dblclick event</short_desc>
          <delta_ts>2012-08-03 16:45:27 -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>UI Events</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Rick Byers">rbyers</reporter>
          <assigned_to name="Rick Byers">rbyers</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>rjkroege</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>679642</commentid>
    <comment_count>0</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-07-26 12:29:08 -0700</bug_when>
    <thetext>With ENABLE(GESTURE_EVENTS), we turn GestureTap into mousemove, mousedown, mouseup events (and so also a click event).  Similarly for GestureDoupleTab we should be adding a final dblclick event, and setting event.detail on each event correctly (1 for the first mousedown,mouseup,click, and 2 for the second).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686055</commentid>
    <comment_count>1</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-08-02 17:54:14 -0700</bug_when>
    <thetext>We can&apos;t actually do this with GestureDoubleTap.  Instead GestureTap is being modified to carry a tap count.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686064</commentid>
    <comment_count>2</comment_count>
      <attachid>156224</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-08-02 18:04:36 -0700</bug_when>
    <thetext>Created attachment 156224
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686065</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-02 18:07:42 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686066</commentid>
    <comment_count>4</comment_count>
      <attachid>156224</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-02 18:11:05 -0700</bug_when>
    <thetext>Comment on attachment 156224
Patch

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

&gt; Source/WebCore/page/EventHandler.cpp:2420
&gt; +      return false;

Four-space indent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686072</commentid>
    <comment_count>5</comment_count>
      <attachid>156226</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-08-02 18:13:20 -0700</bug_when>
    <thetext>Created attachment 156226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686080</commentid>
    <comment_count>6</comment_count>
      <attachid>156226</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-02 18:18:48 -0700</bug_when>
    <thetext>Comment on attachment 156226
Patch

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

&gt; Source/WebCore/page/EventHandler.cpp:2418
&gt; +    // a tap count. FIXME: We should probably remove GestureDoubleTap (http://wkb.uk/93045).

http://wkb.uk/93045   &lt;--- This link doesn&apos;t work for me.  Is there a typo?

&gt; Source/WebCore/page/EventHandler.cpp:2494
&gt; +        tapCount = static_cast&lt;int&gt;(gestureEvent.deltaX());

Why is the tapCount stored in the deltaX?  That seems strange.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686714</commentid>
    <comment_count>7</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-08-03 07:23:30 -0700</bug_when>
    <thetext>*** Bug 93044 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686750</commentid>
    <comment_count>8</comment_count>
      <attachid>156226</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-08-03 08:02:53 -0700</bug_when>
    <thetext>Comment on attachment 156226
Patch

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

&gt;&gt; Source/WebCore/page/EventHandler.cpp:2418
&gt;&gt; +    // a tap count. FIXME: We should probably remove GestureDoubleTap (http://wkb.uk/93045).
&gt; 
&gt; http://wkb.uk/93045   &lt;--- This link doesn&apos;t work for me.  Is there a typo?

Yes, sorry - fixed.

&gt;&gt; Source/WebCore/page/EventHandler.cpp:2494
&gt;&gt; +        tapCount = static_cast&lt;int&gt;(gestureEvent.deltaX());
&gt; 
&gt; Why is the tapCount stored in the deltaX?  That seems strange.

Yes it is strange.  Right now deltaX/deltaY are overloaded for a variety of things depending on the event type, and rjkroege@ suggested I continue that pattern here temporarily until we clean this up.  I&apos;ve just filed https://bugs.webkit.org/show_bug.cgi?id=93123 for myself to clean this up (one way or another).  Would you prefer I hold off on this CL (which makes the problem worse) until we do that?  I was concerned it would take a bit of time to update the various places properly without breaking anything, but I can start working on that right away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686754</commentid>
    <comment_count>9</comment_count>
      <attachid>156383</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-08-03 08:08:14 -0700</bug_when>
    <thetext>Created attachment 156383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686886</commentid>
    <comment_count>10</comment_count>
      <attachid>156383</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-03 10:09:03 -0700</bug_when>
    <thetext>Comment on attachment 156383
Patch

I think it&apos;s ok to land this patch first because I trust you to work on Bug 93123 in the near term.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686987</commentid>
    <comment_count>11</comment_count>
      <attachid>156383</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-08-03 11:27:23 -0700</bug_when>
    <thetext>Comment on attachment 156383
Patch

Thanks!  CQ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687051</commentid>
    <comment_count>12</comment_count>
      <attachid>156383</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-03 12:49:48 -0700</bug_when>
    <thetext>Comment on attachment 156383
Patch

Rejecting attachment 156383 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
Kit/chromium/third_party/yasm/source/patched-yasm --revision 134927 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
48&gt;At revision 134927.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/13423901</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687063</commentid>
    <comment_count>13</comment_count>
      <attachid>156439</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-08-03 12:54:27 -0700</bug_when>
    <thetext>Created attachment 156439
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687064</commentid>
    <comment_count>14</comment_count>
      <attachid>156439</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-08-03 12:55:39 -0700</bug_when>
    <thetext>Comment on attachment 156439
Patch

I thought the CQ would auto-merge ChangeLogs properly?  Why would there be a merge conflict?

Patch updated to ToT (auto-merge worked fine for me).  Try CQ again?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687266</commentid>
    <comment_count>15</comment_count>
      <attachid>156439</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-03 16:45:21 -0700</bug_when>
    <thetext>Comment on attachment 156439
Patch

Clearing flags on attachment: 156439

Committed r124673: &lt;http://trac.webkit.org/changeset/124673&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687267</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-03 16:45:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156224</attachid>
            <date>2012-08-02 18:04:36 -0700</date>
            <delta_ts>2012-08-02 18:13:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92412-20120802210416.patch</filename>
            <type>text/plain</type>
            <size>13699</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDQ0MmJmZDFiMThhZThl
ZDE0Nzk2YjM3OTAyZjQxNDJlZjdjMGQzYy4uMGVmMmUyNjM0ODE4YzJkMmI0YjExODBiNDhhZThi
YWE1MzIxYzlkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA4LTAyICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBEb3VibGUgdGFwIGdlc3R1
cmUgc2hvdWxkIHNlbmQgZGJsY2xpY2sgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUHJvcGFnYXRlIHRoZSB0YXAgY291bnQgZnJvbSBQbGF0Zm9y
bUdlc3R1cmVFdmVudCBpbiB0aGUgZGVyaXZlZCBtb3VzZQorICAgICAgICBldmVudHMuCisKKyAg
ICAgICAgQWxzbyBmaXhlcyBhIGNyYXNoIHdpdGggdW5leHBlY3RlZCBHZXN0dXJlRG91YmxlVGFw
IGV2ZW50cyBieSBqdXN0CisgICAgICAgIHN1cHJlc3NpbmcgdGhlbSBlYXJseS4gIFRoZXkgd2ls
bCBwcm9iYWJseSBiZSByZW1vdmVkIHNvb24gYW55d2F5LgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGljay5odG1sCisKKyAgICAgICAgKiBw
YWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Omhh
bmRsZUdlc3R1cmVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRs
ZUdlc3R1cmVUYXApOgorCiAyMDEyLTA4LTAyICBFcmlrIEFydmlkc3NvbiAgPGFydkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgRE9NNDogY2xhc3NOYW1lIHNob3VsZCBiZSBkZWZpbmVkIG9uIEVs
ZW1lbnQgYW5kIG5vdCBvbiBIVE1MRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCAwNjNhNDBjZmE2ODU4MjhmNDA4NTA1NzNlNjQ2Y2Q0OGVhN2Q2MzE4Li5iZGRkOGY0NzRlOGU0
MTNiZDVkNzRmM2IyNjAyMTE1OGM1YzQyODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDEyLTA4LTAyICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBEb3VibGUgdGFwIGdlc3R1cmUgc2hvdWxkIHNlbmQgZGJsY2xpY2sg
ZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTky
NDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVHdl
YWsgY29tbWVudCB0byBkZXNjcmliZSB0aGUgKGxhbWUpIG92ZXJsb2FkZWQgdXNlIG9mIGRlbHRh
WCBpbgorICAgICAgICBXZWJHZXN0dXJlRXZlbnQuCisgICAgICAgICogcHVibGljL1dlYklucHV0
RXZlbnQuaDoKKyAgICAgICAgKFdlYkdlc3R1cmVFdmVudCk6CisKIDIwMTItMDgtMDIgIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBUaGUgZ2VuZXJpYyBiaW5kaW5n
cyBzaG91bGRuJ3QgdXNlIHRlbXBsYXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
CmluZGV4IGY1NDZiMWE5ZWFlNDU3ZGY1ZWQxOTAzNGMxYTBjNzFhZmZhMGMzMjQuLjgwYjU2NjVj
MjE4M2JhZDQ4ODgyOGU2YzU0NmNhODA4NzBmMjQ0ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKQEAgLTI0MTQsNiArMjQxNCwxMSBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFu
ZGxlR2VzdHVyZVRhcERvd24oKQogCiBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZUV2
ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQpCiB7CisgICAgLy8g
V2UgZG9uJ3QgdXNlIERvdWJsZVRhcCBhdCB0aGUgbW9tZW50LCBpdCdzIG1vc3RseSByZWR1bmRh
bnQgd2l0aCB0YXAgc2luY2UgdGFwIG5vdyBjb250YWlucworICAgIC8vIGEgdGFwIGNvdW50LiBG
SVhNRTogV2Ugc2hvdWxkIHByb2JhYmx5IHJlbW92ZSBHZXN0dXJlRG91YmxlVGFwIChodHRwOi8v
d2tiLnVrLzkzMDQ1KS4KKyAgICBpZiAoZ2VzdHVyZUV2ZW50LnR5cGUoKSA9PSBQbGF0Zm9ybUV2
ZW50OjpHZXN0dXJlRG91YmxlVGFwKQorICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgTm9kZSog
ZXZlbnRUYXJnZXQgPSAwOwogICAgIGlmIChnZXN0dXJlRXZlbnQudHlwZSgpID09IFBsYXRmb3Jt
RXZlbnQ6Okdlc3R1cmVTY3JvbGxFbmQgfHwgZ2VzdHVyZUV2ZW50LnR5cGUoKSA9PSBQbGF0Zm9y
bUV2ZW50OjpHZXN0dXJlU2Nyb2xsVXBkYXRlKQogICAgICAgICBldmVudFRhcmdldCA9IG1fc2Ny
b2xsR2VzdHVyZUhhbmRsaW5nTm9kZS5nZXQoKTsKQEAgLTI0NzksMTMgKzI0ODQsMjYgQEAgYm9v
bCBFdmVudEhhbmRsZXI6OmhhbmRsZUdlc3R1cmVUYXAoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZl
bnQmIGdlc3R1cmVFdmVudCkKICAgICB9CiAjZW5kaWYKIAotICAgIGJvb2wgZGVmYXVsdFByZXZl
bnRlZCA9IGZhbHNlOwotICAgIFBsYXRmb3JtTW91c2VFdmVudCBmYWtlTW91c2VNb3ZlKGFkanVz
dGVkUG9pbnQsIGdlc3R1cmVFdmVudC5nbG9iYWxQb3NpdGlvbigpLCBOb0J1dHRvbiwgUGxhdGZv
cm1FdmVudDo6TW91c2VNb3ZlZCwgLyogY2xpY2tDb3VudCAqLyAwLCBnZXN0dXJlRXZlbnQuc2hp
ZnRLZXkoKSwgZ2VzdHVyZUV2ZW50LmN0cmxLZXkoKSwgZ2VzdHVyZUV2ZW50LmFsdEtleSgpLCBn
ZXN0dXJlRXZlbnQubWV0YUtleSgpLCBnZXN0dXJlRXZlbnQudGltZXN0YW1wKCkpOwotICAgIFBs
YXRmb3JtTW91c2VFdmVudCBmYWtlTW91c2VEb3duKGFkanVzdGVkUG9pbnQsIGdlc3R1cmVFdmVu
dC5nbG9iYWxQb3NpdGlvbigpLCBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVByZXNz
ZWQsIC8qIGNsaWNrQ291bnQgKi8gMSwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVF
dmVudC5jdHJsS2V5KCksIGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFL
ZXkoKSwgZ2VzdHVyZUV2ZW50LnRpbWVzdGFtcCgpKTsKLSAgICBQbGF0Zm9ybU1vdXNlRXZlbnQg
ZmFrZU1vdXNlVXAoYWRqdXN0ZWRQb2ludCwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCks
IExlZnRCdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUmVsZWFzZWQsIC8qIGNsaWNrQ291bnQg
Ki8gMSwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5KCksIGdl
c3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSwgZ2VzdHVyZUV2ZW50
LnRpbWVzdGFtcCgpKTsKKyAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFrZU1vdXNlTW92ZShhZGp1
c3RlZFBvaW50LCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwKKyAgICAgICAgTm9CdXR0
b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlTW92ZWQsIC8qIGNsaWNrQ291bnQgKi8gMCwKKyAgICAg
ICAgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5KCksIGdlc3R1
cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSwgZ2VzdHVyZUV2ZW50LnRp
bWVzdGFtcCgpKTsKICAgICBtb3VzZU1vdmVkKGZha2VNb3VzZU1vdmUpOworCisgICAgaW50IHRh
cENvdW50ID0gMTsKKyAgICBpZiAoZ2VzdHVyZUV2ZW50LmRlbHRhWCgpID4gMCkKKyAgICAgICAg
dGFwQ291bnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGdlc3R1cmVFdmVudC5kZWx0YVgoKSk7CisKKyAg
ICBib29sIGRlZmF1bHRQcmV2ZW50ZWQgPSBmYWxzZTsKKyAgICBQbGF0Zm9ybU1vdXNlRXZlbnQg
ZmFrZU1vdXNlRG93bihhZGp1c3RlZFBvaW50LCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24o
KSwKKyAgICAgICAgTGVmdEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VQcmVzc2VkLCB0YXBD
b3VudCwKKyAgICAgICAgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJs
S2V5KCksIGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSwgZ2Vz
dHVyZUV2ZW50LnRpbWVzdGFtcCgpKTsKICAgICBkZWZhdWx0UHJldmVudGVkIHw9IGhhbmRsZU1v
dXNlUHJlc3NFdmVudChmYWtlTW91c2VEb3duKTsKKworICAgIFBsYXRmb3JtTW91c2VFdmVudCBm
YWtlTW91c2VVcChhZGp1c3RlZFBvaW50LCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwK
KyAgICAgICAgTGVmdEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VSZWxlYXNlZCwgdGFwQ291
bnQsCisgICAgICAgIGdlc3R1cmVFdmVudC5zaGlmdEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtl
eSgpLCBnZXN0dXJlRXZlbnQuYWx0S2V5KCksIGdlc3R1cmVFdmVudC5tZXRhS2V5KCksIGdlc3R1
cmVFdmVudC50aW1lc3RhbXAoKSk7CiAgICAgZGVmYXVsdFByZXZlbnRlZCB8PSBoYW5kbGVNb3Vz
ZVJlbGVhc2VFdmVudChmYWtlTW91c2VVcCk7CisKICAgICByZXR1cm4gZGVmYXVsdFByZXZlbnRl
ZDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5w
dXRFdmVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFdmVudC5o
CmluZGV4IDVlYTU1ZDU1YzI4MzBiODg0ZWVjMzlmNmJlYTk0NjlkN2RkOGM0YTQuLjkwZmJiNmYx
NzZmNDYzZjM4YmNjNzljMmVkZGZhNGE2OGEzYTI1ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYklucHV0RXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmgKQEAgLTM3MCw3ICszNzAsMTAgQEAgcHVibGlj
OgogICAgIGludCBnbG9iYWxYOwogICAgIGludCBnbG9iYWxZOwogCi0gICAgLy8gTk9URTogfGRl
bHRhWHwgYW5kIHxkZWx0YVl8IHJlcHJlc2VudHMgdGhlIGFtb3VudCB0byBzY3JvbGwgZm9yIFNj
cm9sbCBnZXN0dXJlIGV2ZW50cy4gRm9yIFBpbmNoIGdlc3R1cmUgZXZlbnRzLCB8ZGVsdGFYfCBy
ZXByZXNlbnRzIHRoZSBzY2FsaW5nL21hZ25pZmljYXRpb24gZmFjdG9yLgorICAgIC8vIE5PVEU6
IHxkZWx0YVh8IGFuZCB8ZGVsdGFZfCByZXByZXNlbnRzIHRoZSBhbW91bnQgdG8gc2Nyb2xsIGZv
ciBTY3JvbGwgZ2VzdHVyZSBldmVudHMuCisgICAgLy8gRm9yIFBpbmNoIGdlc3R1cmUgZXZlbnRz
LCB8ZGVsdGFYfCByZXByZXNlbnRzIHRoZSBzY2FsaW5nL21hZ25pZmljYXRpb24gZmFjdG9yLgor
ICAgIC8vIEZvciBhIEdlc3R1cmVUYXAgZXZlbnQsIHxkZWx0YVh8IHJlcHJlc2VudHMgdGhlIHRh
cCBjb3VudC4KKyAgICAvLyBGSVhNRTogQXZvaWQgb3ZlcmxvYWRpbmcgJ2RlbHRhJyBpbiB0aGlz
IHdheS4KICAgICBmbG9hdCBkZWx0YVg7CiAgICAgZmxvYXQgZGVsdGFZOwogICAgIFdlYlJlY3Qg
Ym91bmRpbmdCb3g7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggODRiNGYyNzdlODQyZGQzY2VmNDZiNzM5ZmE2Y2MyOTc4NGM2NjU5MC4uNDQ5NzE4
NTM1ODJlNTFlYmM3ODBiOTZjZWQ1ZWZlYTQxNGEwNGRmYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA4LTAy
ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBEb3VibGUgdGFw
IGdlc3R1cmUgc2hvdWxkIHNlbmQgZGJsY2xpY2sgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIEV2ZW50U2VuZGVyIHRvIHNldCB0aGUg
dGFwIGNvdW50IG9uIHRhcCBnZXN0dXJlIGV2ZW50cy4gIFRoZQorICAgICAgICBkZWx0YSBYL1kg
cGFyYW1ldGVycyB3ZXJlIG5vdCBhY3R1YWxseSBiZWluZyB1c2VkIGFueW1vcmUgKHVzZWQgdG8g
YmUKKyAgICAgICAgdXNlZCBmb3IgcmFkaXVzIGluZm9ybWF0aW9uKS4KKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3BwOgorICAgICAg
ICAoRXZlbnRTZW5kZXI6Omdlc3R1cmVFdmVudCk6CisKIDIwMTItMDgtMDIgIERpcmsgUHJhbmtl
ICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgdGVzdC13ZWJraXRweTogc29tZSB0
ZXN0cyBuZWVkIHRvIHJ1biBieSB0aGVtc2VsdmVzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0V2ZW50U2VuZGVyLmNwcCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3BwCmluZGV4IDVmNDli
OGZkZjNhYTFlMzk0NDkxMDdkYWY3YTBmNmQzNzIyMTM0N2IuLjFlYmQ3NDE4ZTNlODUwZTc0OGE4
YTZjM2M4NWYyY2E4Y2YxMGMzODIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3BwCkBAIC0xMTY2LDkgKzExNjYs
OSBAQCB2b2lkIEV2ZW50U2VuZGVyOjpnZXN0dXJlRXZlbnQoV2ViSW5wdXRFdmVudDo6VHlwZSB0
eXBlLCBjb25zdCBDcHBBcmd1bWVudExpc3QmCiAgICAgICAgIGV2ZW50LnkgPSBtX2N1cnJlbnRH
ZXN0dXJlTG9jYXRpb24ueTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50
OjpHZXN0dXJlVGFwOgotICAgICAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA+PSA0KSB7CisgICAg
ICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpID49IDMpIHsKKyAgICAgICAgICAgIC8vIFRhcCBjb3Vu
dC4KICAgICAgICAgICAgIGV2ZW50LmRlbHRhWCA9IHN0YXRpY19jYXN0PGZsb2F0Pihhcmd1bWVu
dHNbMl0udG9Eb3VibGUoKSk7Ci0gICAgICAgICAgICBldmVudC5kZWx0YVkgPSBzdGF0aWNfY2Fz
dDxmbG9hdD4oYXJndW1lbnRzWzNdLnRvRG91YmxlKCkpOwogICAgICAgICB9CiAgICAgICAgIGV2
ZW50LnggPSBwb2ludC54OwogICAgICAgICBldmVudC55ID0gcG9pbnQueTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MTNj
Y2I1YWFiMGQ5MjFhZDExYTgwY2U1ODk1ZDIyZjE0OTQzZWRkLi40NzExNzJiMmM5NzFmZjdhNjQy
MDU4NTg4Njc1Y2VkMDdmY2JmYzYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgtMDIg
IFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIERvdWJsZSB0YXAg
Z2VzdHVyZSBzaG91bGQgc2VuZCBkYmxjbGljayBldmVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIHRlc3QgZm9yIGRlcml2ZWQgbW91c2UgZXZl
bnRzIGdlbmVyYXRlZCBieSBhIHNlcXVlbmNlIG9mIHR3byB0YXAKKyAgICAgICAgZXZlbnRzLiAg
TW9kZWxlZCBhZnRlciBnZXN0dXJlLWNsaWNrLmh0bWwuCisgICAgICAgICogZmFzdC9ldmVudHMv
dG91Y2gvZ2VzdHVyZS9nZXN0dXJlLWRibGNsaWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9nZXN0dXJlLWRibGNsaWNrLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1
cmUvZ2VzdHVyZS1kYmxjbGljay1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA4LTAyICBF
cmlrIEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRE9NNDogY2xhc3NO
YW1lIHNob3VsZCBiZSBkZWZpbmVkIG9uIEVsZW1lbnQgYW5kIG5vdCBvbiBIVE1MRWxlbWVudApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9nZXN0dXJl
LWRibGNsaWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dl
c3R1cmUvZ2VzdHVyZS1kYmxjbGljay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBjMGM4N2M1
ZGYxMWMzZDJjZDcxNDQ2NGM4Y2M3MGNlY2JjMWRkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGljay1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGhpcyB0ZXN0cyBnZXN0dXJlIGNhbGxiYWNrcyBmb3Ig
dGhlIGRvdWJsZSB0YXAgZ2VzdHVyZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K0dlc3R1cmUgbWFuYWdlciBub3QgaW1wbGVtZW50ZWQgb24gdGhpcyBwbGF0Zm9ybS4KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL2dlc3R1cmUtZGJsY2xpY2su
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxj
bGljay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1OGE4NTUxMjg4YzE4NTM3MjAwYzgyNjY1YWUwN2U4YmRi
M2NlOTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9n
ZXN0dXJlL2dlc3R1cmUtZGJsY2xpY2suaHRtbApAQCAtMCwwICsxLDg2IEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPGRpdiBpZD0iZ2VzdHVyZSI+
CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisK
KzxzY3JpcHQ+Cit2YXIgZXhwZWN0ZWRFdmVudHMgPSBbCisgIHt0eXBlOiAnbW91c2Vtb3ZlJywg
eDogMTAsIHk6IDEyLCBkZXRhaWw6IDAgfSwKKyAge3R5cGU6ICdtb3VzZWRvd24nLCB4OiAxMCwg
eTogMTIsIGRldGFpbDogMSB9LAorICB7dHlwZTogJ21vdXNldXAnLCB4OiAxMCwgeTogMTIsIGRl
dGFpbDogMSB9LAorICB7dHlwZTogJ2NsaWNrJywgeDogMTAsIHk6IDEyLCBkZXRhaWw6IDEgfSwK
KyAge3R5cGU6ICdtb3VzZW1vdmUnLCB4OiAxMSwgeTogMTIsIGRldGFpbDogMCB9LAorICB7dHlw
ZTogJ21vdXNlZG93bicsIHg6IDExLCB5OiAxMiwgZGV0YWlsOiAyIH0sCisgIHt0eXBlOiAnbW91
c2V1cCcsIHg6IDExLCB5OiAxMiwgZGV0YWlsOiAyIH0sCisgIHt0eXBlOiAnY2xpY2snLCB4OiAx
MSwgeTogMTIsIGRldGFpbDogMiB9LAorICB7dHlwZTogJ2RibGNsaWNrJywgeDogMTEsIHk6IDEy
LCBkZXRhaWw6IDIgfSwKKyAgXTsKKwordmFyIG1vdXNlRXZlbnRzUmVjZWl2ZWQgPSAwOworCitm
dW5jdGlvbiBnZXN0dXJlRXZlbnRDYWxsYmFjayhldmVudCkKK3sKKyAgICBpZiAod2luZG93LmV2
ZW50U2VuZGVyKSB7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZXZlbnQudHlwZScs
IGV4cGVjdGVkRXZlbnRzW21vdXNlRXZlbnRzUmVjZWl2ZWRdLnR5cGUpOworICAgICAgICBzaG91
bGRFdmFsdWF0ZVRvKCdldmVudC5jbGllbnRYJywgZXhwZWN0ZWRFdmVudHNbbW91c2VFdmVudHNS
ZWNlaXZlZF0ueCk7CisgICAgICAgIHNob3VsZEV2YWx1YXRlVG8oJ2V2ZW50LmNsaWVudFknLCBl
eHBlY3RlZEV2ZW50c1ttb3VzZUV2ZW50c1JlY2VpdmVkXS55KTsKKyAgICAgICAgc2hvdWxkRXZh
bHVhdGVUbygnZXZlbnQuZGV0YWlsJywgZXhwZWN0ZWRFdmVudHNbbW91c2VFdmVudHNSZWNlaXZl
ZF0uZGV0YWlsKTsKKyAgICAgICAgbW91c2VFdmVudHNSZWNlaXZlZCsrOworICAgIH0gZWxzZSB7
CisgICAgICAgIGRlYnVnKGV2ZW50LnR5cGUpOworICAgICAgICBkZWJ1ZyhldmVudC5jbGllbnRY
KTsKKyAgICAgICAgZGVidWcoZXZlbnQuY2xpZW50WSk7CisgICAgICAgIGRlYnVnKGV2ZW50LmRl
dGFpbCk7CisgICAgfQorfQorCisvLyBCZWNhdXNlIHdlIG1heSBub3QgaGF2ZSBhIGdlc3R1cmUg
cmVjb2duaXplciwgd2Ugc2VuZCBhIGtleSBwcmVzcworLy8gZXZlbnQgdG8gZW5kIHRoZSB0ZXN0
IHdpdGhvdXQgdGVtcG9yYWwgZmxha2luZXNzLgorZnVuY3Rpb24gcXVpdEtleVRvRW5kVGVzdChl
dmVudCkgeworICAgIGVuZFRlc3QoKTsKK30KKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAg
aWYgKG1vdXNlRXZlbnRzUmVjZWl2ZWQgPCBleHBlY3RlZEV2ZW50cy5sZW5ndGgpIHsKKyAgICAg
ICAgZGVidWcoJ0dlc3R1cmUgbWFuYWdlciBub3QgaW1wbGVtZW50ZWQgb24gdGhpcyBwbGF0Zm9y
bS4nKTsKKyAgICB9CisgICAgLy8gQmFpbC4KKyAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOwor
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2VzdHVyZScpOworICAgIGRp
di5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBnZXN0dXJlRXZlbnRDYWxsYmFjaywgZmFs
c2UpOworICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGdlc3R1cmVFdmVudENhbGxi
YWNrLCBmYWxzZSk7CisgICAgZGl2LmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIiwgZ2VzdHVy
ZUV2ZW50Q2FsbGJhY2ssIGZhbHNlKTsKKyAgICBkaXYuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1
cCIsIGdlc3R1cmVFdmVudENhbGxiYWNrLCBmYWxzZSk7CisgICAgZGl2LmFkZEV2ZW50TGlzdGVu
ZXIoIm1vdXNlbW92ZSIsIGdlc3R1cmVFdmVudENhbGxiYWNrLCBmYWxzZSk7CisgICAgZG9jdW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHF1aXRLZXlUb0VuZFRlc3QsIGZhbHNlKTsK
KworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisg
ICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0cyBnZXN0dXJlIGNhbGxiYWNrcyBmb3IgYSBkb3VibGUgdGFwIHNlcXVlbmNlIG9mIGdlc3R1
cmVzLiIpOworICAgICAgICBldmVudFNlbmRlci5nZXN0dXJlVGFwKDEwLCAxMik7CisgICAgICAg
IGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDEwKTsKKyAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVy
ZVRhcCgxMSwgMTIsIDIpOworICAgICAgICBldmVudFNlbmRlci5sZWFwRm9yd2FyZCg1MCk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oJyAnKTsKKyAgICB9IGVsc2UgeworICAgICAgICBk
ZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiIpCisgICAgfQorfQorPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL2dlc3R1cmUtZGJsY2xpY2stZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91
Y2gvZ2VzdHVyZS9nZXN0dXJlLWRibGNsaWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jN2Y2
NjZmZjVlOWViZWExMDlhOGRmOTZlNGMwZWZmMzkyNmNlNDRkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9n
ZXN0dXJlLWRibGNsaWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ1IEBACitUaGlzIHRlc3Rz
IGdlc3R1cmUgY2FsbGJhY2tzIGZvciBhIGRvdWJsZSB0YXAgc2VxdWVuY2Ugb2YgZ2VzdHVyZXMu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGV2ZW50LnR5cGUgaXMgIm1v
dXNlbW92ZSIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMAorUEFTUyBldmVudC5jbGllbnRZIGlz
IDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAwCitQQVNTIGV2ZW50LnR5cGUgaXMgIm1vdXNlZG93
biIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMAorUEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQ
QVNTIGV2ZW50LmRldGFpbCBpcyAxCitQQVNTIGV2ZW50LnR5cGUgaXMgIm1vdXNldXAiCitQQVNT
IGV2ZW50LmNsaWVudFggaXMgMTAKK1BBU1MgZXZlbnQuY2xpZW50WSBpcyAxMgorUEFTUyBldmVu
dC5kZXRhaWwgaXMgMQorUEFTUyBldmVudC50eXBlIGlzICJjbGljayIKK1BBU1MgZXZlbnQuY2xp
ZW50WCBpcyAxMAorUEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBp
cyAxCitQQVNTIGV2ZW50LnR5cGUgaXMgIm1vdXNlbW92ZSIKK1BBU1MgZXZlbnQuY2xpZW50WCBp
cyAxMQorUEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAwCitQ
QVNTIGV2ZW50LnR5cGUgaXMgIm1vdXNlZG93biIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMQor
UEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAyCitQQVNTIGV2
ZW50LnR5cGUgaXMgIm1vdXNldXAiCitQQVNTIGV2ZW50LmNsaWVudFggaXMgMTEKK1BBU1MgZXZl
bnQuY2xpZW50WSBpcyAxMgorUEFTUyBldmVudC5kZXRhaWwgaXMgMgorUEFTUyBldmVudC50eXBl
IGlzICJjbGljayIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMQorUEFTUyBldmVudC5jbGllbnRZ
IGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAyCitQQVNTIGV2ZW50LnR5cGUgaXMgImRibGNs
aWNrIgorUEFTUyBldmVudC5jbGllbnRYIGlzIDExCitQQVNTIGV2ZW50LmNsaWVudFkgaXMgMTIK
K1BBU1MgZXZlbnQuZGV0YWlsIGlzIDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156226</attachid>
            <date>2012-08-02 18:13:20 -0700</date>
            <delta_ts>2012-08-03 08:08:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92412-20120802211300.patch</filename>
            <type>text/plain</type>
            <size>13701</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDQ0MmJmZDFiMThhZThl
ZDE0Nzk2YjM3OTAyZjQxNDJlZjdjMGQzYy4uMGVmMmUyNjM0ODE4YzJkMmI0YjExODBiNDhhZThi
YWE1MzIxYzlkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA4LTAyICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBEb3VibGUgdGFwIGdlc3R1
cmUgc2hvdWxkIHNlbmQgZGJsY2xpY2sgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUHJvcGFnYXRlIHRoZSB0YXAgY291bnQgZnJvbSBQbGF0Zm9y
bUdlc3R1cmVFdmVudCBpbiB0aGUgZGVyaXZlZCBtb3VzZQorICAgICAgICBldmVudHMuCisKKyAg
ICAgICAgQWxzbyBmaXhlcyBhIGNyYXNoIHdpdGggdW5leHBlY3RlZCBHZXN0dXJlRG91YmxlVGFw
IGV2ZW50cyBieSBqdXN0CisgICAgICAgIHN1cHJlc3NpbmcgdGhlbSBlYXJseS4gIFRoZXkgd2ls
bCBwcm9iYWJseSBiZSByZW1vdmVkIHNvb24gYW55d2F5LgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGljay5odG1sCisKKyAgICAgICAgKiBw
YWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Omhh
bmRsZUdlc3R1cmVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRs
ZUdlc3R1cmVUYXApOgorCiAyMDEyLTA4LTAyICBFcmlrIEFydmlkc3NvbiAgPGFydkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgRE9NNDogY2xhc3NOYW1lIHNob3VsZCBiZSBkZWZpbmVkIG9uIEVs
ZW1lbnQgYW5kIG5vdCBvbiBIVE1MRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCAwNjNhNDBjZmE2ODU4MjhmNDA4NTA1NzNlNjQ2Y2Q0OGVhN2Q2MzE4Li5iZGRkOGY0NzRlOGU0
MTNiZDVkNzRmM2IyNjAyMTE1OGM1YzQyODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDEyLTA4LTAyICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBEb3VibGUgdGFwIGdlc3R1cmUgc2hvdWxkIHNlbmQgZGJsY2xpY2sg
ZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTky
NDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVHdl
YWsgY29tbWVudCB0byBkZXNjcmliZSB0aGUgKGxhbWUpIG92ZXJsb2FkZWQgdXNlIG9mIGRlbHRh
WCBpbgorICAgICAgICBXZWJHZXN0dXJlRXZlbnQuCisgICAgICAgICogcHVibGljL1dlYklucHV0
RXZlbnQuaDoKKyAgICAgICAgKFdlYkdlc3R1cmVFdmVudCk6CisKIDIwMTItMDgtMDIgIEFkYW0g
QmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBUaGUgZ2VuZXJpYyBiaW5kaW5n
cyBzaG91bGRuJ3QgdXNlIHRlbXBsYXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
CmluZGV4IGY1NDZiMWE5ZWFlNDU3ZGY1ZWQxOTAzNGMxYTBjNzFhZmZhMGMzMjQuLmIzNmQyOGQw
ZDU3YWJlNzM5N2QxZTFiNWRhZTYwZjk0N2ZlMjk5N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5jcHAKQEAgLTI0MTQsNiArMjQxNCwxMSBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFu
ZGxlR2VzdHVyZVRhcERvd24oKQogCiBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZUV2
ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQpCiB7CisgICAgLy8g
V2UgZG9uJ3QgdXNlIERvdWJsZVRhcCBhdCB0aGUgbW9tZW50LCBpdCdzIG1vc3RseSByZWR1bmRh
bnQgd2l0aCB0YXAgc2luY2UgdGFwIG5vdyBjb250YWlucworICAgIC8vIGEgdGFwIGNvdW50LiBG
SVhNRTogV2Ugc2hvdWxkIHByb2JhYmx5IHJlbW92ZSBHZXN0dXJlRG91YmxlVGFwIChodHRwOi8v
d2tiLnVrLzkzMDQ1KS4KKyAgICBpZiAoZ2VzdHVyZUV2ZW50LnR5cGUoKSA9PSBQbGF0Zm9ybUV2
ZW50OjpHZXN0dXJlRG91YmxlVGFwKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBOb2Rl
KiBldmVudFRhcmdldCA9IDA7CiAgICAgaWYgKGdlc3R1cmVFdmVudC50eXBlKCkgPT0gUGxhdGZv
cm1FdmVudDo6R2VzdHVyZVNjcm9sbEVuZCB8fCBnZXN0dXJlRXZlbnQudHlwZSgpID09IFBsYXRm
b3JtRXZlbnQ6Okdlc3R1cmVTY3JvbGxVcGRhdGUpCiAgICAgICAgIGV2ZW50VGFyZ2V0ID0gbV9z
Y3JvbGxHZXN0dXJlSGFuZGxpbmdOb2RlLmdldCgpOwpAQCAtMjQ3OSwxMyArMjQ4NCwyNiBAQCBi
b29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZVRhcChjb25zdCBQbGF0Zm9ybUdlc3R1cmVF
dmVudCYgZ2VzdHVyZUV2ZW50KQogICAgIH0KICNlbmRpZgogCi0gICAgYm9vbCBkZWZhdWx0UHJl
dmVudGVkID0gZmFsc2U7Ci0gICAgUGxhdGZvcm1Nb3VzZUV2ZW50IGZha2VNb3VzZU1vdmUoYWRq
dXN0ZWRQb2ludCwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIE5vQnV0dG9uLCBQbGF0
Zm9ybUV2ZW50OjpNb3VzZU1vdmVkLCAvKiBjbGlja0NvdW50ICovIDAsIGdlc3R1cmVFdmVudC5z
aGlmdEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQuYWx0S2V5KCks
IGdlc3R1cmVFdmVudC5tZXRhS2V5KCksIGdlc3R1cmVFdmVudC50aW1lc3RhbXAoKSk7Ci0gICAg
UGxhdGZvcm1Nb3VzZUV2ZW50IGZha2VNb3VzZURvd24oYWRqdXN0ZWRQb2ludCwgZ2VzdHVyZUV2
ZW50Lmdsb2JhbFBvc2l0aW9uKCksIExlZnRCdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUHJl
c3NlZCwgLyogY2xpY2tDb3VudCAqLyAxLCBnZXN0dXJlRXZlbnQuc2hpZnRLZXkoKSwgZ2VzdHVy
ZUV2ZW50LmN0cmxLZXkoKSwgZ2VzdHVyZUV2ZW50LmFsdEtleSgpLCBnZXN0dXJlRXZlbnQubWV0
YUtleSgpLCBnZXN0dXJlRXZlbnQudGltZXN0YW1wKCkpOwotICAgIFBsYXRmb3JtTW91c2VFdmVu
dCBmYWtlTW91c2VVcChhZGp1c3RlZFBvaW50LCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24o
KSwgTGVmdEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VSZWxlYXNlZCwgLyogY2xpY2tDb3Vu
dCAqLyAxLCBnZXN0dXJlRXZlbnQuc2hpZnRLZXkoKSwgZ2VzdHVyZUV2ZW50LmN0cmxLZXkoKSwg
Z2VzdHVyZUV2ZW50LmFsdEtleSgpLCBnZXN0dXJlRXZlbnQubWV0YUtleSgpLCBnZXN0dXJlRXZl
bnQudGltZXN0YW1wKCkpOworICAgIFBsYXRmb3JtTW91c2VFdmVudCBmYWtlTW91c2VNb3ZlKGFk
anVzdGVkUG9pbnQsIGdlc3R1cmVFdmVudC5nbG9iYWxQb3NpdGlvbigpLAorICAgICAgICBOb0J1
dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VNb3ZlZCwgLyogY2xpY2tDb3VudCAqLyAwLAorICAg
ICAgICBnZXN0dXJlRXZlbnQuc2hpZnRLZXkoKSwgZ2VzdHVyZUV2ZW50LmN0cmxLZXkoKSwgZ2Vz
dHVyZUV2ZW50LmFsdEtleSgpLCBnZXN0dXJlRXZlbnQubWV0YUtleSgpLCBnZXN0dXJlRXZlbnQu
dGltZXN0YW1wKCkpOwogICAgIG1vdXNlTW92ZWQoZmFrZU1vdXNlTW92ZSk7CisKKyAgICBpbnQg
dGFwQ291bnQgPSAxOworICAgIGlmIChnZXN0dXJlRXZlbnQuZGVsdGFYKCkgPiAwKQorICAgICAg
ICB0YXBDb3VudCA9IHN0YXRpY19jYXN0PGludD4oZ2VzdHVyZUV2ZW50LmRlbHRhWCgpKTsKKwor
ICAgIGJvb2wgZGVmYXVsdFByZXZlbnRlZCA9IGZhbHNlOworICAgIFBsYXRmb3JtTW91c2VFdmVu
dCBmYWtlTW91c2VEb3duKGFkanVzdGVkUG9pbnQsIGdlc3R1cmVFdmVudC5nbG9iYWxQb3NpdGlv
bigpLAorICAgICAgICBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVByZXNzZWQsIHRh
cENvdW50LAorICAgICAgICBnZXN0dXJlRXZlbnQuc2hpZnRLZXkoKSwgZ2VzdHVyZUV2ZW50LmN0
cmxLZXkoKSwgZ2VzdHVyZUV2ZW50LmFsdEtleSgpLCBnZXN0dXJlRXZlbnQubWV0YUtleSgpLCBn
ZXN0dXJlRXZlbnQudGltZXN0YW1wKCkpOwogICAgIGRlZmF1bHRQcmV2ZW50ZWQgfD0gaGFuZGxl
TW91c2VQcmVzc0V2ZW50KGZha2VNb3VzZURvd24pOworCisgICAgUGxhdGZvcm1Nb3VzZUV2ZW50
IGZha2VNb3VzZVVwKGFkanVzdGVkUG9pbnQsIGdlc3R1cmVFdmVudC5nbG9iYWxQb3NpdGlvbigp
LAorICAgICAgICBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVJlbGVhc2VkLCB0YXBD
b3VudCwKKyAgICAgICAgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJs
S2V5KCksIGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSwgZ2Vz
dHVyZUV2ZW50LnRpbWVzdGFtcCgpKTsKICAgICBkZWZhdWx0UHJldmVudGVkIHw9IGhhbmRsZU1v
dXNlUmVsZWFzZUV2ZW50KGZha2VNb3VzZVVwKTsKKwogICAgIHJldHVybiBkZWZhdWx0UHJldmVu
dGVkOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJ
bnB1dEV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50
LmgKaW5kZXggNWVhNTVkNTVjMjgzMGI4ODRlZWMzOWY2YmVhOTQ2OWQ3ZGQ4YzRhNC4uOTBmYmI2
ZjE3NmY0NjNmMzhiY2M3OWMyZWRkZmE0YTY4YTNhMjVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYklucHV0RXZlbnQuaApAQCAtMzcwLDcgKzM3MCwxMCBAQCBwdWJs
aWM6CiAgICAgaW50IGdsb2JhbFg7CiAgICAgaW50IGdsb2JhbFk7CiAKLSAgICAvLyBOT1RFOiB8
ZGVsdGFYfCBhbmQgfGRlbHRhWXwgcmVwcmVzZW50cyB0aGUgYW1vdW50IHRvIHNjcm9sbCBmb3Ig
U2Nyb2xsIGdlc3R1cmUgZXZlbnRzLiBGb3IgUGluY2ggZ2VzdHVyZSBldmVudHMsIHxkZWx0YVh8
IHJlcHJlc2VudHMgdGhlIHNjYWxpbmcvbWFnbmlmaWNhdGlvbiBmYWN0b3IuCisgICAgLy8gTk9U
RTogfGRlbHRhWHwgYW5kIHxkZWx0YVl8IHJlcHJlc2VudHMgdGhlIGFtb3VudCB0byBzY3JvbGwg
Zm9yIFNjcm9sbCBnZXN0dXJlIGV2ZW50cy4KKyAgICAvLyBGb3IgUGluY2ggZ2VzdHVyZSBldmVu
dHMsIHxkZWx0YVh8IHJlcHJlc2VudHMgdGhlIHNjYWxpbmcvbWFnbmlmaWNhdGlvbiBmYWN0b3Iu
CisgICAgLy8gRm9yIGEgR2VzdHVyZVRhcCBldmVudCwgfGRlbHRhWHwgcmVwcmVzZW50cyB0aGUg
dGFwIGNvdW50LgorICAgIC8vIEZJWE1FOiBBdm9pZCBvdmVybG9hZGluZyAnZGVsdGEnIGluIHRo
aXMgd2F5LgogICAgIGZsb2F0IGRlbHRhWDsKICAgICBmbG9hdCBkZWx0YVk7CiAgICAgV2ViUmVj
dCBib3VuZGluZ0JveDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA4NGI0ZjI3N2U4NDJkZDNjZWY0NmI3MzlmYTZjYzI5Nzg0YzY2NTkwLi40NDk3
MTg1MzU4MmU1MWViYzc4MGI5NmNlZDVlZmVhNDE0YTA0ZGZjIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDgt
MDIgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIERvdWJsZSB0
YXAgZ2VzdHVyZSBzaG91bGQgc2VuZCBkYmxjbGljayBldmVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI0MTIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFibGUgRXZlbnRTZW5kZXIgdG8gc2V0IHRo
ZSB0YXAgY291bnQgb24gdGFwIGdlc3R1cmUgZXZlbnRzLiAgVGhlCisgICAgICAgIGRlbHRhIFgv
WSBwYXJhbWV0ZXJzIHdlcmUgbm90IGFjdHVhbGx5IGJlaW5nIHVzZWQgYW55bW9yZSAodXNlZCB0
byBiZQorICAgICAgICB1c2VkIGZvciByYWRpdXMgaW5mb3JtYXRpb24pLgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9FdmVudFNlbmRlci5jcHA6CisgICAg
ICAgIChFdmVudFNlbmRlcjo6Z2VzdHVyZUV2ZW50KToKKwogMjAxMi0wOC0wMiAgRGlyayBQcmFu
a2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICB0ZXN0LXdlYmtpdHB5OiBzb21l
IHRlc3RzIG5lZWQgdG8gcnVuIGJ5IHRoZW1zZWx2ZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9FdmVudFNlbmRlci5jcHAKaW5kZXggNWY0
OWI4ZmRmM2FhMWUzOTQ0OTEwN2RhZjdhMGY2ZDM3MjIxMzQ3Yi4uMWViZDc0MThlM2U4NTBlNzQ4
YThhNmMzYzg1ZjJjYThjZjEwYzM4MiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFJ1bm5lci9FdmVudFNlbmRlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFJ1bm5lci9FdmVudFNlbmRlci5jcHAKQEAgLTExNjYsOSArMTE2
Niw5IEBAIHZvaWQgRXZlbnRTZW5kZXI6Omdlc3R1cmVFdmVudChXZWJJbnB1dEV2ZW50OjpUeXBl
IHR5cGUsIGNvbnN0IENwcEFyZ3VtZW50TGlzdCYKICAgICAgICAgZXZlbnQueSA9IG1fY3VycmVu
dEdlc3R1cmVMb2NhdGlvbi55OwogICAgICAgICBicmVhazsKICAgICBjYXNlIFdlYklucHV0RXZl
bnQ6Okdlc3R1cmVUYXA6Ci0gICAgICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpID49IDQpIHsKKyAg
ICAgICAgaWYgKGFyZ3VtZW50cy5zaXplKCkgPj0gMykgeworICAgICAgICAgICAgLy8gVGFwIGNv
dW50LgogICAgICAgICAgICAgZXZlbnQuZGVsdGFYID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFyZ3Vt
ZW50c1syXS50b0RvdWJsZSgpKTsKLSAgICAgICAgICAgIGV2ZW50LmRlbHRhWSA9IHN0YXRpY19j
YXN0PGZsb2F0Pihhcmd1bWVudHNbM10udG9Eb3VibGUoKSk7CiAgICAgICAgIH0KICAgICAgICAg
ZXZlbnQueCA9IHBvaW50Lng7CiAgICAgICAgIGV2ZW50LnkgPSBwb2ludC55OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDkx
M2NjYjVhYWIwZDkyMWFkMTFhODBjZTU4OTVkMjJmMTQ5NDNlZGQuLjQ3MTE3MmIyYzk3MWZmN2E2
NDIwNTg1ODg2NzVjZWQwN2ZjYmZjNjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wOC0w
MiAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRG91YmxlIHRh
cCBnZXN0dXJlIHNob3VsZCBzZW5kIGRibGNsaWNrIGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjQxMgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgdGVzdCBmb3IgZGVyaXZlZCBtb3VzZSBl
dmVudHMgZ2VuZXJhdGVkIGJ5IGEgc2VxdWVuY2Ugb2YgdHdvIHRhcAorICAgICAgICBldmVudHMu
ICBNb2RlbGVkIGFmdGVyIGdlc3R1cmUtY2xpY2suaHRtbC4KKyAgICAgICAgKiBmYXN0L2V2ZW50
cy90b3VjaC9nZXN0dXJlL2dlc3R1cmUtZGJsY2xpY2stZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL2dlc3R1cmUtZGJsY2xpY2suaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gvZ2Vz
dHVyZS9nZXN0dXJlLWRibGNsaWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTItMDgtMDIg
IEVyaWsgQXJ2aWRzc29uICA8YXJ2QGNocm9taXVtLm9yZz4KIAogICAgICAgICBET000OiBjbGFz
c05hbWUgc2hvdWxkIGJlIGRlZmluZWQgb24gRWxlbWVudCBhbmQgbm90IG9uIEhUTUxFbGVtZW50
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL2dlc3R1
cmUtZGJsY2xpY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gv
Z2VzdHVyZS9nZXN0dXJlLWRibGNsaWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMGMwYzg3
YzVkZjExYzNkMmNkNzE0NDY0YzhjYzcwY2VjYmMxZGQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9nZXN0dXJlLWRibGNsaWNrLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIHRlc3RzIGdlc3R1cmUgY2FsbGJhY2tzIGZv
ciB0aGUgZG91YmxlIHRhcCBnZXN0dXJlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworR2VzdHVyZSBtYW5hZ2VyIG5vdCBpbXBsZW1lbnRlZCBvbiB0aGlzIHBsYXRmb3JtLgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGlj
ay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9nZXN0dXJlLWRi
bGNsaWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDU4YTg1NTEyODhjMTg1MzcyMDBjODI2NjVhZTA3ZThi
ZGIzY2U5MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNo
L2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGljay5odG1sCkBAIC0wLDAgKzEsODYgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8ZGl2IGlkPSJnZXN0dXJl
Ij4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KworPHNjcmlwdD4KK3ZhciBleHBlY3RlZEV2ZW50cyA9IFsKKyAge3R5cGU6ICdtb3VzZW1vdmUn
LCB4OiAxMCwgeTogMTIsIGRldGFpbDogMCB9LAorICB7dHlwZTogJ21vdXNlZG93bicsIHg6IDEw
LCB5OiAxMiwgZGV0YWlsOiAxIH0sCisgIHt0eXBlOiAnbW91c2V1cCcsIHg6IDEwLCB5OiAxMiwg
ZGV0YWlsOiAxIH0sCisgIHt0eXBlOiAnY2xpY2snLCB4OiAxMCwgeTogMTIsIGRldGFpbDogMSB9
LAorICB7dHlwZTogJ21vdXNlbW92ZScsIHg6IDExLCB5OiAxMiwgZGV0YWlsOiAwIH0sCisgIHt0
eXBlOiAnbW91c2Vkb3duJywgeDogMTEsIHk6IDEyLCBkZXRhaWw6IDIgfSwKKyAge3R5cGU6ICdt
b3VzZXVwJywgeDogMTEsIHk6IDEyLCBkZXRhaWw6IDIgfSwKKyAge3R5cGU6ICdjbGljaycsIHg6
IDExLCB5OiAxMiwgZGV0YWlsOiAyIH0sCisgIHt0eXBlOiAnZGJsY2xpY2snLCB4OiAxMSwgeTog
MTIsIGRldGFpbDogMiB9LAorICBdOworCit2YXIgbW91c2VFdmVudHNSZWNlaXZlZCA9IDA7CisK
K2Z1bmN0aW9uIGdlc3R1cmVFdmVudENhbGxiYWNrKGV2ZW50KQoreworICAgIGlmICh3aW5kb3cu
ZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdldmVudC50eXBl
JywgZXhwZWN0ZWRFdmVudHNbbW91c2VFdmVudHNSZWNlaXZlZF0udHlwZSk7CisgICAgICAgIHNo
b3VsZEV2YWx1YXRlVG8oJ2V2ZW50LmNsaWVudFgnLCBleHBlY3RlZEV2ZW50c1ttb3VzZUV2ZW50
c1JlY2VpdmVkXS54KTsKKyAgICAgICAgc2hvdWxkRXZhbHVhdGVUbygnZXZlbnQuY2xpZW50WScs
IGV4cGVjdGVkRXZlbnRzW21vdXNlRXZlbnRzUmVjZWl2ZWRdLnkpOworICAgICAgICBzaG91bGRF
dmFsdWF0ZVRvKCdldmVudC5kZXRhaWwnLCBleHBlY3RlZEV2ZW50c1ttb3VzZUV2ZW50c1JlY2Vp
dmVkXS5kZXRhaWwpOworICAgICAgICBtb3VzZUV2ZW50c1JlY2VpdmVkKys7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgZGVidWcoZXZlbnQudHlwZSk7CisgICAgICAgIGRlYnVnKGV2ZW50LmNsaWVu
dFgpOworICAgICAgICBkZWJ1ZyhldmVudC5jbGllbnRZKTsKKyAgICAgICAgZGVidWcoZXZlbnQu
ZGV0YWlsKTsKKyAgICB9Cit9CisKKy8vIEJlY2F1c2Ugd2UgbWF5IG5vdCBoYXZlIGEgZ2VzdHVy
ZSByZWNvZ25pemVyLCB3ZSBzZW5kIGEga2V5IHByZXNzCisvLyBldmVudCB0byBlbmQgdGhlIHRl
c3Qgd2l0aG91dCB0ZW1wb3JhbCBmbGFraW5lc3MuCitmdW5jdGlvbiBxdWl0S2V5VG9FbmRUZXN0
KGV2ZW50KSB7CisgICAgZW5kVGVzdCgpOworfQorCitmdW5jdGlvbiBlbmRUZXN0KCkKK3sKKyAg
ICBpZiAobW91c2VFdmVudHNSZWNlaXZlZCA8IGV4cGVjdGVkRXZlbnRzLmxlbmd0aCkgeworICAg
ICAgICBkZWJ1ZygnR2VzdHVyZSBtYW5hZ2VyIG5vdCBpbXBsZW1lbnRlZCBvbiB0aGlzIHBsYXRm
b3JtLicpOworICAgIH0KKyAgICAvLyBCYWlsLgorICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7
CisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdnZXN0dXJlJyk7CisgICAg
ZGl2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIGdlc3R1cmVFdmVudENhbGxiYWNrLCBm
YWxzZSk7CisgICAgZGl2LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZ2VzdHVyZUV2ZW50Q2Fs
bGJhY2ssIGZhbHNlKTsKKyAgICBkaXYuYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLCBnZXN0
dXJlRXZlbnRDYWxsYmFjaywgZmFsc2UpOworICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCJtb3Vz
ZXVwIiwgZ2VzdHVyZUV2ZW50Q2FsbGJhY2ssIGZhbHNlKTsKKyAgICBkaXYuYWRkRXZlbnRMaXN0
ZW5lcigibW91c2Vtb3ZlIiwgZ2VzdHVyZUV2ZW50Q2FsbGJhY2ssIGZhbHNlKTsKKyAgICBkb2N1
bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgcXVpdEtleVRvRW5kVGVzdCwgZmFsc2Up
OworCisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisK
KyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlz
IHRlc3RzIGdlc3R1cmUgY2FsbGJhY2tzIGZvciBhIGRvdWJsZSB0YXAgc2VxdWVuY2Ugb2YgZ2Vz
dHVyZXMuIik7CisgICAgICAgIGV2ZW50U2VuZGVyLmdlc3R1cmVUYXAoMTAsIDEyKTsKKyAgICAg
ICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoMTApOworICAgICAgICBldmVudFNlbmRlci5nZXN0
dXJlVGFwKDExLCAxMiwgMik7CisgICAgICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDUwKTsK
KyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bignICcpOworICAgIH0gZWxzZSB7CisgICAgICAg
IGRlYnVnKCJUaGlzIHRlc3QgcmVxdWlyZXMgRHVtcFJlbmRlclRyZWUuIikKKyAgICB9Cit9Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGljay1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90
b3VjaC9nZXN0dXJlL2dlc3R1cmUtZGJsY2xpY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM3
ZjY2NmZmNWU5ZWJlYTEwOWE4ZGY5NmU0YzBlZmYzOTI2Y2U0NGQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJl
L2dlc3R1cmUtZGJsY2xpY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDUgQEAKK1RoaXMgdGVz
dHMgZ2VzdHVyZSBjYWxsYmFja3MgZm9yIGEgZG91YmxlIHRhcCBzZXF1ZW5jZSBvZiBnZXN0dXJl
cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZXZlbnQudHlwZSBpcyAi
bW91c2Vtb3ZlIgorUEFTUyBldmVudC5jbGllbnRYIGlzIDEwCitQQVNTIGV2ZW50LmNsaWVudFkg
aXMgMTIKK1BBU1MgZXZlbnQuZGV0YWlsIGlzIDAKK1BBU1MgZXZlbnQudHlwZSBpcyAibW91c2Vk
b3duIgorUEFTUyBldmVudC5jbGllbnRYIGlzIDEwCitQQVNTIGV2ZW50LmNsaWVudFkgaXMgMTIK
K1BBU1MgZXZlbnQuZGV0YWlsIGlzIDEKK1BBU1MgZXZlbnQudHlwZSBpcyAibW91c2V1cCIKK1BB
U1MgZXZlbnQuY2xpZW50WCBpcyAxMAorUEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2
ZW50LmRldGFpbCBpcyAxCitQQVNTIGV2ZW50LnR5cGUgaXMgImNsaWNrIgorUEFTUyBldmVudC5j
bGllbnRYIGlzIDEwCitQQVNTIGV2ZW50LmNsaWVudFkgaXMgMTIKK1BBU1MgZXZlbnQuZGV0YWls
IGlzIDEKK1BBU1MgZXZlbnQudHlwZSBpcyAibW91c2Vtb3ZlIgorUEFTUyBldmVudC5jbGllbnRY
IGlzIDExCitQQVNTIGV2ZW50LmNsaWVudFkgaXMgMTIKK1BBU1MgZXZlbnQuZGV0YWlsIGlzIDAK
K1BBU1MgZXZlbnQudHlwZSBpcyAibW91c2Vkb3duIgorUEFTUyBldmVudC5jbGllbnRYIGlzIDEx
CitQQVNTIGV2ZW50LmNsaWVudFkgaXMgMTIKK1BBU1MgZXZlbnQuZGV0YWlsIGlzIDIKK1BBU1Mg
ZXZlbnQudHlwZSBpcyAibW91c2V1cCIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMQorUEFTUyBl
dmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAyCitQQVNTIGV2ZW50LnR5
cGUgaXMgImNsaWNrIgorUEFTUyBldmVudC5jbGllbnRYIGlzIDExCitQQVNTIGV2ZW50LmNsaWVu
dFkgaXMgMTIKK1BBU1MgZXZlbnQuZGV0YWlsIGlzIDIKK1BBU1MgZXZlbnQudHlwZSBpcyAiZGJs
Y2xpY2siCitQQVNTIGV2ZW50LmNsaWVudFggaXMgMTEKK1BBU1MgZXZlbnQuY2xpZW50WSBpcyAx
MgorUEFTUyBldmVudC5kZXRhaWwgaXMgMgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156383</attachid>
            <date>2012-08-03 08:08:14 -0700</date>
            <delta_ts>2012-08-03 12:54:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92412-20120803110754.patch</filename>
            <type>text/plain</type>
            <size>13993</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NTA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDQ0MmJmZDFiMThhZThl
ZDE0Nzk2YjM3OTAyZjQxNDJlZjdjMGQzYy4uMGVmMmUyNjM0ODE4YzJkMmI0YjExODBiNDhhZThi
YWE1MzIxYzlkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA4LTAyICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBEb3VibGUgdGFwIGdlc3R1
cmUgc2hvdWxkIHNlbmQgZGJsY2xpY2sgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUHJvcGFnYXRlIHRoZSB0YXAgY291bnQgZnJvbSBQbGF0Zm9y
bUdlc3R1cmVFdmVudCBpbiB0aGUgZGVyaXZlZCBtb3VzZQorICAgICAgICBldmVudHMuCisKKyAg
ICAgICAgQWxzbyBmaXhlcyBhIGNyYXNoIHdpdGggdW5leHBlY3RlZCBHZXN0dXJlRG91YmxlVGFw
IGV2ZW50cyBieSBqdXN0CisgICAgICAgIHN1cHJlc3NpbmcgdGhlbSBlYXJseS4gIFRoZXkgd2ls
bCBwcm9iYWJseSBiZSByZW1vdmVkIHNvb24gYW55d2F5LgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGljay5odG1sCisKKyAgICAgICAgKiBw
YWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Omhh
bmRsZUdlc3R1cmVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRs
ZUdlc3R1cmVUYXApOgorCiAyMDEyLTA4LTAyICBFcmlrIEFydmlkc3NvbiAgPGFydkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgRE9NNDogY2xhc3NOYW1lIHNob3VsZCBiZSBkZWZpbmVkIG9uIEVs
ZW1lbnQgYW5kIG5vdCBvbiBIVE1MRWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCAwNjNhNDBjZmE2ODU4MjhmNDA4NTA1NzNlNjQ2Y2Q0OGVhN2Q2MzE4Li4wM2NlNmU4NTg3ZjAw
ZTBjNTMwODRkOWE2MzQ3YjY4NmIwZmEwYWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDEyLTA4LTAyICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBEb3VibGUgdGFwIGdlc3R1cmUgc2hvdWxkIHNlbmQgZGJsY2xpY2sg
ZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTky
NDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVHdl
YWsgY29tbWVudCB0byBtb3JlIGNvbXBsZXRlbHkgZGVzY3JpYmUgdGhlIChsYW1lKSBvdmVybG9h
ZGVkIHVzZSAKKyAgICAgICAgb2YgZGVsdGFYIGluIFdlYkdlc3R1cmVFdmVudCwgYW5kIGFkZCBh
IEZJWE1FIHdpdGggdGhlIGJ1ZyB0byB0cmFjaworICAgICAgICBjbGVhbmluZyBpdCB1cC4KKyAg
ICAgICAgKiBwdWJsaWMvV2ViSW5wdXRFdmVudC5oOgorICAgICAgICAoV2ViR2VzdHVyZUV2ZW50
KToKKwogMjAxMi0wOC0wMiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFRoZSBnZW5lcmljIGJpbmRpbmdzIHNob3VsZG4ndCB1c2UgdGVtcGxhdGVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggZjU0NmIxYTllYWU0NTdkZjVlZDE5MDM0YzFh
MGM3MWFmZmEwYzMyNC4uNzQ1NzhmYTVjZjY1ZWQ5YzkzMWIzNzVkNThhYjJhZGQzODFmYWNmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjQxNCw2ICsyNDE0LDExIEBA
IGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVHZXN0dXJlVGFwRG93bigpCiAKIGJvb2wgRXZlbnRI
YW5kbGVyOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZlbnQmIGdl
c3R1cmVFdmVudCkKIHsKKyAgICAvLyBXZSBkb24ndCB1c2UgRG91YmxlVGFwIGF0IHRoZSBtb21l
bnQsIGl0J3MgbW9zdGx5IHJlZHVuZGFudCB3aXRoIHRhcCBzaW5jZSB0YXAgbm93IGNvbnRhaW5z
CisgICAgLy8gYSB0YXAgY291bnQuIEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgcmVtb3ZlIEdl
c3R1cmVEb3VibGVUYXAgKGh0dHA6Ly93a2IudWcvOTMwNDUpLgorICAgIGlmIChnZXN0dXJlRXZl
bnQudHlwZSgpID09IFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVEb3VibGVUYXApCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKwogICAgIE5vZGUqIGV2ZW50VGFyZ2V0ID0gMDsKICAgICBpZiAoZ2VzdHVy
ZUV2ZW50LnR5cGUoKSA9PSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlU2Nyb2xsRW5kIHx8IGdlc3R1
cmVFdmVudC50eXBlKCkgPT0gUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNjcm9sbFVwZGF0ZSkKICAg
ICAgICAgZXZlbnRUYXJnZXQgPSBtX3Njcm9sbEdlc3R1cmVIYW5kbGluZ05vZGUuZ2V0KCk7CkBA
IC0yNDc5LDEzICsyNDg0LDI4IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVHZXN0dXJlVGFw
KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQpCiAgICAgfQogI2VuZGlm
CiAKLSAgICBib29sIGRlZmF1bHRQcmV2ZW50ZWQgPSBmYWxzZTsKLSAgICBQbGF0Zm9ybU1vdXNl
RXZlbnQgZmFrZU1vdXNlTW92ZShhZGp1c3RlZFBvaW50LCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9z
aXRpb24oKSwgTm9CdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlTW92ZWQsIC8qIGNsaWNrQ291
bnQgKi8gMCwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5KCks
IGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSwgZ2VzdHVyZUV2
ZW50LnRpbWVzdGFtcCgpKTsKLSAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFrZU1vdXNlRG93bihh
ZGp1c3RlZFBvaW50LCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwgTGVmdEJ1dHRvbiwg
UGxhdGZvcm1FdmVudDo6TW91c2VQcmVzc2VkLCAvKiBjbGlja0NvdW50ICovIDEsIGdlc3R1cmVF
dmVudC5zaGlmdEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQuYWx0
S2V5KCksIGdlc3R1cmVFdmVudC5tZXRhS2V5KCksIGdlc3R1cmVFdmVudC50aW1lc3RhbXAoKSk7
Ci0gICAgUGxhdGZvcm1Nb3VzZUV2ZW50IGZha2VNb3VzZVVwKGFkanVzdGVkUG9pbnQsIGdlc3R1
cmVFdmVudC5nbG9iYWxQb3NpdGlvbigpLCBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3Vz
ZVJlbGVhc2VkLCAvKiBjbGlja0NvdW50ICovIDEsIGdlc3R1cmVFdmVudC5zaGlmdEtleSgpLCBn
ZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQuYWx0S2V5KCksIGdlc3R1cmVFdmVu
dC5tZXRhS2V5KCksIGdlc3R1cmVFdmVudC50aW1lc3RhbXAoKSk7CisgICAgUGxhdGZvcm1Nb3Vz
ZUV2ZW50IGZha2VNb3VzZU1vdmUoYWRqdXN0ZWRQb2ludCwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFBv
c2l0aW9uKCksCisgICAgICAgIE5vQnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZU1vdmVkLCAv
KiBjbGlja0NvdW50ICovIDAsCisgICAgICAgIGdlc3R1cmVFdmVudC5zaGlmdEtleSgpLCBnZXN0
dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQuYWx0S2V5KCksIGdlc3R1cmVFdmVudC5t
ZXRhS2V5KCksIGdlc3R1cmVFdmVudC50aW1lc3RhbXAoKSk7CiAgICAgbW91c2VNb3ZlZChmYWtl
TW91c2VNb3ZlKTsKKworICAgIGludCB0YXBDb3VudCA9IDE7CisgICAgLy8gRklYTUU6IGRlbGV0
YVggaXMgb3ZlcmxvYWRlZCB0byBtZWFuIGRpZmZlcmVudCB0aGluZ3MgZm9yIGRpZmZlcmVudCBn
ZXN0dXJlcy4KKyAgICAvLyBodHRwOi8vd2tiLnVnLzkzMTIzCisgICAgaWYgKGdlc3R1cmVFdmVu
dC5kZWx0YVgoKSA+IDApCisgICAgICAgIHRhcENvdW50ID0gc3RhdGljX2Nhc3Q8aW50PihnZXN0
dXJlRXZlbnQuZGVsdGFYKCkpOworCisgICAgYm9vbCBkZWZhdWx0UHJldmVudGVkID0gZmFsc2U7
CisgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IGZha2VNb3VzZURvd24oYWRqdXN0ZWRQb2ludCwgZ2Vz
dHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksCisgICAgICAgIExlZnRCdXR0b24sIFBsYXRmb3Jt
RXZlbnQ6Ok1vdXNlUHJlc3NlZCwgdGFwQ291bnQsCisgICAgICAgIGdlc3R1cmVFdmVudC5zaGlm
dEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0dXJlRXZlbnQuYWx0S2V5KCksIGdl
c3R1cmVFdmVudC5tZXRhS2V5KCksIGdlc3R1cmVFdmVudC50aW1lc3RhbXAoKSk7CiAgICAgZGVm
YXVsdFByZXZlbnRlZCB8PSBoYW5kbGVNb3VzZVByZXNzRXZlbnQoZmFrZU1vdXNlRG93bik7CisK
KyAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFrZU1vdXNlVXAoYWRqdXN0ZWRQb2ludCwgZ2VzdHVy
ZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksCisgICAgICAgIExlZnRCdXR0b24sIFBsYXRmb3JtRXZl
bnQ6Ok1vdXNlUmVsZWFzZWQsIHRhcENvdW50LAorICAgICAgICBnZXN0dXJlRXZlbnQuc2hpZnRL
ZXkoKSwgZ2VzdHVyZUV2ZW50LmN0cmxLZXkoKSwgZ2VzdHVyZUV2ZW50LmFsdEtleSgpLCBnZXN0
dXJlRXZlbnQubWV0YUtleSgpLCBnZXN0dXJlRXZlbnQudGltZXN0YW1wKCkpOwogICAgIGRlZmF1
bHRQcmV2ZW50ZWQgfD0gaGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoZmFrZU1vdXNlVXApOworCiAg
ICAgcmV0dXJuIGRlZmF1bHRQcmV2ZW50ZWQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYklucHV0RXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYklucHV0RXZlbnQuaAppbmRleCA1ZWE1NWQ1NWMyODMwYjg4NGVlYzM5ZjZi
ZWE5NDY5ZDdkZDhjNGE0Li4wOTA0OGNkZWQ3YzE0NDY5NDUzNjQzNDI5NmY3YWQ2OWRlOGU3YjM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFdmVudC5oCkBA
IC0zNzAsNyArMzcwLDExIEBAIHB1YmxpYzoKICAgICBpbnQgZ2xvYmFsWDsKICAgICBpbnQgZ2xv
YmFsWTsKIAotICAgIC8vIE5PVEU6IHxkZWx0YVh8IGFuZCB8ZGVsdGFZfCByZXByZXNlbnRzIHRo
ZSBhbW91bnQgdG8gc2Nyb2xsIGZvciBTY3JvbGwgZ2VzdHVyZSBldmVudHMuIEZvciBQaW5jaCBn
ZXN0dXJlIGV2ZW50cywgfGRlbHRhWHwgcmVwcmVzZW50cyB0aGUgc2NhbGluZy9tYWduaWZpY2F0
aW9uIGZhY3Rvci4KKyAgICAvLyBOT1RFOiB8ZGVsdGFYfCBhbmQgfGRlbHRhWXwgcmVwcmVzZW50
cyB0aGUgYW1vdW50IHRvIHNjcm9sbCBmb3IgU2Nyb2xsIGdlc3R1cmUgZXZlbnRzLgorICAgIC8v
IEZvciBQaW5jaCBnZXN0dXJlIGV2ZW50cywgfGRlbHRhWHwgcmVwcmVzZW50cyB0aGUgc2NhbGlu
Zy9tYWduaWZpY2F0aW9uIGZhY3Rvci4KKyAgICAvLyBGb3IgYSBHZXN0dXJlVGFwIGV2ZW50LCB8
ZGVsdGFYfCByZXByZXNlbnRzIHRoZSB0YXAgY291bnQuCisgICAgLy8gRm9yIGEgRmxpbmdTdGFy
dCBldmVudCwgfGRlbHRhWHwgYW5kIHxkZWx0YVl8IHJlcHJlc2VudCB0aGUgdmVsb2NpdHkuCisg
ICAgLy8gRklYTUU6IEF2b2lkIG92ZXJsb2FkaW5nICdkZWx0YScgaW4gdGhpcyB3YXkuIGh0dHA6
Ly93a2IudWcvOTMxMjMKICAgICBmbG9hdCBkZWx0YVg7CiAgICAgZmxvYXQgZGVsdGFZOwogICAg
IFdlYlJlY3QgYm91bmRpbmdCb3g7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggODRiNGYyNzdlODQyZGQzY2VmNDZiNzM5ZmE2Y2MyOTc4NGM2NjU5
MC4uNDQ5NzE4NTM1ODJlNTFlYmM3ODBiOTZjZWQ1ZWZlYTQxNGEwNGRmYyAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDEyLTA4LTAyICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBE
b3VibGUgdGFwIGdlc3R1cmUgc2hvdWxkIHNlbmQgZGJsY2xpY2sgZXZlbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNDEyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIEV2ZW50U2VuZGVyIHRv
IHNldCB0aGUgdGFwIGNvdW50IG9uIHRhcCBnZXN0dXJlIGV2ZW50cy4gIFRoZQorICAgICAgICBk
ZWx0YSBYL1kgcGFyYW1ldGVycyB3ZXJlIG5vdCBhY3R1YWxseSBiZWluZyB1c2VkIGFueW1vcmUg
KHVzZWQgdG8gYmUKKyAgICAgICAgdXNlZCBmb3IgcmFkaXVzIGluZm9ybWF0aW9uKS4KKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3Bw
OgorICAgICAgICAoRXZlbnRTZW5kZXI6Omdlc3R1cmVFdmVudCk6CisKIDIwMTItMDgtMDIgIERp
cmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgdGVzdC13ZWJraXRw
eTogc29tZSB0ZXN0cyBuZWVkIHRvIHJ1biBieSB0aGVtc2VsdmVzCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0UnVubmVyL0V2ZW50U2VuZGVyLmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3BwCmlu
ZGV4IDVmNDliOGZkZjNhYTFlMzk0NDkxMDdkYWY3YTBmNmQzNzIyMTM0N2IuLjFlYmQ3NDE4ZTNl
ODUwZTc0OGE4YTZjM2M4NWYyY2E4Y2YxMGMzODIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3BwCkBAIC0xMTY2
LDkgKzExNjYsOSBAQCB2b2lkIEV2ZW50U2VuZGVyOjpnZXN0dXJlRXZlbnQoV2ViSW5wdXRFdmVu
dDo6VHlwZSB0eXBlLCBjb25zdCBDcHBBcmd1bWVudExpc3QmCiAgICAgICAgIGV2ZW50LnkgPSBt
X2N1cnJlbnRHZXN0dXJlTG9jYXRpb24ueTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXZWJJ
bnB1dEV2ZW50OjpHZXN0dXJlVGFwOgotICAgICAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA+PSA0
KSB7CisgICAgICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpID49IDMpIHsKKyAgICAgICAgICAgIC8v
IFRhcCBjb3VudC4KICAgICAgICAgICAgIGV2ZW50LmRlbHRhWCA9IHN0YXRpY19jYXN0PGZsb2F0
Pihhcmd1bWVudHNbMl0udG9Eb3VibGUoKSk7Ci0gICAgICAgICAgICBldmVudC5kZWx0YVkgPSBz
dGF0aWNfY2FzdDxmbG9hdD4oYXJndW1lbnRzWzNdLnRvRG91YmxlKCkpOwogICAgICAgICB9CiAg
ICAgICAgIGV2ZW50LnggPSBwb2ludC54OwogICAgICAgICBldmVudC55ID0gcG9pbnQueTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA5MTNjY2I1YWFiMGQ5MjFhZDExYTgwY2U1ODk1ZDIyZjE0OTQzZWRkLi40NzExNzJiMmM5
NzFmZjdhNjQyMDU4NTg4Njc1Y2VkMDdmY2JmYzYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTItMDgtMDIgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIERv
dWJsZSB0YXAgZ2VzdHVyZSBzaG91bGQgc2VuZCBkYmxjbGljayBldmVudAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI0MTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIHRlc3QgZm9yIGRlcml2ZWQg
bW91c2UgZXZlbnRzIGdlbmVyYXRlZCBieSBhIHNlcXVlbmNlIG9mIHR3byB0YXAKKyAgICAgICAg
ZXZlbnRzLiAgTW9kZWxlZCBhZnRlciBnZXN0dXJlLWNsaWNrLmh0bWwuCisgICAgICAgICogZmFz
dC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9nZXN0dXJlLWRibGNsaWNrLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9nZXN0dXJlLWRibGNsaWNr
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3Rv
dWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGljay1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEy
LTA4LTAyICBFcmlrIEFydmlkc3NvbiAgPGFydkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRE9N
NDogY2xhc3NOYW1lIHNob3VsZCBiZSBkZWZpbmVkIG9uIEVsZW1lbnQgYW5kIG5vdCBvbiBIVE1M
RWxlbWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVy
ZS9nZXN0dXJlLWRibGNsaWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGljay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTBjMGM4N2M1ZGYxMWMzZDJjZDcxNDQ2NGM4Y2M3MGNlY2JjMWRkOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGlj
ay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorVGhpcyB0ZXN0cyBnZXN0dXJlIGNhbGxi
YWNrcyBmb3IgdGhlIGRvdWJsZSB0YXAgZ2VzdHVyZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK0dlc3R1cmUgbWFuYWdlciBub3QgaW1wbGVtZW50ZWQgb24gdGhpcyBwbGF0Zm9y
bS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL2dlc3R1cmUt
ZGJsY2xpY2suaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2Vz
dHVyZS1kYmxjbGljay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1OGE4NTUxMjg4YzE4NTM3MjAwYzgyNjY1
YWUwN2U4YmRiM2NlOTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy90b3VjaC9nZXN0dXJlL2dlc3R1cmUtZGJsY2xpY2suaHRtbApAQCAtMCwwICsxLDg2IEBACis8
IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPGRpdiBpZD0i
Z2VzdHVyZSI+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CisKKzxzY3JpcHQ+Cit2YXIgZXhwZWN0ZWRFdmVudHMgPSBbCisgIHt0eXBlOiAnbW91
c2Vtb3ZlJywgeDogMTAsIHk6IDEyLCBkZXRhaWw6IDAgfSwKKyAge3R5cGU6ICdtb3VzZWRvd24n
LCB4OiAxMCwgeTogMTIsIGRldGFpbDogMSB9LAorICB7dHlwZTogJ21vdXNldXAnLCB4OiAxMCwg
eTogMTIsIGRldGFpbDogMSB9LAorICB7dHlwZTogJ2NsaWNrJywgeDogMTAsIHk6IDEyLCBkZXRh
aWw6IDEgfSwKKyAge3R5cGU6ICdtb3VzZW1vdmUnLCB4OiAxMSwgeTogMTIsIGRldGFpbDogMCB9
LAorICB7dHlwZTogJ21vdXNlZG93bicsIHg6IDExLCB5OiAxMiwgZGV0YWlsOiAyIH0sCisgIHt0
eXBlOiAnbW91c2V1cCcsIHg6IDExLCB5OiAxMiwgZGV0YWlsOiAyIH0sCisgIHt0eXBlOiAnY2xp
Y2snLCB4OiAxMSwgeTogMTIsIGRldGFpbDogMiB9LAorICB7dHlwZTogJ2RibGNsaWNrJywgeDog
MTEsIHk6IDEyLCBkZXRhaWw6IDIgfSwKKyAgXTsKKwordmFyIG1vdXNlRXZlbnRzUmVjZWl2ZWQg
PSAwOworCitmdW5jdGlvbiBnZXN0dXJlRXZlbnRDYWxsYmFjayhldmVudCkKK3sKKyAgICBpZiAo
d2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZXZl
bnQudHlwZScsIGV4cGVjdGVkRXZlbnRzW21vdXNlRXZlbnRzUmVjZWl2ZWRdLnR5cGUpOworICAg
ICAgICBzaG91bGRFdmFsdWF0ZVRvKCdldmVudC5jbGllbnRYJywgZXhwZWN0ZWRFdmVudHNbbW91
c2VFdmVudHNSZWNlaXZlZF0ueCk7CisgICAgICAgIHNob3VsZEV2YWx1YXRlVG8oJ2V2ZW50LmNs
aWVudFknLCBleHBlY3RlZEV2ZW50c1ttb3VzZUV2ZW50c1JlY2VpdmVkXS55KTsKKyAgICAgICAg
c2hvdWxkRXZhbHVhdGVUbygnZXZlbnQuZGV0YWlsJywgZXhwZWN0ZWRFdmVudHNbbW91c2VFdmVu
dHNSZWNlaXZlZF0uZGV0YWlsKTsKKyAgICAgICAgbW91c2VFdmVudHNSZWNlaXZlZCsrOworICAg
IH0gZWxzZSB7CisgICAgICAgIGRlYnVnKGV2ZW50LnR5cGUpOworICAgICAgICBkZWJ1ZyhldmVu
dC5jbGllbnRYKTsKKyAgICAgICAgZGVidWcoZXZlbnQuY2xpZW50WSk7CisgICAgICAgIGRlYnVn
KGV2ZW50LmRldGFpbCk7CisgICAgfQorfQorCisvLyBCZWNhdXNlIHdlIG1heSBub3QgaGF2ZSBh
IGdlc3R1cmUgcmVjb2duaXplciwgd2Ugc2VuZCBhIGtleSBwcmVzcworLy8gZXZlbnQgdG8gZW5k
IHRoZSB0ZXN0IHdpdGhvdXQgdGVtcG9yYWwgZmxha2luZXNzLgorZnVuY3Rpb24gcXVpdEtleVRv
RW5kVGVzdChldmVudCkgeworICAgIGVuZFRlc3QoKTsKK30KKworZnVuY3Rpb24gZW5kVGVzdCgp
Cit7CisgICAgaWYgKG1vdXNlRXZlbnRzUmVjZWl2ZWQgPCBleHBlY3RlZEV2ZW50cy5sZW5ndGgp
IHsKKyAgICAgICAgZGVidWcoJ0dlc3R1cmUgbWFuYWdlciBub3QgaW1wbGVtZW50ZWQgb24gdGhp
cyBwbGF0Zm9ybS4nKTsKKyAgICB9CisgICAgLy8gQmFpbC4KKyAgICBpc1N1Y2Nlc3NmdWxseVBh
cnNlZCgpOworICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2VzdHVyZScp
OworICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBnZXN0dXJlRXZlbnRDYWxs
YmFjaywgZmFsc2UpOworICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGdlc3R1cmVF
dmVudENhbGxiYWNrLCBmYWxzZSk7CisgICAgZGl2LmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNr
IiwgZ2VzdHVyZUV2ZW50Q2FsbGJhY2ssIGZhbHNlKTsKKyAgICBkaXYuYWRkRXZlbnRMaXN0ZW5l
cigibW91c2V1cCIsIGdlc3R1cmVFdmVudENhbGxiYWNrLCBmYWxzZSk7CisgICAgZGl2LmFkZEV2
ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIGdlc3R1cmVFdmVudENhbGxiYWNrLCBmYWxzZSk7Cisg
ICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHF1aXRLZXlUb0VuZFRlc3Qs
IGZhbHNlKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cisg
ICAgfQorCisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBkZXNjcmlwdGlv
bigiVGhpcyB0ZXN0cyBnZXN0dXJlIGNhbGxiYWNrcyBmb3IgYSBkb3VibGUgdGFwIHNlcXVlbmNl
IG9mIGdlc3R1cmVzLiIpOworICAgICAgICBldmVudFNlbmRlci5nZXN0dXJlVGFwKDEwLCAxMik7
CisgICAgICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDEwKTsKKyAgICAgICAgZXZlbnRTZW5k
ZXIuZ2VzdHVyZVRhcCgxMSwgMTIsIDIpOworICAgICAgICBldmVudFNlbmRlci5sZWFwRm9yd2Fy
ZCg1MCk7CisgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oJyAnKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiIpCisgICAg
fQorfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL2dlc3R1cmUtZGJs
Y2xpY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9l
dmVudHMvdG91Y2gvZ2VzdHVyZS9nZXN0dXJlLWRibGNsaWNrLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jN2Y2NjZmZjVlOWViZWExMDlhOGRmOTZlNGMwZWZmMzkyNmNlNDRkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gv
Z2VzdHVyZS9nZXN0dXJlLWRibGNsaWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ1IEBACitU
aGlzIHRlc3RzIGdlc3R1cmUgY2FsbGJhY2tzIGZvciBhIGRvdWJsZSB0YXAgc2VxdWVuY2Ugb2Yg
Z2VzdHVyZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGV2ZW50LnR5
cGUgaXMgIm1vdXNlbW92ZSIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMAorUEFTUyBldmVudC5j
bGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAwCitQQVNTIGV2ZW50LnR5cGUgaXMg
Im1vdXNlZG93biIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMAorUEFTUyBldmVudC5jbGllbnRZ
IGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAxCitQQVNTIGV2ZW50LnR5cGUgaXMgIm1vdXNl
dXAiCitQQVNTIGV2ZW50LmNsaWVudFggaXMgMTAKK1BBU1MgZXZlbnQuY2xpZW50WSBpcyAxMgor
UEFTUyBldmVudC5kZXRhaWwgaXMgMQorUEFTUyBldmVudC50eXBlIGlzICJjbGljayIKK1BBU1Mg
ZXZlbnQuY2xpZW50WCBpcyAxMAorUEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2ZW50
LmRldGFpbCBpcyAxCitQQVNTIGV2ZW50LnR5cGUgaXMgIm1vdXNlbW92ZSIKK1BBU1MgZXZlbnQu
Y2xpZW50WCBpcyAxMQorUEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRldGFp
bCBpcyAwCitQQVNTIGV2ZW50LnR5cGUgaXMgIm1vdXNlZG93biIKK1BBU1MgZXZlbnQuY2xpZW50
WCBpcyAxMQorUEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAy
CitQQVNTIGV2ZW50LnR5cGUgaXMgIm1vdXNldXAiCitQQVNTIGV2ZW50LmNsaWVudFggaXMgMTEK
K1BBU1MgZXZlbnQuY2xpZW50WSBpcyAxMgorUEFTUyBldmVudC5kZXRhaWwgaXMgMgorUEFTUyBl
dmVudC50eXBlIGlzICJjbGljayIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMQorUEFTUyBldmVu
dC5jbGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAyCitQQVNTIGV2ZW50LnR5cGUg
aXMgImRibGNsaWNrIgorUEFTUyBldmVudC5jbGllbnRYIGlzIDExCitQQVNTIGV2ZW50LmNsaWVu
dFkgaXMgMTIKK1BBU1MgZXZlbnQuZGV0YWlsIGlzIDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156439</attachid>
            <date>2012-08-03 12:54:27 -0700</date>
            <delta_ts>2012-08-03 16:45:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92412-20120803155406.patch</filename>
            <type>text/plain</type>
            <size>14029</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmMyMGNhYTcyZWNlOTNk
OGVkNjIyMDkwNTFlNzRkY2JhMjQ3OWM5MC4uMGY1NDI3ZTliMmFjMGNmY2Y0OWQyYWQyMTUyNzkz
OGJlY2M5M2RkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA4LTAyICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBEb3VibGUgdGFwIGdlc3R1
cmUgc2hvdWxkIHNlbmQgZGJsY2xpY2sgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgUHJvcGFnYXRlIHRoZSB0YXAgY291bnQgZnJvbSBQbGF0Zm9y
bUdlc3R1cmVFdmVudCBpbiB0aGUgZGVyaXZlZCBtb3VzZQorICAgICAgICBldmVudHMuCisKKyAg
ICAgICAgQWxzbyBmaXhlcyBhIGNyYXNoIHdpdGggdW5leHBlY3RlZCBHZXN0dXJlRG91YmxlVGFw
IGV2ZW50cyBieSBqdXN0CisgICAgICAgIHN1cHJlc3NpbmcgdGhlbSBlYXJseS4gIFRoZXkgd2ls
bCBwcm9iYWJseSBiZSByZW1vdmVkIHNvb24gYW55d2F5LgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
ZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGljay5odG1sCisKKyAgICAgICAgKiBw
YWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6Omhh
bmRsZUdlc3R1cmVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRs
ZUdlc3R1cmVUYXApOgorCiAyMDEyLTA4LTAzICBUZXJyeSBBbmRlcnNvbiAgPHRkYW5kZXJzb25A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFwcGx5IHRhcmdldCBmdXp6aW5nIHdoZW4gc2VuZGlu
ZyBhIGNvbnRleHQgbWVudSBldmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBmZjBm
MDY4MGU1MTIwOGI1MGZmZGM4ZTM1MjY4MmFhMmU1ZDZkNDE3Li5kMjNjZjA3ODg1YWM1YzI4YjVh
YzQ1MmZjN2U2YmI2ZmZiNzZjZDNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDEyLTA4LTAyICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4K
KworICAgICAgICBEb3VibGUgdGFwIGdlc3R1cmUgc2hvdWxkIHNlbmQgZGJsY2xpY2sgZXZlbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNDEyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVHdlYWsgY29t
bWVudCB0byBtb3JlIGNvbXBsZXRlbHkgZGVzY3JpYmUgdGhlIChsYW1lKSBvdmVybG9hZGVkIHVz
ZQorICAgICAgICBvZiBkZWx0YVggaW4gV2ViR2VzdHVyZUV2ZW50LCBhbmQgYWRkIGEgRklYTUUg
d2l0aCB0aGUgYnVnIHRvIHRyYWNrCisgICAgICAgIGNsZWFuaW5nIGl0IHVwLgorICAgICAgICAq
IHB1YmxpYy9XZWJJbnB1dEV2ZW50Lmg6CisgICAgICAgIChXZWJHZXN0dXJlRXZlbnQpOgorCiAy
MDEyLTA4LTAzICBUZXJyeSBBbmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIEFwcGx5IHRhcmdldCBmdXp6aW5nIHdoZW4gc2VuZGluZyBhIGNvbnRleHQgbWVudSBl
dmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGFlYWYwZjA5OWRlNmU2
YzIxMTE5NDA0NWE2YmM5ZmFiNDNiODM1M2MuLjdhMDc4ZTg1MjZhMTEwOGVmYmJiZWJiYTY0OTU5
ODBkMTZkYTE1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI0MTQs
NiArMjQxNCwxMSBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZVRhcERvd24oKQog
CiBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2Vz
dHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQpCiB7CisgICAgLy8gV2UgZG9uJ3QgdXNlIERvdWJsZVRh
cCBhdCB0aGUgbW9tZW50LCBpdCdzIG1vc3RseSByZWR1bmRhbnQgd2l0aCB0YXAgc2luY2UgdGFw
IG5vdyBjb250YWlucworICAgIC8vIGEgdGFwIGNvdW50LiBGSVhNRTogV2Ugc2hvdWxkIHByb2Jh
Ymx5IHJlbW92ZSBHZXN0dXJlRG91YmxlVGFwIChodHRwOi8vd2tiLnVnLzkzMDQ1KS4KKyAgICBp
ZiAoZ2VzdHVyZUV2ZW50LnR5cGUoKSA9PSBQbGF0Zm9ybUV2ZW50OjpHZXN0dXJlRG91YmxlVGFw
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBOb2RlKiBldmVudFRhcmdldCA9IDA7CiAg
ICAgaWYgKGdlc3R1cmVFdmVudC50eXBlKCkgPT0gUGxhdGZvcm1FdmVudDo6R2VzdHVyZVNjcm9s
bEVuZCB8fCBnZXN0dXJlRXZlbnQudHlwZSgpID09IFBsYXRmb3JtRXZlbnQ6Okdlc3R1cmVTY3Jv
bGxVcGRhdGUpCiAgICAgICAgIGV2ZW50VGFyZ2V0ID0gbV9zY3JvbGxHZXN0dXJlSGFuZGxpbmdO
b2RlLmdldCgpOwpAQCAtMjQ3NCwxMyArMjQ3OSwyOCBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFu
ZGxlR2VzdHVyZVRhcChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYgZ2VzdHVyZUV2ZW50KQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKIAotICAgIGJvb2wgZGVmYXVsdFByZXZlbnRl
ZCA9IGZhbHNlOwotICAgIFBsYXRmb3JtTW91c2VFdmVudCBmYWtlTW91c2VNb3ZlKGFkanVzdGVk
UG9pbnQsIGdlc3R1cmVFdmVudC5nbG9iYWxQb3NpdGlvbigpLCBOb0J1dHRvbiwgUGxhdGZvcm1F
dmVudDo6TW91c2VNb3ZlZCwgLyogY2xpY2tDb3VudCAqLyAwLCBnZXN0dXJlRXZlbnQuc2hpZnRL
ZXkoKSwgZ2VzdHVyZUV2ZW50LmN0cmxLZXkoKSwgZ2VzdHVyZUV2ZW50LmFsdEtleSgpLCBnZXN0
dXJlRXZlbnQubWV0YUtleSgpLCBnZXN0dXJlRXZlbnQudGltZXN0YW1wKCkpOwotICAgIFBsYXRm
b3JtTW91c2VFdmVudCBmYWtlTW91c2VEb3duKGFkanVzdGVkUG9pbnQsIGdlc3R1cmVFdmVudC5n
bG9iYWxQb3NpdGlvbigpLCBMZWZ0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVByZXNzZWQs
IC8qIGNsaWNrQ291bnQgKi8gMSwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVu
dC5jdHJsS2V5KCksIGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXko
KSwgZ2VzdHVyZUV2ZW50LnRpbWVzdGFtcCgpKTsKLSAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFr
ZU1vdXNlVXAoYWRqdXN0ZWRQb2ludCwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIExl
ZnRCdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUmVsZWFzZWQsIC8qIGNsaWNrQ291bnQgKi8g
MSwgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5KCksIGdlc3R1
cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSwgZ2VzdHVyZUV2ZW50LnRp
bWVzdGFtcCgpKTsKKyAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFrZU1vdXNlTW92ZShhZGp1c3Rl
ZFBvaW50LCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwKKyAgICAgICAgTm9CdXR0b24s
IFBsYXRmb3JtRXZlbnQ6Ok1vdXNlTW92ZWQsIC8qIGNsaWNrQ291bnQgKi8gMCwKKyAgICAgICAg
Z2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5KCksIGdlc3R1cmVF
dmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSwgZ2VzdHVyZUV2ZW50LnRpbWVz
dGFtcCgpKTsKICAgICBtb3VzZU1vdmVkKGZha2VNb3VzZU1vdmUpOworCisgICAgaW50IHRhcENv
dW50ID0gMTsKKyAgICAvLyBGSVhNRTogZGVsZXRhWCBpcyBvdmVybG9hZGVkIHRvIG1lYW4gZGlm
ZmVyZW50IHRoaW5ncyBmb3IgZGlmZmVyZW50IGdlc3R1cmVzLgorICAgIC8vIGh0dHA6Ly93a2Iu
dWcvOTMxMjMKKyAgICBpZiAoZ2VzdHVyZUV2ZW50LmRlbHRhWCgpID4gMCkKKyAgICAgICAgdGFw
Q291bnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGdlc3R1cmVFdmVudC5kZWx0YVgoKSk7CisKKyAgICBi
b29sIGRlZmF1bHRQcmV2ZW50ZWQgPSBmYWxzZTsKKyAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFr
ZU1vdXNlRG93bihhZGp1c3RlZFBvaW50LCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwK
KyAgICAgICAgTGVmdEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VQcmVzc2VkLCB0YXBDb3Vu
dCwKKyAgICAgICAgZ2VzdHVyZUV2ZW50LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5
KCksIGdlc3R1cmVFdmVudC5hbHRLZXkoKSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSwgZ2VzdHVy
ZUV2ZW50LnRpbWVzdGFtcCgpKTsKICAgICBkZWZhdWx0UHJldmVudGVkIHw9IGhhbmRsZU1vdXNl
UHJlc3NFdmVudChmYWtlTW91c2VEb3duKTsKKworICAgIFBsYXRmb3JtTW91c2VFdmVudCBmYWtl
TW91c2VVcChhZGp1c3RlZFBvaW50LCBnZXN0dXJlRXZlbnQuZ2xvYmFsUG9zaXRpb24oKSwKKyAg
ICAgICAgTGVmdEJ1dHRvbiwgUGxhdGZvcm1FdmVudDo6TW91c2VSZWxlYXNlZCwgdGFwQ291bnQs
CisgICAgICAgIGdlc3R1cmVFdmVudC5zaGlmdEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtleSgp
LCBnZXN0dXJlRXZlbnQuYWx0S2V5KCksIGdlc3R1cmVFdmVudC5tZXRhS2V5KCksIGdlc3R1cmVF
dmVudC50aW1lc3RhbXAoKSk7CiAgICAgZGVmYXVsdFByZXZlbnRlZCB8PSBoYW5kbGVNb3VzZVJl
bGVhc2VFdmVudChmYWtlTW91c2VVcCk7CisKICAgICByZXR1cm4gZGVmYXVsdFByZXZlbnRlZDsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRF
dmVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFdmVudC5oCmlu
ZGV4IDVlYTU1ZDU1YzI4MzBiODg0ZWVjMzlmNmJlYTk0NjlkN2RkOGM0YTQuLjA5MDQ4Y2RlZDdj
MTQ0Njk0NTM2NDM0Mjk2ZjdhZDY5ZGU4ZTdiMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYklucHV0RXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmgKQEAgLTM3MCw3ICszNzAsMTEgQEAgcHVibGljOgog
ICAgIGludCBnbG9iYWxYOwogICAgIGludCBnbG9iYWxZOwogCi0gICAgLy8gTk9URTogfGRlbHRh
WHwgYW5kIHxkZWx0YVl8IHJlcHJlc2VudHMgdGhlIGFtb3VudCB0byBzY3JvbGwgZm9yIFNjcm9s
bCBnZXN0dXJlIGV2ZW50cy4gRm9yIFBpbmNoIGdlc3R1cmUgZXZlbnRzLCB8ZGVsdGFYfCByZXBy
ZXNlbnRzIHRoZSBzY2FsaW5nL21hZ25pZmljYXRpb24gZmFjdG9yLgorICAgIC8vIE5PVEU6IHxk
ZWx0YVh8IGFuZCB8ZGVsdGFZfCByZXByZXNlbnRzIHRoZSBhbW91bnQgdG8gc2Nyb2xsIGZvciBT
Y3JvbGwgZ2VzdHVyZSBldmVudHMuCisgICAgLy8gRm9yIFBpbmNoIGdlc3R1cmUgZXZlbnRzLCB8
ZGVsdGFYfCByZXByZXNlbnRzIHRoZSBzY2FsaW5nL21hZ25pZmljYXRpb24gZmFjdG9yLgorICAg
IC8vIEZvciBhIEdlc3R1cmVUYXAgZXZlbnQsIHxkZWx0YVh8IHJlcHJlc2VudHMgdGhlIHRhcCBj
b3VudC4KKyAgICAvLyBGb3IgYSBGbGluZ1N0YXJ0IGV2ZW50LCB8ZGVsdGFYfCBhbmQgfGRlbHRh
WXwgcmVwcmVzZW50IHRoZSB2ZWxvY2l0eS4KKyAgICAvLyBGSVhNRTogQXZvaWQgb3ZlcmxvYWRp
bmcgJ2RlbHRhJyBpbiB0aGlzIHdheS4gaHR0cDovL3drYi51Zy85MzEyMwogICAgIGZsb2F0IGRl
bHRhWDsKICAgICBmbG9hdCBkZWx0YVk7CiAgICAgV2ViUmVjdCBib3VuZGluZ0JveDsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4OTA0ZTI2M2Qx
MDA3YWM4ZWZkNGU2ZmExMDY4ZmMxYjFkODViZDdmLi5lMjljMTVjZTJmMDZmOGM0Yzg3ODkwYzdl
MTI0NzUxNDRhNGUwZmNkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDgtMDIgIFJpY2sgQnllcnMgIDxyYnll
cnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIERvdWJsZSB0YXAgZ2VzdHVyZSBzaG91bGQgc2Vu
ZCBkYmxjbGljayBldmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTI0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFbmFibGUgRXZlbnRTZW5kZXIgdG8gc2V0IHRoZSB0YXAgY291bnQgb24gdGFwIGdl
c3R1cmUgZXZlbnRzLiAgVGhlCisgICAgICAgIGRlbHRhIFgvWSBwYXJhbWV0ZXJzIHdlcmUgbm90
IGFjdHVhbGx5IGJlaW5nIHVzZWQgYW55bW9yZSAodXNlZCB0byBiZQorICAgICAgICB1c2VkIGZv
ciByYWRpdXMgaW5mb3JtYXRpb24pLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFJ1bm5lci9FdmVudFNlbmRlci5jcHA6CisgICAgICAgIChFdmVudFNlbmRlcjo6Z2Vz
dHVyZUV2ZW50KToKKwogMjAxMi0wOC0wMyAgQXJ2aWQgTmlsc3NvbiAgPGFuaWxzc29uQHJpbS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYWRkaW5nIHNlbGYgdG8gY29tbWl0dGVycy5weSBh
ZnRlciBiZWNvbWluZyBjb21taXR0ZXIuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0UnVubmVyL0V2ZW50U2VuZGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3BwCmluZGV4IDVmNDliOGZkZjNh
YTFlMzk0NDkxMDdkYWY3YTBmNmQzNzIyMTM0N2IuLjFlYmQ3NDE4ZTNlODUwZTc0OGE4YTZjM2M4
NWYyY2E4Y2YxMGMzODIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RSdW5uZXIvRXZlbnRTZW5kZXIuY3BwCkBAIC0xMTY2LDkgKzExNjYsOSBAQCB2
b2lkIEV2ZW50U2VuZGVyOjpnZXN0dXJlRXZlbnQoV2ViSW5wdXRFdmVudDo6VHlwZSB0eXBlLCBj
b25zdCBDcHBBcmd1bWVudExpc3QmCiAgICAgICAgIGV2ZW50LnkgPSBtX2N1cnJlbnRHZXN0dXJl
TG9jYXRpb24ueTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0
dXJlVGFwOgotICAgICAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA+PSA0KSB7CisgICAgICAgIGlm
IChhcmd1bWVudHMuc2l6ZSgpID49IDMpIHsKKyAgICAgICAgICAgIC8vIFRhcCBjb3VudC4KICAg
ICAgICAgICAgIGV2ZW50LmRlbHRhWCA9IHN0YXRpY19jYXN0PGZsb2F0Pihhcmd1bWVudHNbMl0u
dG9Eb3VibGUoKSk7Ci0gICAgICAgICAgICBldmVudC5kZWx0YVkgPSBzdGF0aWNfY2FzdDxmbG9h
dD4oYXJndW1lbnRzWzNdLnRvRG91YmxlKCkpOwogICAgICAgICB9CiAgICAgICAgIGV2ZW50Lngg
PSBwb2ludC54OwogICAgICAgICBldmVudC55ID0gcG9pbnQueTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYWEyMWYzMWUy
MTkwMTE1NjE1NmFlZDg0MTRlYzdhOWVlOWZhNTU3Li4xOGRhYTMwNjJhN2M2NmQ2NTY4ZjcyYmE1
NjEzMWM4ZGZlZmE3OTEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDgtMDIgIFJpY2sg
QnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIERvdWJsZSB0YXAgZ2VzdHVy
ZSBzaG91bGQgc2VuZCBkYmxjbGljayBldmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRzIHRlc3QgZm9yIGRlcml2ZWQgbW91c2UgZXZlbnRzIGdl
bmVyYXRlZCBieSBhIHNlcXVlbmNlIG9mIHR3byB0YXAKKyAgICAgICAgZXZlbnRzLiAgTW9kZWxl
ZCBhZnRlciBnZXN0dXJlLWNsaWNrLmh0bWwuCisgICAgICAgICogZmFzdC9ldmVudHMvdG91Y2gv
Z2VzdHVyZS9nZXN0dXJlLWRibGNsaWNrLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9nZXN0dXJlLWRibGNsaWNrLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2Vz
dHVyZS1kYmxjbGljay1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA4LTAzICBUZXJyeSBB
bmRlcnNvbiAgPHRkYW5kZXJzb25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFwcGx5IHRhcmdl
dCBmdXp6aW5nIHdoZW4gc2VuZGluZyBhIGNvbnRleHQgbWVudSBldmVudApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9nZXN0dXJlLWRibGNsaWNrLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVy
ZS1kYmxjbGljay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBjMGM4N2M1ZGYxMWMzZDJjZDcx
NDQ2NGM4Y2M3MGNlY2JjMWRkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGljay1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMCBAQAorVGhpcyB0ZXN0cyBnZXN0dXJlIGNhbGxiYWNrcyBmb3IgdGhlIGRvdWJsZSB0
YXAgZ2VzdHVyZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0dlc3R1cmUgbWFu
YWdlciBub3QgaW1wbGVtZW50ZWQgb24gdGhpcyBwbGF0Zm9ybS4KK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL2dlc3R1cmUtZGJsY2xpY2suaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3RvdWNoL2dlc3R1cmUvZ2VzdHVyZS1kYmxjbGljay5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQ1OGE4NTUxMjg4YzE4NTM3MjAwYzgyNjY1YWUwN2U4YmRiM2NlOTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL2dlc3R1
cmUtZGJsY2xpY2suaHRtbApAQCAtMCwwICsxLDg2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPGRpdiBpZD0iZ2VzdHVyZSI+CisKKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+Cit2
YXIgZXhwZWN0ZWRFdmVudHMgPSBbCisgIHt0eXBlOiAnbW91c2Vtb3ZlJywgeDogMTAsIHk6IDEy
LCBkZXRhaWw6IDAgfSwKKyAge3R5cGU6ICdtb3VzZWRvd24nLCB4OiAxMCwgeTogMTIsIGRldGFp
bDogMSB9LAorICB7dHlwZTogJ21vdXNldXAnLCB4OiAxMCwgeTogMTIsIGRldGFpbDogMSB9LAor
ICB7dHlwZTogJ2NsaWNrJywgeDogMTAsIHk6IDEyLCBkZXRhaWw6IDEgfSwKKyAge3R5cGU6ICdt
b3VzZW1vdmUnLCB4OiAxMSwgeTogMTIsIGRldGFpbDogMCB9LAorICB7dHlwZTogJ21vdXNlZG93
bicsIHg6IDExLCB5OiAxMiwgZGV0YWlsOiAyIH0sCisgIHt0eXBlOiAnbW91c2V1cCcsIHg6IDEx
LCB5OiAxMiwgZGV0YWlsOiAyIH0sCisgIHt0eXBlOiAnY2xpY2snLCB4OiAxMSwgeTogMTIsIGRl
dGFpbDogMiB9LAorICB7dHlwZTogJ2RibGNsaWNrJywgeDogMTEsIHk6IDEyLCBkZXRhaWw6IDIg
fSwKKyAgXTsKKwordmFyIG1vdXNlRXZlbnRzUmVjZWl2ZWQgPSAwOworCitmdW5jdGlvbiBnZXN0
dXJlRXZlbnRDYWxsYmFjayhldmVudCkKK3sKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7
CisgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZXZlbnQudHlwZScsIGV4cGVjdGVkRXZl
bnRzW21vdXNlRXZlbnRzUmVjZWl2ZWRdLnR5cGUpOworICAgICAgICBzaG91bGRFdmFsdWF0ZVRv
KCdldmVudC5jbGllbnRYJywgZXhwZWN0ZWRFdmVudHNbbW91c2VFdmVudHNSZWNlaXZlZF0ueCk7
CisgICAgICAgIHNob3VsZEV2YWx1YXRlVG8oJ2V2ZW50LmNsaWVudFknLCBleHBlY3RlZEV2ZW50
c1ttb3VzZUV2ZW50c1JlY2VpdmVkXS55KTsKKyAgICAgICAgc2hvdWxkRXZhbHVhdGVUbygnZXZl
bnQuZGV0YWlsJywgZXhwZWN0ZWRFdmVudHNbbW91c2VFdmVudHNSZWNlaXZlZF0uZGV0YWlsKTsK
KyAgICAgICAgbW91c2VFdmVudHNSZWNlaXZlZCsrOworICAgIH0gZWxzZSB7CisgICAgICAgIGRl
YnVnKGV2ZW50LnR5cGUpOworICAgICAgICBkZWJ1ZyhldmVudC5jbGllbnRYKTsKKyAgICAgICAg
ZGVidWcoZXZlbnQuY2xpZW50WSk7CisgICAgICAgIGRlYnVnKGV2ZW50LmRldGFpbCk7CisgICAg
fQorfQorCisvLyBCZWNhdXNlIHdlIG1heSBub3QgaGF2ZSBhIGdlc3R1cmUgcmVjb2duaXplciwg
d2Ugc2VuZCBhIGtleSBwcmVzcworLy8gZXZlbnQgdG8gZW5kIHRoZSB0ZXN0IHdpdGhvdXQgdGVt
cG9yYWwgZmxha2luZXNzLgorZnVuY3Rpb24gcXVpdEtleVRvRW5kVGVzdChldmVudCkgeworICAg
IGVuZFRlc3QoKTsKK30KKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgaWYgKG1vdXNlRXZl
bnRzUmVjZWl2ZWQgPCBleHBlY3RlZEV2ZW50cy5sZW5ndGgpIHsKKyAgICAgICAgZGVidWcoJ0dl
c3R1cmUgbWFuYWdlciBub3QgaW1wbGVtZW50ZWQgb24gdGhpcyBwbGF0Zm9ybS4nKTsKKyAgICB9
CisgICAgLy8gQmFpbC4KKyAgICBpc1N1Y2Nlc3NmdWxseVBhcnNlZCgpOworICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHZhciBkaXYg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2VzdHVyZScpOworICAgIGRpdi5hZGRFdmVudExp
c3RlbmVyKCJtb3VzZWRvd24iLCBnZXN0dXJlRXZlbnRDYWxsYmFjaywgZmFsc2UpOworICAgIGRp
di5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGdlc3R1cmVFdmVudENhbGxiYWNrLCBmYWxzZSk7
CisgICAgZGl2LmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIiwgZ2VzdHVyZUV2ZW50Q2FsbGJh
Y2ssIGZhbHNlKTsKKyAgICBkaXYuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsIGdlc3R1cmVF
dmVudENhbGxiYWNrLCBmYWxzZSk7CisgICAgZGl2LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92
ZSIsIGdlc3R1cmVFdmVudENhbGxiYWNrLCBmYWxzZSk7CisgICAgZG9jdW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigia2V5ZG93biIsIHF1aXRLZXlUb0VuZFRlc3QsIGZhbHNlKTsKKworICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgaWYgKHdpbmRv
dy5ldmVudFNlbmRlcikgeworICAgICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyBnZXN0dXJl
IGNhbGxiYWNrcyBmb3IgYSBkb3VibGUgdGFwIHNlcXVlbmNlIG9mIGdlc3R1cmVzLiIpOworICAg
ICAgICBldmVudFNlbmRlci5nZXN0dXJlVGFwKDEwLCAxMik7CisgICAgICAgIGV2ZW50U2VuZGVy
LmxlYXBGb3J3YXJkKDEwKTsKKyAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVRhcCgxMSwgMTIs
IDIpOworICAgICAgICBldmVudFNlbmRlci5sZWFwRm9yd2FyZCg1MCk7CisgICAgICAgIGV2ZW50
U2VuZGVyLmtleURvd24oJyAnKTsKKyAgICB9IGVsc2UgeworICAgICAgICBkZWJ1ZygiVGhpcyB0
ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiIpCisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2V2ZW50cy90b3VjaC9nZXN0dXJlL2dlc3R1cmUtZGJsY2xpY2stZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9n
ZXN0dXJlLWRibGNsaWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jN2Y2NjZmZjVlOWViZWEx
MDlhOGRmOTZlNGMwZWZmMzkyNmNlNDRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vZmFzdC9ldmVudHMvdG91Y2gvZ2VzdHVyZS9nZXN0dXJlLWRibGNs
aWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ1IEBACitUaGlzIHRlc3RzIGdlc3R1cmUgY2Fs
bGJhY2tzIGZvciBhIGRvdWJsZSB0YXAgc2VxdWVuY2Ugb2YgZ2VzdHVyZXMuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGV2ZW50LnR5cGUgaXMgIm1vdXNlbW92ZSIKK1BB
U1MgZXZlbnQuY2xpZW50WCBpcyAxMAorUEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2
ZW50LmRldGFpbCBpcyAwCitQQVNTIGV2ZW50LnR5cGUgaXMgIm1vdXNlZG93biIKK1BBU1MgZXZl
bnQuY2xpZW50WCBpcyAxMAorUEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRl
dGFpbCBpcyAxCitQQVNTIGV2ZW50LnR5cGUgaXMgIm1vdXNldXAiCitQQVNTIGV2ZW50LmNsaWVu
dFggaXMgMTAKK1BBU1MgZXZlbnQuY2xpZW50WSBpcyAxMgorUEFTUyBldmVudC5kZXRhaWwgaXMg
MQorUEFTUyBldmVudC50eXBlIGlzICJjbGljayIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMAor
UEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAxCitQQVNTIGV2
ZW50LnR5cGUgaXMgIm1vdXNlbW92ZSIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMQorUEFTUyBl
dmVudC5jbGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAwCitQQVNTIGV2ZW50LnR5
cGUgaXMgIm1vdXNlZG93biIKK1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMQorUEFTUyBldmVudC5j
bGllbnRZIGlzIDEyCitQQVNTIGV2ZW50LmRldGFpbCBpcyAyCitQQVNTIGV2ZW50LnR5cGUgaXMg
Im1vdXNldXAiCitQQVNTIGV2ZW50LmNsaWVudFggaXMgMTEKK1BBU1MgZXZlbnQuY2xpZW50WSBp
cyAxMgorUEFTUyBldmVudC5kZXRhaWwgaXMgMgorUEFTUyBldmVudC50eXBlIGlzICJjbGljayIK
K1BBU1MgZXZlbnQuY2xpZW50WCBpcyAxMQorUEFTUyBldmVudC5jbGllbnRZIGlzIDEyCitQQVNT
IGV2ZW50LmRldGFpbCBpcyAyCitQQVNTIGV2ZW50LnR5cGUgaXMgImRibGNsaWNrIgorUEFTUyBl
dmVudC5jbGllbnRYIGlzIDExCitQQVNTIGV2ZW50LmNsaWVudFkgaXMgMTIKK1BBU1MgZXZlbnQu
ZGV0YWlsIGlzIDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>