<?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>97355</bug_id>
          
          <creation_ts>2012-09-21 13:17:07 -0700</creation_ts>
          <short_desc>[chromium] Modify gesture highlight behaviour. Cancel on GestureLongPress and animate on GestureTapCancel.</short_desc>
          <delta_ts>2012-10-05 12:05:45 -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>New Bugs</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="W. James MacLean">wjmaclean</reporter>
          <assigned_to name="W. James MacLean">wjmaclean</assigned_to>
          <cc>jamesr</cc>
    
    <cc>rbyers</cc>
    
    <cc>rjkroege</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>725747</commentid>
    <comment_count>0</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2012-09-21 13:17:07 -0700</bug_when>
    <thetext>[chromium] Modify gesture highlight behaviour. Cancel on GestureLongPress and animate on GestureTapCancel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>725752</commentid>
    <comment_count>1</comment_count>
      <attachid>165178</attachid>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2012-09-21 13:23:20 -0700</bug_when>
    <thetext>Created attachment 165178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>732027</commentid>
    <comment_count>2</comment_count>
      <attachid>165178</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-10-01 14:59:18 -0700</bug_when>
    <thetext>Comment on attachment 165178
Patch

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

&gt; Source/WebKit/chromium/src/LinkHighlight.cpp:-79
&gt; -    // We don&apos;t want to show the highlight until startAnimation is called, even though the highlight
&gt; -    // layer may be added to the tree immediately.

Why is this comment no longer true? What has changed?

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:747
&gt; +        fprintf(stderr, &quot;wjm: GestureLongPress event.\n&quot;);

...

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:779
&gt; +        if (m_linkHighlight &amp;&amp; !m_linkHighlight-&gt;isAnimating())
&gt; +            m_linkHighlight-&gt;startHighlightAnimation();

This is just a small nit, but it almost seems like startHighlightAnimation() should internally make it impossible to call multiple times.  For example, if it were startHighlightAnimationIfNeeded, then callers don&apos;t have to know about isAnimating or not and can&apos;t screw it up.

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:787
&gt; +        if (m_linkHighlight &amp;&amp; !m_linkHighlight-&gt;isAnimating())
&gt; +            m_linkHighlight-&gt;startHighlightAnimation();

Are you maybe missing some &quot;break&quot; statements here in this switch statement? Surely GesturePinchBegin should not start and then immediately clear the link highlight?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734230</commentid>
    <comment_count>3</comment_count>
      <attachid>165178</attachid>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2012-10-03 17:08:47 -0700</bug_when>
    <thetext>Comment on attachment 165178
Patch

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

&gt;&gt; Source/WebKit/chromium/src/LinkHighlight.cpp:-79
&gt;&gt; -    // layer may be added to the tree immediately.
&gt; 
&gt; Why is this comment no longer true? What has changed?

In the old behaviour, we started the animation right away, and used this to display the highlight. In the new behaviour, we show the highlight right away, and do the following:
- as long as the user holds their finger down, the highlight remains
- after a delay GestureLongPress is received, cancelling the highlight, *or*
- the user moves their finger to initiate GestureScrollBegin, and the highlight animates away, *or*
- the use lifts their finger, completing GestureTap and the highlight disappears (we may or may not navigate away at this point).

It used to be that that there was a delay in adding the highlight to the tree, then the animation started a brief time later, giving us time to cancel it before it ever appeared.

&gt;&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:747
&gt;&gt; +        fprintf(stderr, &quot;wjm: GestureLongPress event.\n&quot;);
&gt; 
&gt; ...

D&apos;oh! Removed ...

&gt;&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:779
&gt;&gt; +            m_linkHighlight-&gt;startHighlightAnimation();
&gt; 
&gt; This is just a small nit, but it almost seems like startHighlightAnimation() should internally make it impossible to call multiple times.  For example, if it were startHighlightAnimationIfNeeded, then callers don&apos;t have to know about isAnimating or not and can&apos;t screw it up.

Yeah, I considered this, wasn&apos;t sure, and flipped a coin. I like the name change though - fixed.

&gt;&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:787
&gt;&gt; +            m_linkHighlight-&gt;startHighlightAnimation();
&gt; 
&gt; Are you maybe missing some &quot;break&quot; statements here in this switch statement? Surely GesturePinchBegin should not start and then immediately clear the link highlight?

Hmm, yes, this is muddled. Fixed in new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734261</commentid>
    <comment_count>4</comment_count>
      <attachid>167008</attachid>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2012-10-03 17:39:46 -0700</bug_when>
    <thetext>Created attachment 167008
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734824</commentid>
    <comment_count>5</comment_count>
      <attachid>167008</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-10-04 10:47:21 -0700</bug_when>
    <thetext>Comment on attachment 167008
Patch

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

Why are the tests in chromium-linux here too? Are there no link highlights on other platforms?

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:744
&gt; +        fprintf(stderr, &quot;wjm: GestureTapDown event.\n&quot;);

...

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:766
&gt; +            if (event.type == WebInputEvent::GestureScrollBegin || event.type == WebInputEvent::GestureTapCancel)

Can I suggest pulling out all the link highlight behavior into its own switch statement where you just have a list of events that should fade out the highlight and a list of events that should clear the highlight, all in one place.

This giant switch statement is hard enough to read as it is, and the gesture -&gt; link highlight behavior mapping is undertested.  I worry about somebody in the future adding a new gesture to this switch statement that might accidentally and incorrectly start cancelling link highlights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734867</commentid>
    <comment_count>6</comment_count>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2012-10-04 11:26:27 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 167008 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167008&amp;action=review
&gt; 
&gt; Why are the tests in chromium-linux here too? Are there no link highlights on other platforms?

At present this is just used on ChromeOS (linux + touch-enabled). Once behaviour is vetted here, we will add Win 8 into the mix.

&gt; &gt; Source/WebKit/chromium/src/WebViewImpl.cpp:744
&gt; &gt; +        fprintf(stderr, &quot;wjm: GestureTapDown event.\n&quot;);
&gt; 
&gt; ...
&gt; 
&gt; &gt; Source/WebKit/chromium/src/WebViewImpl.cpp:766
&gt; &gt; +            if (event.type == WebInputEvent::GestureScrollBegin || event.type == WebInputEvent::GestureTapCancel)
&gt; 
&gt; Can I suggest pulling out all the link highlight behavior into its own switch statement where you just have a list of events that should fade out the highlight and a list of events that should clear the highlight, all in one place.
&gt; 
&gt; This giant switch statement is hard enough to read as it is, and the gesture -&gt; link highlight behavior mapping is undertested.  I worry about somebody in the future adding a new gesture to this switch statement that might accidentally and incorrectly start cancelling link highlights.

I like the sound of that, will revise and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735774</commentid>
    <comment_count>7</comment_count>
      <attachid>167351</attachid>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2012-10-05 11:03:01 -0700</bug_when>
    <thetext>Created attachment 167351
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735847</commentid>
    <comment_count>8</comment_count>
      <attachid>167351</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-10-05 11:53:44 -0700</bug_when>
    <thetext>Comment on attachment 167351
Patch

R=me.  Thanks for those changes.  I feel like that&apos;s way easier to understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735850</commentid>
    <comment_count>9</comment_count>
      <attachid>167351</attachid>
    <who name="W. James MacLean">wjmaclean</who>
    <bug_when>2012-10-05 11:58:09 -0700</bug_when>
    <thetext>Comment on attachment 167351
Patch

Agreed, they do make it easier to read ... thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735853</commentid>
    <comment_count>10</comment_count>
      <attachid>167351</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-05 12:05:40 -0700</bug_when>
    <thetext>Comment on attachment 167351
Patch

Clearing flags on attachment: 167351

Committed r130539: &lt;http://trac.webkit.org/changeset/130539&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735854</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-05 12:05:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165178</attachid>
            <date>2012-09-21 13:23:20 -0700</date>
            <delta_ts>2012-10-03 17:39:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97355-20120921162243.patch</filename>
            <type>text/plain</type>
            <size>23911</size>
            <attacher name="W. James MacLean">wjmaclean</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGY0MWZlNzIxMTYzZWY4ZmY5NWVmMmU1Njg2NDAwY2FjOTU0YzQ4MzQuLjIzYjc0MTJkYzc2NGZm
OGZlY2NiMGZiMTliZmQ4MWFkZmYzMGY0ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTItMDktMjEgIFcuIEphbWVzIE1hY0xlYW4gIDx3am1hY2xlYW5A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTW9kaWZ5IGdlc3R1cmUgaGlnaGxp
Z2h0IGJlaGF2aW91ci4gQ2FuY2VsIG9uIEdlc3R1cmVMb25nUHJlc3MgYW5kIGFuaW1hdGUgb24g
R2VzdHVyZVRhcENhbmNlbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk3MzU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCByZXZpc2VzIHRoZSBiZWhhdmlvdXIgb2YgR2VzdHVyZVRhcERv
d24gaGlnaGxpZ2h0aW5nIHNvIHRoYXQgdGhlIGhpZ2hsaWdodCBzaG91bGQgZGlzYXBwZWFyIGlm
CisgICAgICAgIGludGVycnVwdGVkIGJ5IEdlc3R1cmVMb25nUHJlc3MsIGFuZCBhbmltYXRlIGF3
YXkgaWYgaW50ZXJydXB0ZWQgYnkgR2VzdHVyZVRhcENhbmNlbC4KKworCisgICAgICAgICogc3Jj
L0xpbmtIaWdobGlnaHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpMaW5rSGlnaGxpZ2h0OjpMaW5r
SGlnaGxpZ2h0KToKKyAgICAgICAgKFdlYktpdDo6TGlua0hpZ2hsaWdodDo6c3RhcnRIaWdobGln
aHRBbmltYXRpb24pOgorICAgICAgICAqIHNyYy9MaW5rSGlnaGxpZ2h0Lmg6CisgICAgICAgIChX
ZWJLaXQ6OkxpbmtIaWdobGlnaHQ6OmlzQW5pbWF0aW5nKToKKyAgICAgICAgKExpbmtIaWdobGln
aHQpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
SW1wbDo6ZW5hYmxlVG91Y2hIaWdobGlnaHQpOgorCiAyMDEyLTA5LTIxICBEYW5hIEphbnNlbnMg
IDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQWRkIHNldHRlcnMg
dG8gV2ViRmlsdGVyT3BlcmF0aW9uIGZvciBJUEMgcGlja2xpbmcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xpbmtIaWdobGlnaHQuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvTGlua0hpZ2hsaWdodC5jcHAKaW5kZXggMWU3MjkwMGM0YmI2MzQ5MmQ4MWY5
YjU0YzdlMzMxNzE5YzY1ZWI0Ni4uMzRiYzYxYWI5NGM1MDBhNTVmMTY5OTU5ZmM0ZWE2OTEzYmZh
ZTRjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTGlua0hpZ2hsaWdo
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTGlua0hpZ2hsaWdodC5jcHAK
QEAgLTY1LDYgKzY1LDcgQEAgTGlua0hpZ2hsaWdodDo6TGlua0hpZ2hsaWdodChOb2RlKiBub2Rl
LCBXZWJWaWV3SW1wbCogb3duaW5nV2ViVmlld0ltcGwpCiAgICAgLCBtX293bmluZ1dlYlZpZXdJ
bXBsKG93bmluZ1dlYlZpZXdJbXBsKQogICAgICwgbV9jdXJyZW50R3JhcGhpY3NMYXllcigwKQog
ICAgICwgbV9nZW9tZXRyeU5lZWRzVXBkYXRlKGZhbHNlKQorICAgICwgbV9pc0FuaW1hdGluZyhm
YWxzZSkKIHsKICAgICBBU1NFUlQobV9ub2RlKTsKICAgICBBU1NFUlQob3duaW5nV2ViVmlld0lt
cGwpOwpAQCAtNzMsMTIgKzc0LDExIEBAIExpbmtIaWdobGlnaHQ6OkxpbmtIaWdobGlnaHQoTm9k
ZSogbm9kZSwgV2ViVmlld0ltcGwqIG93bmluZ1dlYlZpZXdJbXBsKQogICAgIG1fY2xpcExheWVy
ID0gYWRvcHRQdHIoY29tcG9zaXRvclN1cHBvcnQtPmNyZWF0ZUxheWVyKCkpOwogICAgIG1fY2xp
cExheWVyLT5zZXRBbmNob3JQb2ludChXZWJGbG9hdFBvaW50KCkpOwogICAgIG1fY2xpcExheWVy
LT5hZGRDaGlsZChtX2NvbnRlbnRMYXllci0+bGF5ZXIoKSk7Ci0gICAgbV9jb250ZW50TGF5ZXIt
PmxheWVyKCktPnNldERyYXdzQ29udGVudChmYWxzZSk7Ci0KLSAgICAvLyBXZSBkb24ndCB3YW50
IHRvIHNob3cgdGhlIGhpZ2hsaWdodCB1bnRpbCBzdGFydEFuaW1hdGlvbiBpcyBjYWxsZWQsIGV2
ZW4gdGhvdWdoIHRoZSBoaWdobGlnaHQKLSAgICAvLyBsYXllciBtYXkgYmUgYWRkZWQgdG8gdGhl
IHRyZWUgaW1tZWRpYXRlbHkuCi0gICAgbV9jb250ZW50TGF5ZXItPmxheWVyKCktPnNldE9wYWNp
dHkoMCk7CiAgICAgbV9jb250ZW50TGF5ZXItPmxheWVyKCktPnNldEFuaW1hdGlvbkRlbGVnYXRl
KHRoaXMpOworICAgIG1fY29udGVudExheWVyLT5sYXllcigpLT5zZXREcmF3c0NvbnRlbnQodHJ1
ZSk7CisgICAgbV9jb250ZW50TGF5ZXItPmxheWVyKCktPnNldE9wYWNpdHkoMSk7CisgICAgbV9n
ZW9tZXRyeU5lZWRzVXBkYXRlID0gdHJ1ZTsKKyAgICB1cGRhdGVHZW9tZXRyeSgpOwogfQogCiBM
aW5rSGlnaGxpZ2h0Ojp+TGlua0hpZ2hsaWdodCgpCkBAIC0yMTgsNiArMjE4LDggQEAgdm9pZCBM
aW5rSGlnaGxpZ2h0OjpzdGFydEhpZ2hsaWdodEFuaW1hdGlvbigpCiAKICAgICBpbnZhbGlkYXRl
KCk7CiAgICAgbV9vd25pbmdXZWJWaWV3SW1wbC0+c2NoZWR1bGVBbmltYXRpb24oKTsKKworICAg
IG1faXNBbmltYXRpbmcgPSB0cnVlOwogfQogCiB2b2lkIExpbmtIaWdobGlnaHQ6OmNsZWFyR3Jh
cGhpY3NMYXllckxpbmtIaWdobGlnaHRQb2ludGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0xpbmtIaWdobGlnaHQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0xpbmtIaWdobGlnaHQuaAppbmRleCA0ZWI2ZjU5NjdiNGJjNmM0NTM4YzA5ODQ3ZmYwODg4
MTNkODhkOTQyLi44YzIxNjI2ZTUwMzY3NTIxNmJiNTk3MzFjYjgxNGY4MzI2Yzc5NWQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9MaW5rSGlnaGxpZ2h0LmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTGlua0hpZ2hsaWdodC5oCkBAIC01Niw2ICs1Niw3
IEBAIHB1YmxpYzoKICAgICBXZWJMYXllciogY2xpcExheWVyKCk7CiAgICAgdm9pZCBzdGFydEhp
Z2hsaWdodEFuaW1hdGlvbigpOwogICAgIHZvaWQgdXBkYXRlR2VvbWV0cnkoKTsKKyAgICBib29s
IGlzQW5pbWF0aW5nKCkgeyByZXR1cm4gbV9pc0FuaW1hdGluZzsgfQogCiAgICAgLy8gV2ViQ29u
dGVudExheWVyQ2xpZW50IGltcGxlbWVudGF0aW9uLgogICAgIHZpcnR1YWwgdm9pZCBwYWludENv
bnRlbnRzKFdlYkNhbnZhcyosIGNvbnN0IFdlYlJlY3QmIGNsaXBSZWN0LCBXZWJGbG9hdFJlY3Qm
IG9wYXF1ZSkgT1ZFUlJJREU7CkBAIC05MCw2ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29y
ZTo6R3JhcGhpY3NMYXllckNocm9taXVtKiBtX2N1cnJlbnRHcmFwaGljc0xheWVyOwogCiAgICAg
Ym9vbCBtX2dlb21ldHJ5TmVlZHNVcGRhdGU7CisgICAgYm9vbCBtX2lzQW5pbWF0aW5nOwogICAg
IFdlYkNvcmU6OkZsb2F0UG9pbnQgbV9ncmFwaGljc0xheWVyT2Zmc2V0OwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDc2NGFlNmRjYTFhYWE1
ZWIyZGJjZjJmNzAzZGJhMDNmNmNlNDg2YTEuLmRiMzc2YTcwNzhkOGU2M2E5ZjYwZjc2ZjRlZWM5
NDg2YjQyMTJjNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAKQEAgLTcwMyw2ICs3MDMsOCBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZl
bnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAgfQogICAgICAgICBicmVh
azsKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVUYXA6IHsKKyAgICAgICAgLy8gSWYg
YSBsaW5rIGhpZ2hsaWdodCBpcyBhY3RpdmUsIGtpbGwgaXQuCisgICAgICAgIG1fbGlua0hpZ2hs
aWdodC5jbGVhcigpOwogICAgICAgICBtX2NsaWVudC0+Y2FuY2VsU2NoZWR1bGVkQ29udGVudElu
dGVudHMoKTsKICAgICAgICAgaWYgKGRldGVjdENvbnRlbnRPblRvdWNoKFdlYlBvaW50KGV2ZW50
LngsIGV2ZW50LnkpLCBldmVudC50eXBlKSkgewogICAgICAgICAgICAgZXZlbnRTd2FsbG93ZWQg
PSB0cnVlOwpAQCAtNzQxLDYgKzc0Myw4IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1
cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgIH0KICAgICBjYXNlIFdl
YklucHV0RXZlbnQ6Okdlc3R1cmVUd29GaW5nZXJUYXA6CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50
OjpHZXN0dXJlTG9uZ1ByZXNzOiB7CisgICAgICAgIG1fbGlua0hpZ2hsaWdodC5jbGVhcigpOwor
ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIndqbTogR2VzdHVyZUxvbmdQcmVzcyBldmVudC5cbiIp
OwogICAgICAgICBpZiAoIW1haW5GcmFtZUltcGwoKSB8fCAhbWFpbkZyYW1lSW1wbCgpLT5mcmFt
ZVZpZXcoKSkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC03NjIsNiArNzY2LDcgQEAgYm9vbCBX
ZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZl
bnQpCiAgICAgICAgIG1fY2xpZW50LT5jYW5jZWxTY2hlZHVsZWRDb250ZW50SW50ZW50cygpOwog
ICAgICAgICAvLyBRdWV1ZSBhIGhpZ2hsaWdodCBhbmltYXRpb24sIHRoZW4gaGFuZCBvZmYgdG8g
cmVndWxhciBoYW5kbGVyLgogI2lmIE9TKExJTlVYKQorICAgICAgICBmcHJpbnRmKHN0ZGVyciwg
IndqbTogR2VzdHVyZVRhcERvd24gZXZlbnQuXG4iKTsKICAgICAgICAgaWYgKHNldHRpbmdzSW1w
bCgpLT5nZXN0dXJlVGFwSGlnaGxpZ2h0RW5hYmxlZCgpKQogICAgICAgICAgICAgZW5hYmxlVG91
Y2hIaWdobGlnaHQoSW50UG9pbnQoZXZlbnQueCwgZXZlbnQueSkpOwogI2VuZGlmCkBAIC03Njks
MTUgKzc3NCwyMCBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3Qg
V2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAgZXZlbnRTd2FsbG93ZWQgPSBtYWluRnJh
bWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVHZXN0dXJlRXZlbnQocGxh
dGZvcm1FdmVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICBjYXNlIFdlYklucHV0RXZl
bnQ6Okdlc3R1cmVEb3VibGVUYXA6CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlU2Ny
b2xsQmVnaW46CisgICAgICAgIGlmIChtX2xpbmtIaWdobGlnaHQgJiYgIW1fbGlua0hpZ2hsaWdo
dC0+aXNBbmltYXRpbmcoKSkKKyAgICAgICAgICAgIG1fbGlua0hpZ2hsaWdodC0+c3RhcnRIaWdo
bGlnaHRBbmltYXRpb24oKTsKKyAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVEb3VibGVU
YXA6CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlUGluY2hCZWdpbjoKICAgICAgICAg
bV9jbGllbnQtPmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJbnRlbnRzKCk7CiAgICAgY2FzZSBXZWJJ
bnB1dEV2ZW50OjpHZXN0dXJlU2Nyb2xsRW5kOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2Vz
dHVyZVNjcm9sbFVwZGF0ZToKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVUYXBDYW5j
ZWw6CisgICAgICAgIGlmIChtX2xpbmtIaWdobGlnaHQgJiYgIW1fbGlua0hpZ2hsaWdodC0+aXNB
bmltYXRpbmcoKSkKKyAgICAgICAgICAgIG1fbGlua0hpZ2hsaWdodC0+c3RhcnRIaWdobGlnaHRB
bmltYXRpb24oKTsKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVQaW5jaEVuZDoKICAg
ICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVQaW5jaFVwZGF0ZTogeworICAgICAgICBtX2xp
bmtIaWdobGlnaHQuY2xlYXIoKTsKICAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVy
IHBsYXRmb3JtRXZlbnQobWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQpOwogICAg
ICAgICBldmVudFN3YWxsb3dlZCA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5k
bGVyKCktPmhhbmRsZUdlc3R1cmVFdmVudChwbGF0Zm9ybUV2ZW50KTsKICAgICAgICAgYnJlYWs7
CkBAIC0xMjAwLDcgKzEyMTAsNiBAQCB2b2lkIFdlYlZpZXdJbXBsOjplbmFibGVUb3VjaEhpZ2hs
aWdodChJbnRQb2ludCB0b3VjaEV2ZW50TG9jYXRpb24pCiAgICAgICAgIHJldHVybjsKIAogICAg
IG1fbGlua0hpZ2hsaWdodCA9IExpbmtIaWdobGlnaHQ6OmNyZWF0ZSh0b3VjaE5vZGUsIHRoaXMp
OwotICAgIG1fbGlua0hpZ2hsaWdodC0+c3RhcnRIaWdobGlnaHRBbmltYXRpb24oKTsKIH0KIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggOWFkNDRlZTIyNTgzNzRjZDdmYjZkMzRmZGJiOThmY2U1ZTY1YmRjNi4u
ZjNkODQ3NTIxMjQyNjk5N2MwZTM0YmU1ZjQyNGM5NTAxZGU1MjA2NSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIwIEBACisyMDEyLTA5LTIxICBXLiBKYW1lcyBNYWNMZWFuICA8d2ptYWNsZWFuQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIE1vZGlmeSBnZXN0dXJlIGhpZ2hsaWdodCBiZWhh
dmlvdXIuIENhbmNlbCBvbiBHZXN0dXJlTG9uZ1ByZXNzIGFuZCBhbmltYXRlIG9uIEdlc3R1cmVU
YXBDYW5jZWwuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NzM1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggcmV2aXNlcyB0aGUgYmVoYXZpb3VyIG9mIEdlc3R1cmVUYXBEb3duIGhpZ2hs
aWdodGluZyBzbyB0aGF0IHRoZSBoaWdobGlnaHQgc2hvdWxkIGRpc2FwcGVhciBpZgorICAgICAg
ICBpbnRlcnJ1cHRlZCBieSBHZXN0dXJlTG9uZ1ByZXNzLCBhbmQgYW5pbWF0ZSBhd2F5IGlmIGlu
dGVycnVwdGVkIGJ5IEdlc3R1cmVUYXBDYW5jZWwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1w
bGUtY2FuY2VsMi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51
eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtbG9uZ1By
ZXNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L3BsYXRm
b3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVzL2dlc3R1cmUtdGFwSGlnaGxp
Z2h0LXNpbXBsZS1jYW5jZWwyLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0tbGludXgvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2Vz
dHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWNhbmNlbDItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1
bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUt
bG9uZ1ByZXNzLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0tbGludXgvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2VzdHVyZXMvZ2Vz
dHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWxvbmdQcmVzcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
CiAyMDEyLTA5LTIxICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBbU3RhYmxlXSBJbmZpbml0ZSByZWN1cnNpb24gaW4gV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZTo6Z2V0T3JDcmVhdGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVzL2dlc3R1cmUtdGFwSGlnaGxpZ2h0LXNp
bXBsZS1jYW5jZWwyLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9j
b21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYzYTQyZmUwMWFkNjFmNDlmZTAyODc0NzUzYTlmODZlMDNiNzNiNjEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9j
b21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi5o
dG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiIG9uY2xpY2s9ImRv
Tm90aGluZygpOyI+Cis8ZGl2IHN0eWxlPSItd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigw
KTsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAxMHB4OyB0b3A6IDQwcHgiPgorPGEgaHJlZj0i
IiBpZD0idGFyZ2V0TGluayIgc3R5bGU9Ii13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdi
YSgwLCAyNTUsIDAsIDAuNSkiPlRhcmdldCBMaW5rLjwvYT4KKzwvZGl2PgorPGRpdiBzdHlsZT0i
cG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAxMHB4OyB0b3A6IDcwcHgiPgorVGhpcyB0ZXN0IGlz
IHN1Y2Nlc3NmdWwgaWYgIlRhcmdldCBMaW5rIiBhYm92ZSBpcyBjb3ZlcmVkIGluIGEgZ3JlZW4g
cmVjdGFuZ2xlLgorPC9kaXY+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICB2
YXIgY2xpZW50UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXRMaW5rJykuZ2V0
Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgeCA9IChjbGllbnRSZWN0LmxlZnQgKyBjbGllbnRS
ZWN0LnJpZ2h0KSAvIDI7CisgICAgeSA9IChjbGllbnRSZWN0LnRvcCArIGNsaWVudFJlY3QuYm90
dG9tKSAvIDI7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAvLyBHZW5l
cmF0ZSB2YWxpZCBsaW5rIGhpZ2hsaWdodC4KKyAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVRh
cERvd24oeCwgeSk7CisKKyAgICAgICAgLy8gU2VuZCBHZXN0dXJlVGFwQ2FuY2VsLCB0aGlzIHNo
b3VsZCBjYXVzZSB0aGUgaGlnaGxpZ2h0IHRvIGFuaW1hdGUgYXdheS4KKyAgICAgICAgZXZlbnRT
ZW5kZXIuZ2VzdHVyZVRhcENhbmNlbCgpOworICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5j
dGlvbigpIHsgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9LCAwKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiIp
OworICAgIH0KK30KKzwvc2NyaXB0PgorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9n
ZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtbG9uZ1ByZXNzLmh0bWwgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0
dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtbG9uZ1ByZXNzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTIyOTI4
MjQwYTQ5Mjk0OTYxNGQwNGNlYTgwNTk2YzY4NTNlMTdjZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVzL2dl
c3R1cmUtdGFwSGlnaGxpZ2h0LXNpbXBsZS1sb25nUHJlc3MuaHRtbApAQCAtMCwwICsxLDM5IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJydW5UZXN0KCk7IiBvbmNsaWNrPSJkb05vdGhpbmcoKTsiPgorPGRpdiBz
dHlsZT0iLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IHBvc2l0aW9uOiByZWxhdGl2
ZTsgbGVmdDogMTBweDsgdG9wOiA0MHB4Ij4KKzxhIGhyZWY9IiIgaWQ9InRhcmdldExpbmsiIHN0
eWxlPSItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMjU1LCAwLCAwLjUpIj5U
YXJnZXQgTGluay48L2E+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsg
bGVmdDogMTBweDsgdG9wOiA3MHB4Ij4KK1RoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIG5vIGxp
bmsgaGlnaGxpZ2h0IGFwcGVhcnMuCis8L2Rpdj4KKzxzY3JpcHQ+CisvLyBUaGlzIHRlc3QgbWFr
ZXMgc3VyZSBhIGhpZ2hsaWdodCBkb2VzIG5vdCBzdXJ2aXZlIGJleW9uZCBHZXN0dXJlTG9uZ1By
ZXNzLgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICB2YXIgY2xpZW50UmVjdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0YXJnZXRMaW5rJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Cisg
ICAgeCA9IChjbGllbnRSZWN0LmxlZnQgKyBjbGllbnRSZWN0LnJpZ2h0KSAvIDI7CisgICAgeSA9
IChjbGllbnRSZWN0LnRvcCArIGNsaWVudFJlY3QuYm90dG9tKSAvIDI7CisgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAg
ICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgaWYgKHdpbmRv
dy5ldmVudFNlbmRlcikgeworICAgICAgICAvLyBHZW5lcmF0ZSB2YWxpZCBsaW5rIGhpZ2hsaWdo
dC4KKyAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVRhcERvd24oeCwgeSk7CisgICAgICAgIHdp
bmRvdy50ZXN0UnVubmVyLmRpc3BsYXkoKTsKKworICAgICAgICAvLyBHZW5lcmF0ZSBsb25nIHBy
ZXNzIC4uLiB0aGlzIHNob3VsZCBjYW5jZWwgaGlnaGxpZ2h0LgorICAgICAgICBldmVudFNlbmRl
ci5nZXN0dXJlTG9uZ1ByZXNzKHgsIHkpOworICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5j
dGlvbigpIHsgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9LCAwKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiIp
OworICAgIH0KK30KKzwvc2NyaXB0PgorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJv
bWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1w
bGUtY2FuY2VsMi1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1s
aW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJl
LXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJm
OTIzMDcxZWVkZjc2NGE0NGZiMjAwODE1NGQ1NmNlMzBlOTk3YwpHSVQgYmluYXJ5IHBhdGNoCmxp
dGVyYWwgNjg4NQp6Y21lSTFYSC0qWng1cVEwSTJQcGNUMksmfTBTRUNfbmpsNCpqdl57YjIyZ19a
QjFFS1FMViVFakJzej9NKVVoQisKejI/flAmREZHPj1DOCFfX0xPPyhXRXJ9M21EVEkoaFA0WFZe
ZGhlJXV6dWs0JG5zdHwtdmV1SnhQV0lYUnxOcmclCnpKaH1naWk8OFB1amghRzZOYWZQU15LS3hK
KGhuZmU3U0hkdTA0d3xWP0xQezk5RSktRWowd0lLNSomXypqUlhhbwp6LVY4UTN3K0lYfDMkLSNl
MkAwe2tkRDFlKD81NFNpblJURnJtNj0pWWl3aE1Ya091UDdgTG95Sl5aNSpIYGdPXigKekheU3t8
RERVbGNETTl0dT5aKCU9US02IUNfNmk+RVklSDYmOWA0KDQkQCNURG0oeThrdGpWWip7JkZuemxF
IV97CnpeNlRZY3pTKXNDVDhlXnY5RFJUNEVHcXI8QkhlSkM7ZW9WZXdgQWxqUGJZYHNIJUlMYW5M
UWhgbklRaW0yaHJhbgp6Sz12SjRNYkRXP2tFaU5fSyE0VHRHcXBqV0d5WnpqQWtmMWRDcVE+QFpy
S0k7O258eGxwb3t3ZFBuSV5NQGpYdUwKemZzbVJBLXdObCRHLW05WCF6UU5zMVAkVU18MUpvbTZL
U2AqQjRAaDl2Qm0mdGZNR095bDEmY20kKHFfNUprOFlKCnoxekopWVhAe3hWOXxGJjJ2ZkdQUSE3
OEJEMEleQitgWEV4ZFd4bX5BMzFvbEo0eXpwQW5ORGNVRjcwdGAtanJ0QQp6T25iOWxRS3B0Plk2
OHlzcGNlPi00dUgtV1llIzNmZ0VRUCs/I3BHdG8je19hXzJQSWJfamEtSTNRSmdvM1U7TU0KeklH
WUZPUj5GbnY7WSk5UVMoT2xvbiglWEM0VjxtNXIyJCRwcjRRKjBuTUJ7TFlxKzQwM2s9N1FFVVVG
STJkeihyCnpjbmFKX2RObnhOXnY4MzB4KShCMXYyb0E/SWxmTyQ4aTRNZyhkIz0jOTUmQm8rKUdw
Kl9HNDxvREF9IztTZDgkNgp6N1U7fWc+Nk9VVilnVzhSd1RSTEd6emZ5ayVpWDNTbStRen56aW9x
MC0+PjtLYUpTfEd5a2JSMmJhPTAlK0t+dEEKelRvbnEzTnNIX0laZyp2XzNLVz9Ue3xxSjdeaiRf
Ti1+YD4tektqJiRidSNUdzgjTypKRDwrZT5ecytpaWF1IWR8CnpKRjM0byM7TWBnLVNnb1dAXyY3
WURjfG9uaUE3ZDspYFRsU3BpOXkjMGZzJllTP2VDV0hoaWxieX4lP0RBI0JwfAp6aiFzVD5ic2dE
fE1YeHlyZ18oPUp3UzN1X0pxQmVyYkEjVThYX1N0flp3ZTJaPkJ+OCFwIWNjcXQ1WiljNDJfeUAK
eigjYHk2OCNCaTJlbXFYI2h7MF5+UylIMSZqI2lYbFM0RDxxQGFtRzRzUTJrUyhlRkZaR2lrNWxw
TDVHUyFTZiRJCnpVbXd2JTljaFQxczZWM0huU3BeN0Flcn10P0JGK2RaYmZFMSZ8e0I+Piorbyol
MFAqeGxRZ0hINHIkclBHNFcjagp6SSZwPCFDRzBxOFluNXF4KGpwUUtFMGA8SFFta2VAd1lCIzAx
fEYpZHtYT1hVNkZicTQ1Zz09Y3MtMkBYTFFESyEKek9VNkR8WmEweWduRmNNKWM7dTJnKF5GZz1P
bi1NWj87bGllaGBxPG0qJXNVSFMhMEthb2RvREIrTXBrWDMyUiVxCnpAKG5nZ2FvV1lNZWp4Yz1t
eVFtZkZPJihvX0pUVmdaTyEzUlhTWSt4P3xPXntRYUdlQylmKk9obzM8QzY5QHN2Twp6bXFXPl8t
Kz98Ql8kaG0rbHwhNylTTkxmOzNZcFdpeWtQJExzO0gxJWwyaGQwSGNHfFB2azJvZ1kpVUxwSnlD
eGEKelVQZlEtIWwmekhQMVl9ITc2KX1kOUJuV0otV31xJXJaOFJIZG1QZTl2IXZVTCpDbEZkMXFD
JnNTOGJRaDk3YkZMCnpxQHp8NypqYDF4KyNqNWNWPkg2KUVkcmAkV3VAdF8wayNZSGJTMk9jRjYz
STA+cmlOQ1pfMnVaaT56c0d4fjQxVwp6JVVgUTRaRHx2KnRlUmw8R3BNZF5sRkVkeyNOKyVWK15O
RT1vLTI4Qzdkfj5zR3xWbDZwJl48RER3JSV4JnxIQ2YKejtwK01HOWV8ZWplRThkS0BEODw4bmIq
dGtpcSQhTUNaTikpb15YNDhodXttWE9Gd1RlPWFgMEcwbzNHIWlKWmg/Cnp0YHVza3VgJmJ9Nz1V
eEgjNzVRVjJ3THVGVF5QaDlIbT1oZl9NVDRgcCE7TyEmSUVpMXE3MWFaUyhtcW9DciVuKgp6Tz59
bHt1U25+Tzsmb2VwMlFwWmdZU1hue1U9YjJAM0ctYCM2WFZtKnBoMnxVY147N01wdmd3N25hMmxo
OHxRMyMKejVmUytmPFlXKmlwLSFeMnc8MENwVHN0ellLfmlJbkpjQWluSSo1eG5qSmNpUE95MGli
PmpreXxSIWhWQkh4QzFfCnolYCZ+YTRmTXdxQWNQfShKd2MlRXRwRj1keyV3e2psSjU/YXNMOSZz
VGElNk87azw7WVVIPGNvVXl1e3FAZzA4Uwp6UlA0cmVpMGBTT2p1YlYkM3pQQmUzfH1UKytBJVYq
SWJXUCpxIXxERmokZHx6Oz9HWEJYdUsoIT4oe1l+aT1kSkoKemQzM1pBTypDYVZhaXRxZTMxaVlq
SS0+PjMyXmFVPHtYPm5sKWB4Nn1WdEFvX19xfjUmPXZfciE9Y0hKUEtjMigxCnpQR21LT1MyY3lv
SGBnPlJBe3RraW1ATTFuemw7UmhhaWY3NTswT3hNKipoQ3dpSlRmRngpMWRnKmM5VUJZYmw8cwp6
QHhufGtuX08xKVRrLUx1cWxQUWN0STNDPlEtJlV2UFopYlhoakFoTTk5M1dRbyg1OzRxKz9LVEZF
M3JkNn1+b08KeilxKEF3JUd9a0J7Y0xaMmRge3B1TThoeUtrNXF7UiNaR09+QG8qKk8tS0FAYkJi
REJvZ2A/PWFvSWRhWlUwRlM5CnpWWHk/e2p1SkdzWTxTcUl5ITV3eiVqQ19tZCY3P1B0Y3lDMS1P
Rm5GLVFuXnBnKUspNEUtZjshaCNXVk1uZzN8aQp6Z09fcHJicjhMI2o2RyUxQkpHSVJFclFUOGBe
en4kJHU/RzRPJGNiQm93PEZEI0RZWkUhSSlwc152QHdeSDhWWTAKel9JdWpkcWhTZHFtWSY5dlhO
cTRJR1Z+UjtWR3JHUj5PZTdeQTZNdnBuOCoqMGp+Tjtva3tOTnt0cVM8PmNgeiNLCnp1Um5lcUI3
I1l7dCNnfXomckApK2JwVWZId1ZJSGdDJEkjej1ERFFaJiNkNDw3en5DK1lsKDBoYEp6X05zIVhz
Ygp6VTU8cjk9ZXx9cVZSZ3kxX3lQbVh0eURRK1ZhQ2h0O2A0WUZJUXVmOGxHe3Z9TS0oJXBwbENZ
cFJ0NXYhcjNKTEwKekxuWi1sMCtZMllwbmRyJTBHcEckdlVDKmZJYFhCQGlLK3ghUlBfMH1gZypL
ZlJIJFMxPipzc3dldlFGaG5QflNhCnpxXzJpU2VAVjxvbVJ3M2NTYGcjcj9BJjhXb14pJlMwenow
STdXIUVhRGV0V3l4T1A3Uitna158YCgwXnwpI3NPYQp6UUxsWFBpPDM+bzdjdytWZ0YzUXM7XkxJ
fUZBdG45WiRIZmBFIUdWaHVMfjwtUnIkNncld0RlfElMOUQyaEZrQlUKenRzaXBBSnojYUJTKD5I
O1pkMU0/enpabFYoJCFSUmB7OXNicXt9MEFoMj5qaWMzNT0oQFhAdiZ0aGVCSihmWT96CnpaQUtx
N1NjWWQ8cEVkKzFKcEBOfEw7REdvQ2BOTyM0c1B8MmI5O2BaMjdNfVpvZi1EPl43NSRnRz0odSti
RGM7Jgp6QCRkSVRDUyZRby1WRzZgYDRgRTNyQDBtQUpvK1M5PGl1TkVPeD1Je0wlRDMkdmg3JEti
dCp9ZHg8VX58R0YjWEIKell5YEhgRFM4P3dCQkRvQ154YV4paHVOaDMqK29BWk44JXRVMTZUU3FN
UT0jP1VefmdEazF4KXA2PE4oY1B0PXtoCnp5SXRGV0J4PnIlRSlwPHszLWp8JnRyNE47Y1djYD1H
OVBRRTZOTnQ9ciMhWDhOR0QpemM2aitGO0w+WVJefHl5Iwp6IUVtQ3krRUFLVFpSa31wMD8ySGJM
Jj5vZHs/eUdzQUd0SU9zMmk3aTNOZWRLI0BHZXRhQyNNMUptOGU5cUFCZ3oKejMqUDVnNlVRRyVe
alNsSjNfN3wtdSY5KiFgZy13Slpgdl9QZjY0ciF2PmRmZDVgQVBDUWFPN3wyZzlwemNkPyM5Cnp3
cnd6KVc0Vl9oMnFmdHVuYl88bURIIUA8Ump3WHFMKHBJRzVxKklXa354PSNaRE1Hb3dCQFI9Y2Bt
RllaWWRXQgp6YiFCUjhATV4pWGB8PlBkTSNoSk1hc2lUZmpvcHcmdCQzZz4qV0NuVTRjS0ZDI1k1
eTIoYn5TdTFzcUU5Q1JnPHwKem9LbTsyPUlMajd1UWo3elcpSmJPMHM5QGxZSkRRQWgySUZZVWo9
P0V3ZFhkVmBlUVAhd3k+ZD5KTkR8RUtWNG9fCnpfQ09oQlojVHBxe0RzTXgmNGJ4WE19eG0mV1Je
RzxhPXx4fklXbDRxSHUmY3R4NkdZYjx5bGlDVUkmVkcwJFd+Ywp6a2xKSV42NEN3ZUNyNExYblJw
MXxrQnY/SUAzfG5sNmZ7U1N5Jm1MQnhPQl9MN0xNLSZxZ1VZQTV7P2JBOCpWYGUKenBiNT5KPTVo
aFdDODx6I3xFY09MO3VkWDJ2MEp2eUtheGZTPzYwMj1uRTg7Yz9pV0F4KUhJbFludGolWihYeyRD
CnpLKGNjPGtHe2RDY0kjTyUxSl9+fGEjPWFLdlo9WnwmPU5JUzZjYFlANXY0VERaQ2lTYD4oTm0j
ITVUNjlJOzRsZwp6bXAqaGhZTGMmV1pCQ3pGMVhefENwM3xqdSl3N1MwbWVyfUo1b0pEQjclOSkk
bXtSeGwmKnU1SzNsan5JJEw7Uj4Kej8wYipmO0xgXk5UK3VTJW8rbjReWncoWUozPSEyRztSQkI5
aEpMTSRVIU1AKFMwZHk/TDxjeXNpX1E1e3htLVlqCnpAeGM4T2ktcChLT3hnXygoS1d+YClTUzZs
VSkwZ2pfJUFBUFpiMEZxTSlAKiM5M3d1QyEzNWtAdEc9Y0RpeDMhZAp6PzllZjZpV1lKYkswfGtx
RXI3WF5PZz9LUUJnKyQhVHVATGpMb2IxS3EjcmFiVEpQSFYkIUdMU3dJPXdfKkBNIVUKemZRJjxD
RlUxYyEwaXBaQyRpQGAwVFg7RDRgUHN6STN7NyZ0K3VzSj88Kz99TlJ9Km1TMyt5WmhEJH1SPU1F
PEdwCnpreUNWXnB+LXpNZyMmNUUpY0FLaGp5e0c4TVRMcjFGYEFacGlkWWNtZ3tsWUMwVDMoTzto
Qk1rLSVLdXwwPkRWaQp6U0J3fXJrKCZESSFpRWtRZFI7P1AwXjVfOEJSdm9ZN3xLXl4/IUlOUzF3
Kn03RWQ+RSljZHNMa28md2Aka3tDPmYKejhGfmhrJlN6ezkrZm1TZVE0Q1Z3cj5RJTJrWl9YbnpQ
YFN9Y2h9MjM5NkxDfTwkQXptYVl7YEhqSU9PZm5iY2dACno+OzJuc2hgQnlIVVVmU1l5VGFnTHp0
Iz14QVFNOSFIcFdzYG12aDxAPSlUQzxuM3pjbmZVLSNoSVA0eVdjSEh0PAp6eElBVDhwZEo3RD95
ZHRUSmxrK0ctZEw/KFExNFN5SFRkaV5zRjY9JmIhfX5KV280IUtJaD1DdT5Za1JLaG5DRUUKelZB
PyUjMUs+X2MpOD4+YXpTTnAjbHhPSzdkZ3NfLUJXTjhPOEVIVUVJS1lvJTNiRTMkUnVtJFA+YGpn
YEIjRyl0CnpTVXh+ZlJ4MyZiWHNwangpVGBgWGg0VEg3RVNDeEpJJStuXiNlfXQpOTNyPy1FK09H
NXdtRX58Q0VvS2lPVil7awp6ezZWYXclUnclalY5RGJFPFYpIU90bGxmLSgweXY+bEswNUUhTU1T
SmZkTThIQ3cjQiZrN1VHX1dXJDtsVUxMUCUKem9OayZVVjdRZkpxcWZjRTg/flg/RH5MczQxKSE0
dSs2VHg3PWk0cSM2PkFmdVM7SjJ+NTNjI3c9TjE8TGw/RUV3CnpTS1ZmMlcpNUNqNiUhcU41ZUg2
QEV9SCFoSUFXNUFBSDcxKGJIPVhZLWRhJC0/QC1HdVY/N1glPzZ5aSZXNkcqOQp6M3FMdEhjb09K
dDlJUSo4MV48ckg5JCtgcGx+eSNgMnhrTFB3NkpnK1M5OHQ3KXxPe3hXWFE0Qj10ckVJU1dFezgK
emlDOz84Knt5WTJ5dm9qayFDPTVCI01AakdyNEBNczZnfnZhSHdBYGBPT055IUshcjxBZyZQNDQh
MXFhdndleFVyCnpEWEpTQ2NhPll8MDY2bzxiNGdkOG9lWXQhT1BxQUQ7JXRjRDRYPiVDYzIjNE5T
dUUkJWE/KnlOTyVYfEVjKSZobgp6a2VvfXRRJk44SClqRz4/cWcwRSo/cTNCblNscHA8dHNmdjNm
UlkjV158NVUtWGBVNSlJI0pjJHZxXyRCamt2Nk0KeiRwaCswQHt4MU9OZip2OXRQdm1QeD5wZkcy
Tj9mcD8zcyhOTk00aXk+Z0lBITthVkAkZXl0bTk8WFFjPnZeYkwhCnpaSzJgK0FrXmpHS3BWKm1O
Yz1hQG1aX0MxYCgzZn49LVQ1SFpfenhVd3swSmhZbz48MEIjMGo+Z2c7Klkpbnc7Kwp6bFQ4Ujxn
YVc/UigkZDBVZD1mP19kPmJPSGY2eDNPTUorVjBlR0ZSMlVeMy1FNkh8OHR3IUB3R2NCdkJwMzFU
cTYKekJ5MUpgKk9oblFNPlBWcjV3d2M+K0VwREFLRUpzT2FMPXpQSSVLQjVeTE87UnZ8eHd+LTda
ZHRzY2l1cjUkKlV9CnpqbzUkSihmP2FxLSg+USkrPj9HMjx+THp9Nlh4SU5qT2QjbXw4TTskRWRj
ZyFPbD45NTg2Nj5Ub15HMSg4KnBJZwpnXjFuSlQrO0RKRzVpek1oUWAzT3x0dzVJP1VDdmtpOVBy
en0wTUhYNDI+PHs5CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21w
b3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9j
aHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1z
aW1wbGUtY2FuY2VsMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzVkNzI4YmQ3NDE5OGZhZTYy
MDk3MzcwMjU0YzI5YTRiYjZiM2VjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLWxpbnV4L3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5n
L2dlc3R1cmVzL2dlc3R1cmUtdGFwSGlnaGxpZ2h0LXNpbXBsZS1jYW5jZWwyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDIgQEAKK1RhcmdldCBMaW5rLgorVGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwg
aWYgIlRhcmdldCBMaW5rIiBhYm92ZSBpcyBjb3ZlcmVkIGluIGEgZ3JlZW4gcmVjdGFuZ2xlLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvcGxhdGZvcm0v
Y2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2VzdHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQt
c2ltcGxlLWxvbmdQcmVzcy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9n
ZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtbG9uZ1ByZXNzLWV4cGVjdGVkLnBuZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44ZTVmYWFhYWFhMWY0YTk4OTkxODA2MmU5M2ZmYjJiNmU4MzBkNjYzCkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCA2MTMyCnpjbWVITGAmKDAyeTUzNEZ3R01DYHRIXnlpS0J0VjIweEJUKWFI
ZHF6cF4meXJCKzRacWEqZEU7NDFfPlB0cU42JAp6ajUxMD1BZitoT0tvWUtANSl1VDJVQD00Xzdh
JXR6VHI/cXNUVyo5VFhWWkQrRkYzIVApNkBPU2V4Q0tMeX16fkkKej98dDhJdD8kK3NRUTxacEko
YFRNZlgmJTZwTTM9WVIofUczbyR3RUtmK1BEcytWMmomNHFyVjV6bll3JGw4aSlTCnp2VmYhe3pm
fHZ9T01XSztqKEh6WEokfns7TzB4R1FaKmJKeD1jNTFkbE5heWRLM1cwKmB7Sntve3FedEk4a0dk
dQp6IXFlMlVTSml2PjIweEQkNEklM3ZVQjNVKjdyZmhGe15MPXhwZU1Vc1drdC1VVzBKKl4lZGVO
TDxkbm09aDlgWTgKejkkWT9qPFAxTiheQmkld2F+TSFxQXV9dUU4KmIkQzZINWg3QS04WW1je1VB
SDtnMm4wYWo5ZCtvRlVqSnczelE0CnpFYkVyfClDRSNhY1VvfjlaOU0lVzAwPVBSY31AVkprMnVy
ezAwWndHMFJIUnlYRkd1cF9RMyVsWTNDbGBQb0YzNQp6MEItQykzVmRfeStXV3dOZURaJk8oaj9a
Wm5UQzI5PlVMK2opSEJZMTtvMUVvJUNgLT1jTEx4Vz11QFdOTXpCQUkKel92I0JATTtNSEZJIWwm
TmlLdj92RVVVIWwlUnxuPXhebEJybGdCcnU7alJ3b25MYVp6WXFIaE9aeD5MZyhEK3YwCno+fSpR
cVFoa3dgaTllOVpHKm5DfikwRkUwe3tqbEI2Mz5obmJaQENgZjNWQHR5KGtGJjVjblpZWnFwTF9G
cXdPIwp6REd3Un4+cXY5QUxXJnl6ME1+KG4lb1I7VWBsM0BLWXYyPSZ7UHErV3RUeyRfb1h4YHNg
QUhARy1oM0VMREhJLVYKejt5cFR4az48UGd2YipzR3dTKiMjUEFHb0xrZDZjYCl7eDA4Ui1rYnlB
cUxTIVBVVVBTajtFMCooTk1+QFladXlQCnp4bHZCOClLakdwOSskV1NBbFZ1aHtOVWNIeWhHKUB5
V3MrWUNDfGk+QGUwKVpgVnMrPiMlSm1UR0x3WGdVS3BkTwp6QGlkbCFiRHtrYXdZU3xpeFJzdHdp
U1ZLWHBjUGBZdmM1ITdqWn5QOEwwbm5OSjk2T0syK2xCez42MHNnX2pIPXkKenhHNHpjQ2lBTUJ2
UCVkI3NDZ1pNblpKKF89VilyeHkhdyk1UlJzWDdTaFEySUheUmErNkN9YWZkez1oN3VjSGdaCno7
RkkjVkVOTlZZeU81c2NpO19+SSpeIzZLQyVAJnVgbzJFO1dlMnBgR1hmPGB1eSp5d2puQFZ0RXY3
dWx2YSklOAp6UkpvfkM3Q1J7KFJjSUEkUnpUO0pBOEljKEhmRTIjVT94JEwhPUBncF89RV5xe0J9
Pn5pK2peT1VDUnR3MHY7cG0KejdiWX5IUDhPMDw8QjVaRkZJKjFQOSglKGJuYCZ6fjtROTkkOzJF
bkd3TnRzJnA9PTdKOUhJVWNYNnZ3Q0xvaWZjCnpWRF58NUd7eDtCM2M0dVFDMElMWTdwMCUjWU94
WjhyQUxeJCotZEQ2QFhsUEY0TjJHdUI8NSo3VE9FbFA3PDk1Pwp6bTVzI2V1Z2cpclV4TjdxbXhN
I0F4KUU2LXh7fXllVXZEPVNwY0Q1ZnNuY3t5VH5XYE5mM21ST283KW5ie2xwX3kKekYmM29NaXQ9
MjwxUGdCTlpuYnlRYGZGfHwwQGo2MkdwUXx0b0F2XmsxPCYwMDNkV0R7UXVRRmVaWTMrYEUxU3RE
Cnp2cz4mREVvOXZNe1R9X1M8SDRWclkwfkMyMFFpOTsjcVVEJFdQUWo7NGFzc3xXPSFESiNvSXlQ
PngpOH1JbT19MQp6aS1BUndTantOMXFIe3Q0KHAjdnlaY0RjNCVRdT97PFVBUT1vbEFvP1hLSSZ2
KjJlLUJLYXQ3bSFsclo3bVYpSWMKejZIcXR3eVQpN2xrbi1XY3JQZ3RfNlZaMGomay1YaFlQZ29U
KGdYWnotITJUJjFIUkojMDA0JU10YlZNXiFPcV5vCnpuS2JlSm8jP2E+IXpCKFcpTkJ7TzExUExu
M0xWUWEmTjNQeDVMeCY8XjMwQkpuOCYydCM0YTtjclo8YngoQXExMQp6YkhPSHArOH4mT25ESkFa
Vlcpeml2PXV3eFMlVXNNPjdVO05eckt4VVJedHZ9Q2k7SzFZcWpSPUl3ell2TjRlbU8KejZ0cmtS
LWVkMTZXPkEqZj48Qn41NFlOXj0kZWxgd1ppPWM2IzMrMSlhbyE1NDFreHJjUTlycG1pcGw+Wmg4
bVpACnpGJj9naUBYeTNJc3s5fFpKJjBZLUt3PGkoQlhKbTh0a0p+aDREQnpxX2t6clBXM3s9dEpe
MVI/dE5TcXRoNlhwJgp6K21TPSUmZnB7S0J3WWNnQih4Xj5YRWZFKWFUPik/c2VTMUJPWWNNS1Nf
cG5+bkNRZF57eHpWKVEpdFd9UysqOCsKejh+NUorOFkoI2U3OyNLWDxrVz19YUhAVCt0Z0stQ0tZ
JTxscz1Eb3UhZHI3eSg9UklBJVo9PDxCcG58KEMoanJ6CnpiS25OQXprR2djVXl3QSYkQUBSU3JH
Z1lmUms9XjRQLVBCVFZtbWVKVkglMmEyTVZ7fEZQaUpMaF5KTjFfUnxlKgp6N15VRUZiWW9lZG5I
TFMrNCVIcCY3Kk9hT3JyblZLUXd1eG9RZ3RrOFY1fk5YQCQhfUZtUEVBQCFjVkB0YXBlTn0KekEp
RVF3bH56Jnl5YWE5N3Y2M18kPDkzQ3hQP1opMUcwYWBOY0ZpZ0s9WCYjMl42fUExRlNUMFR3PSVI
RHhWZD9uCno3YFJ4MjJKTT1yVWgzZGQkdHFEZGlDe0xFT2VYWj1uNH5vK2pReXNleE8zeUBpJCoy
fmRlMnd3bXx1WCE+ZjEqPgp6Z1krfWslbCY3K1FffWlhcXh9aFZOc2k+cm4+VGshc1lxRUVMb256
WlAmbGB7SWZlI1ZfJiZKfnVicW05aEZ9c0MKejZOaGZeciFiYVQjXnBuSXs0WGthUGVLaFpwdV5S
S3hqKTc/Vzx2SXQ5YEkxS2kjI2l6WiklaiNmY2J4KHRAeHhpCnpQbnNXO3lMMXFGI2BwbHw3OV94
WTFAbl8hb3BAUjA/SCpPKnBFY2M/R1dyMDxIfGI7cWFTb2RqK3I2eHBteT1HVQp6e05qPSk5dUcj
aCRiRS1QcjRhT2JLPHsjbyhsJShSSEdoNDl6dzgrV0slT2BqUTFKSzI3a2FMfmR4JkJeMXR+Q1MK
ejd1cXxYP3dzPntGSilyYXUzZEVuJVRLcDY/LUp2ZHpqODBhXlhkRzlTVU82XiVIKSQjZz50ODQ4
P2BARmVkSkQkCno/JilHM3ZSMkVHbld6fH1iKlI0SWotVmR8ZU45cmgmT3ZPPStCMk0mYXp5ZDJC
aytRQm5Qc0c4WUNhemgjJDRiJAp6MWJHflFRU2NVNCFgPCozTlE3fTNnd2l+Ny1MN2NDbmBEXnhC
MX1RKDBaR1ZQWkg8e3k8N314eyFxQCVwTT81JD4Keil0TTJeZSRvXjdNfSZFOzY0aHRZZGNATT5G
bmt5Y0dqcSo0KlpEUTthWlh2NT94dDdhbzE2OXRTY14kViZAPnw9Cnp0ND0leXd9eUxMNTlfKShi
aH0kdFdaWWdRJGJEQG9WKFo3eikhfkMpSU9FRl89UFBHbWteKGk4IWU9MEFmV2w4egp6JkNmRVds
V29jREJCTSV9P25CUUsyP0RWJWtGIzZnWkw9V2VHUyVnWSN6XkdOTDt9R0E5fUZeSVFzOVN7X3RD
U3QKei15ZkhBe0FBOSliYX1zUHc/eTdeMi1PfD5gbVNBdmU3ek5LKVpYPDlTOEJnfmY2cTM7MyN4
N080Y2Upe2E0S1JXCnolNndyazQrTHVxT2Q/XmFqWG13fChBOW1YQC15KUZVfSNYdTAhbk9vKERL
aTEjaHNgTz1qNVBpN1QjIyVDO29iMQp6eDRSRV9zeSRfTnEoVnJJRldgTHtqdFAoK2wlR1A4XjVA
VyNKayN1Wkd5NWBTTVJ0TjR5WjA1QmxyKDNxJkFwJnAKejJSVU5fYX49I2o1YT5jei1PU1RTVEd6
P3h0dG8rVk1IO2h8R2VDNm1iMWh1eVhLcDh1OEVPfF9SYHxWM1dWTyF8CnpPdUBqNy00cyFJaCEo
IUNJfVhFKTF1UystYEhKQEVATXN3U2ohViExJnA3UHN2K2s8Z0teTCFFM3A1cnpUWXs2fQp6Yjw5
bWdiRnhpXz82djxlSis/YnJHSGBRYHdZN0NEJUFuRWQlN2NAfVk2ODRpYGlxdFNxVWAjfVYoWn42
NCF9eFYKemhtSShLb1lreXxEb2IyKD43YnVUKHRfVUgqbXQyRCNaYn1QaXB3PkIhTnMtN1p3dzkm
UWJiezRWWl90UHBzdXpoCno8NGdWKGViY3E4O3hLbDJwdWsmUEclekFedWxhZilMP0BvO1dvQXE/
UEMhR01sfnMpMWM5MipHdiN3ODtWPG9YWgp6PX00NUJ3Y1lFQlR2QmxVVEZkemtTTTFFU2d5SlI2
PGQ+O3FISE03fHNHbFF8XlUkdzYqWj9KTE16M3AmWkpaWHkKellERmUyK2FCTGlDRE9oNjc0UzQj
KFJGXmhrQU5CPDNvOCNiVzBrdTFJRj8yP1hYaDRqPGluRk5LNGBLQytgR3IqCnpPbWhjbEtGYlZz
LU5+JEprYjZTTkIzSjx8cGlfZSlaejdMQD9pcmk/NnFMQ0tYYSRSXlprYVQ9OTxMd3kqbj4lJQp6
RUspQipiV2czcDF5WmBEcHAtTFVvU0p8UkB8ZUg4dGktSmQzcUdiejRQeF9rV3AhRl5AVDhtYD9s
U2RyUEJQNTIKejtNZURYd0J4WVgqckRiJmBKbDZKQDRSNz1na21+LV49KH4yKSsxPzVFdldlSUR1
Y2psX0AkbWI9YFpnNlhUdlZ+CnoxRWp9ejR0WmhKXnZlLWlUO2J7dlgjWCg/SmpVcVZEfmd5RXFx
JDVhbD5zdFUzdH5qZDhGckFBbCE/RG1DbkwrMAp6a0h9SWljbzxMJD9RQ3RPSTMpIXY3bD9IZW83
fVV0SFZSVGgoJTt7JkY0OGU3NkwxO0l0dmw9Pik/MWFnVSl+OUAKelV7cTYjTCVXfjNeUUZBPT4/
ZnpxTmNLRWdHMzxuTEs2bnNMemtKP1V2ekA5Pzt9alJOQGUwaG45UH4/cnBxcXR4Cnp3IV52eEpZ
d2AmT3pQUDZhITFJT0dlJjdIMTliNkZeSjtuMT1UJlI+WEB4MCsjV3ZnQ15VTTdzUFE+QkgkY0hT
bQp6aDZiJCpIYXk9ND9iUWZrQU8wSU8yaEd0Z2ItZ0AtRSlzVWlONV59U3B3PjhqN09YSG5Qbyo4
b0JKMzV9b3dUcnwKektifFZCQ2kkcFlDM21nQ1RLSDtIYy09TkllTk5eZVJ6PX5RTEY7fjw/KEBK
aWVwKTZZdGk1cFcwfFQmSzN6aTtOCnpDUVIhc2JgTC1pS3AmbnxmZntyJXp5bj4/YFg5VHdWKTR0
M2NOMmBiQjlNekhMSTl3QHc4fTNuZHxuNGBPbyQrdQp6SyRMMForTXFuSnlqNSheej9Xc25oXnAp
c0ZZI0t8Vl87Knp2USQrKmN8TlZTRGB+Sjg8U1dTOVozZXc1YWYydloKekl2X1hOOyhjV0IhdWs2
I3hMe2tMO2UoQClpXjRjRzJsVENBe05ASCZkY2FUQXBvZ2E4UTxNLUYoR2Q3dTAqciRhCnpEZHpv
d3ZSUldZY3BkRVB8MURuPWY3X1NmLSpAKkw/e2ZUfTtOS0pjVGtxdWsmaGhfJDk5SSRldW95aEEw
QmwoQQpyUz5AQTt5MCYoS0o/ZzBjTDYzVVV2ZzM+IV90TkxZJCNKbGE1MWMmfV4lP2NrI0JjdV9w
KXx3NwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0tbGludXgvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcv
Z2VzdHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWxvbmdQcmVzcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1
bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUt
bG9uZ1ByZXNzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDA3NGNlM2RkNGVhZjNiODRhZGJl
OGIzYmIwMDJjNjU0N2U5NmFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0tbGludXgvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2Vz
dHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWxvbmdQcmVzcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyIEBACitUYXJnZXQgTGluay4KK1RoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlm
IG5vIGxpbmsgaGlnaGxpZ2h0IGFwcGVhcnMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167008</attachid>
            <date>2012-10-03 17:39:46 -0700</date>
            <delta_ts>2012-10-05 11:02:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97355-20121003203856.patch</filename>
            <type>text/plain</type>
            <size>24622</size>
            <attacher name="W. James MacLean">wjmaclean</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGYyYWY3YjExY2Q3Yjc4NTc5NjJiODMyZDJlZDEzM2Y1ODg5YWI3ZGEuLjkzMGU1Nzk2ZjhkYmIw
MWJiMDYyMjQxNjc1NTIwNGM2YTdhNmQ1ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTItMTAtMDMgIFcuIEphbWVzIE1hY0xlYW4gIDx3am1hY2xlYW5A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTW9kaWZ5IGdlc3R1cmUgaGlnaGxp
Z2h0IGJlaGF2aW91ci4gQ2FuY2VsIG9uIEdlc3R1cmVMb25nUHJlc3MgYW5kIGFuaW1hdGUgb24g
R2VzdHVyZVRhcENhbmNlbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk3MzU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCByZXZpc2VzIHRoZSBiZWhhdmlvdXIgb2YgR2VzdHVyZVRhcERv
d24gaGlnaGxpZ2h0aW5nIHNvIHRoYXQgdGhlIGhpZ2hsaWdodCBzaG91bGQgZGlzYXBwZWFyIGlm
CisgICAgICAgIGludGVycnVwdGVkIGJ5IEdlc3R1cmVMb25nUHJlc3MsIGFuZCBhbmltYXRlIGF3
YXkgaWYgaW50ZXJydXB0ZWQgYnkgR2VzdHVyZVRhcENhbmNlbC9HZXN0dXJlU2Nyb2xsQmVnaW4u
CisKKworICAgICAgICAqIHNyYy9MaW5rSGlnaGxpZ2h0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TGlua0hpZ2hsaWdodDo6TGlua0hpZ2hsaWdodCk6CisgICAgICAgIChXZWJLaXQ6OkxpbmtIaWdo
bGlnaHQ6OnN0YXJ0SGlnaGxpZ2h0QW5pbWF0aW9uSWZOZWVkZWQpOgorICAgICAgICAqIHNyYy9M
aW5rSGlnaGxpZ2h0Lmg6CisgICAgICAgIChMaW5rSGlnaGxpZ2h0KToKKyAgICAgICAgKiBzcmMv
V2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFuZGxlR2Vz
dHVyZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmVuYWJsZVRvdWNoSGln
aGxpZ2h0KToKKwogMjAxMi0xMC0wMyAgSmVmZiBUaW1hbnVzICA8dHdpekBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW2Nocm9taXVtXSBFeHBvc2Ugc2V0dGluZ3MgdmFsdWUgdG8gY29uZGl0aW9u
YWxseSBlbmFibGUgcGluY2gtem9vbSBzY2FsaW5nIGluIHRoZSBDaHJvbWl1bSBjb21wb3NpdG9y
LiAgVGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9MaW5rSGlnaGxp
Z2h0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xpbmtIaWdobGlnaHQuY3BwCmlu
ZGV4IDFlNzI5MDBjNGJiNjM0OTJkODFmOWI1NGM3ZTMzMTcxOWM2NWViNDYuLjNmODAwMDdmN2U0
OGIwYWU4MjI4ZDFmNTMzYTAxNzdjZTA1ZDFhOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0xpbmtIaWdobGlnaHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0xpbmtIaWdobGlnaHQuY3BwCkBAIC02NSw2ICs2NSw3IEBAIExpbmtIaWdobGlnaHQ6
OkxpbmtIaWdobGlnaHQoTm9kZSogbm9kZSwgV2ViVmlld0ltcGwqIG93bmluZ1dlYlZpZXdJbXBs
KQogICAgICwgbV9vd25pbmdXZWJWaWV3SW1wbChvd25pbmdXZWJWaWV3SW1wbCkKICAgICAsIG1f
Y3VycmVudEdyYXBoaWNzTGF5ZXIoMCkKICAgICAsIG1fZ2VvbWV0cnlOZWVkc1VwZGF0ZShmYWxz
ZSkKKyAgICAsIG1faXNBbmltYXRpbmcoZmFsc2UpCiB7CiAgICAgQVNTRVJUKG1fbm9kZSk7CiAg
ICAgQVNTRVJUKG93bmluZ1dlYlZpZXdJbXBsKTsKQEAgLTczLDEyICs3NCwxMSBAQCBMaW5rSGln
aGxpZ2h0OjpMaW5rSGlnaGxpZ2h0KE5vZGUqIG5vZGUsIFdlYlZpZXdJbXBsKiBvd25pbmdXZWJW
aWV3SW1wbCkKICAgICBtX2NsaXBMYXllciA9IGFkb3B0UHRyKGNvbXBvc2l0b3JTdXBwb3J0LT5j
cmVhdGVMYXllcigpKTsKICAgICBtX2NsaXBMYXllci0+c2V0QW5jaG9yUG9pbnQoV2ViRmxvYXRQ
b2ludCgpKTsKICAgICBtX2NsaXBMYXllci0+YWRkQ2hpbGQobV9jb250ZW50TGF5ZXItPmxheWVy
KCkpOwotICAgIG1fY29udGVudExheWVyLT5sYXllcigpLT5zZXREcmF3c0NvbnRlbnQoZmFsc2Up
OwotCi0gICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBzaG93IHRoZSBoaWdobGlnaHQgdW50aWwgc3Rh
cnRBbmltYXRpb24gaXMgY2FsbGVkLCBldmVuIHRob3VnaCB0aGUgaGlnaGxpZ2h0Ci0gICAgLy8g
bGF5ZXIgbWF5IGJlIGFkZGVkIHRvIHRoZSB0cmVlIGltbWVkaWF0ZWx5LgotICAgIG1fY29udGVu
dExheWVyLT5sYXllcigpLT5zZXRPcGFjaXR5KDApOwogICAgIG1fY29udGVudExheWVyLT5sYXll
cigpLT5zZXRBbmltYXRpb25EZWxlZ2F0ZSh0aGlzKTsKKyAgICBtX2NvbnRlbnRMYXllci0+bGF5
ZXIoKS0+c2V0RHJhd3NDb250ZW50KHRydWUpOworICAgIG1fY29udGVudExheWVyLT5sYXllcigp
LT5zZXRPcGFjaXR5KDEpOworICAgIG1fZ2VvbWV0cnlOZWVkc1VwZGF0ZSA9IHRydWU7CisgICAg
dXBkYXRlR2VvbWV0cnkoKTsKIH0KIAogTGlua0hpZ2hsaWdodDo6fkxpbmtIaWdobGlnaHQoKQpA
QCAtMTk0LDggKzE5NCwxMiBAQCB2b2lkIExpbmtIaWdobGlnaHQ6OnBhaW50Q29udGVudHMoV2Vi
Q2FudmFzKiBjYW52YXMsIGNvbnN0IFdlYlJlY3QmIHdlYkNsaXBSZWN0LAogICAgIGdjLmZpbGxQ
YXRoKG1fcGF0aCk7CiB9CiAKLXZvaWQgTGlua0hpZ2hsaWdodDo6c3RhcnRIaWdobGlnaHRBbmlt
YXRpb24oKQordm9pZCBMaW5rSGlnaGxpZ2h0OjpzdGFydEhpZ2hsaWdodEFuaW1hdGlvbklmTmVl
ZGVkKCkKIHsKKyAgICBpZiAobV9pc0FuaW1hdGluZykKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9pc0FuaW1hdGluZyA9IHRydWU7CiAgICAgY29uc3QgZmxvYXQgc3RhcnRPcGFjaXR5ID0gMTsK
ICAgICAvLyBGSVhNRTogU2hvdWxkIGR1cmF0aW9uIGJlIGNvbmZpZ3VyYWJsZT8KICAgICBjb25z
dCBmbG9hdCBkdXJhdGlvbiA9IDAuMWY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9MaW5rSGlnaGxpZ2h0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9MaW5r
SGlnaGxpZ2h0LmgKaW5kZXggNGViNmY1OTY3YjRiYzZjNDUzOGMwOTg0N2ZmMDg4ODEzZDg4ZDk0
Mi4uM2JhYzNjNzI5ZGQ4OTgyMjkzYTY3NGVkYmZkYmI3NjVjODYxYmY3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTGlua0hpZ2hsaWdodC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0xpbmtIaWdobGlnaHQuaApAQCAtNTQsNyArNTQsNyBAQCBwdWJs
aWM6CiAKICAgICBXZWJDb250ZW50TGF5ZXIqIGNvbnRlbnRMYXllcigpOwogICAgIFdlYkxheWVy
KiBjbGlwTGF5ZXIoKTsKLSAgICB2b2lkIHN0YXJ0SGlnaGxpZ2h0QW5pbWF0aW9uKCk7CisgICAg
dm9pZCBzdGFydEhpZ2hsaWdodEFuaW1hdGlvbklmTmVlZGVkKCk7CiAgICAgdm9pZCB1cGRhdGVH
ZW9tZXRyeSgpOwogCiAgICAgLy8gV2ViQ29udGVudExheWVyQ2xpZW50IGltcGxlbWVudGF0aW9u
LgpAQCAtOTAsNiArOTAsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJD
aHJvbWl1bSogbV9jdXJyZW50R3JhcGhpY3NMYXllcjsKIAogICAgIGJvb2wgbV9nZW9tZXRyeU5l
ZWRzVXBkYXRlOworICAgIGJvb2wgbV9pc0FuaW1hdGluZzsKICAgICBXZWJDb3JlOjpGbG9hdFBv
aW50IG1fZ3JhcGhpY3NMYXllck9mZnNldDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCA5YjEzYTk2MGNiZGMzYTFkNjA1MzY4YTQ4NmQ1MjI5
MDNmM2NhY2M1Li44NTI1YTRkOTFjODE1NmVhYzI1ZjJkYzU4MDc3NjRmMGNjZmJkOWQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC02NzksNiArNjc5
LDggQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1
cmVFdmVudCYgZXZlbnQpCiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBXZWJJ
bnB1dEV2ZW50OjpHZXN0dXJlVGFwOiB7CisgICAgICAgIC8vIElmIGEgbGluayBoaWdobGlnaHQg
aXMgYWN0aXZlLCBraWxsIGl0LgorICAgICAgICBtX2xpbmtIaWdobGlnaHQuY2xlYXIoKTsKICAg
ICAgICAgbV9jbGllbnQtPmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJbnRlbnRzKCk7CiAgICAgICAg
IGlmIChkZXRlY3RDb250ZW50T25Ub3VjaChXZWJQb2ludChldmVudC54LCBldmVudC55KSwgZXZl
bnQudHlwZSkpIHsKICAgICAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKQEAgLTcxNyw2
ICs3MTksNyBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2Vi
R2VzdHVyZUV2ZW50JiBldmVudCkKICAgICB9CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0
dXJlVHdvRmluZ2VyVGFwOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZUxvbmdQcmVz
czogeworICAgICAgICBtX2xpbmtIaWdobGlnaHQuY2xlYXIoKTsKICAgICAgICAgaWYgKCFtYWlu
RnJhbWVJbXBsKCkgfHwgIW1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCkpCiAgICAgICAgICAg
ICBicmVhazsKIApAQCAtNzM4LDYgKzc0MSw3IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdl
c3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgICAgICBtX2NsaWVu
dC0+Y2FuY2VsU2NoZWR1bGVkQ29udGVudEludGVudHMoKTsKICAgICAgICAgLy8gUXVldWUgYSBo
aWdobGlnaHQgYW5pbWF0aW9uLCB0aGVuIGhhbmQgb2ZmIHRvIHJlZ3VsYXIgaGFuZGxlci4KICNp
ZiBPUyhMSU5VWCkKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJ3am06IEdlc3R1cmVUYXBEb3du
IGV2ZW50LlxuIik7CiAgICAgICAgIGlmIChzZXR0aW5nc0ltcGwoKS0+Z2VzdHVyZVRhcEhpZ2hs
aWdodEVuYWJsZWQoKSkKICAgICAgICAgICAgIGVuYWJsZVRvdWNoSGlnaGxpZ2h0KEludFBvaW50
KGV2ZW50LngsIGV2ZW50LnkpKTsKICNlbmRpZgpAQCAtNzU4LDYgKzc2MiwxMiBAQCBib29sIFdl
YlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVu
dCkKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVUYXBDYW5jZWw6CiAgICAgY2FzZSBX
ZWJJbnB1dEV2ZW50OjpHZXN0dXJlUGluY2hFbmQ6CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpH
ZXN0dXJlUGluY2hVcGRhdGU6IHsKKyAgICAgICAgaWYgKG1fbGlua0hpZ2hsaWdodCkgeworICAg
ICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT0gV2ViSW5wdXRFdmVudDo6R2VzdHVyZVNjcm9sbEJl
Z2luIHx8IGV2ZW50LnR5cGUgPT0gV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRhcENhbmNlbCkKKyAg
ICAgICAgICAgICAgICBtX2xpbmtIaWdobGlnaHQtPnN0YXJ0SGlnaGxpZ2h0QW5pbWF0aW9uSWZO
ZWVkZWQoKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBtX2xpbmtIaWdobGln
aHQuY2xlYXIoKTsKKyAgICAgICAgfQogICAgICAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxk
ZXIgcGxhdGZvcm1FdmVudChtYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCBldmVudCk7CiAg
ICAgICAgIGV2ZW50U3dhbGxvd2VkID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhh
bmRsZXIoKS0+aGFuZGxlR2VzdHVyZUV2ZW50KHBsYXRmb3JtRXZlbnQpOwogICAgICAgICBicmVh
azsKQEAgLTExOTcsNyArMTIwNyw2IEBAIHZvaWQgV2ViVmlld0ltcGw6OmVuYWJsZVRvdWNoSGln
aGxpZ2h0KEludFBvaW50IHRvdWNoRXZlbnRMb2NhdGlvbikKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgbV9saW5rSGlnaGxpZ2h0ID0gTGlua0hpZ2hsaWdodDo6Y3JlYXRlKHRvdWNoTm9kZSwgdGhp
cyk7Ci0gICAgbV9saW5rSGlnaGxpZ2h0LT5zdGFydEhpZ2hsaWdodEFuaW1hdGlvbigpOwogfQog
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCBjNjgxZTc3MWU3ZGM1MjZhYTQzOTkzODM3NDY4YTk5YjZmOWRhOTVl
Li4xOTEzNDExYjBiNzBlYWFkN2NmYTA1NjkyZDcxNTc4ODVmMmJkY2QzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjEgQEAKKzIwMTItMTAtMDMgIFcuIEphbWVzIE1hY0xlYW4gIDx3am1hY2xlYW5AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTW9kaWZ5IGdlc3R1cmUgaGlnaGxpZ2h0IGJl
aGF2aW91ci4gQ2FuY2VsIG9uIEdlc3R1cmVMb25nUHJlc3MgYW5kIGFuaW1hdGUgb24gR2VzdHVy
ZVRhcENhbmNlbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk3MzU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCByZXZpc2VzIHRoZSBiZWhhdmlvdXIgb2YgR2VzdHVyZVRhcERvd24gaGln
aGxpZ2h0aW5nIHNvIHRoYXQgdGhlIGhpZ2hsaWdodCBzaG91bGQgZGlzYXBwZWFyIGlmCisgICAg
ICAgIGludGVycnVwdGVkIGJ5IEdlc3R1cmVMb25nUHJlc3MsIGFuZCBhbmltYXRlIGF3YXkgaWYg
aW50ZXJydXB0ZWQgYnkgR2VzdHVyZVRhcENhbmNlbC9HZXN0dXJlU2Nyb2xsQmVnaW4uCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0
dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsLmh0bWw6IHJlbW92ZWQgZXh0cmEgdGVzdFJ1
bm5lci5kaXNwbGF5KCkuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9z
aXRpbmcvZ2VzdHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWNhbmNlbDIuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2Vz
dHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWxvbmdQcmVzcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51
eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2Vs
Mi1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4
L3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVzL2dlc3R1cmUtdGFw
SGlnaGxpZ2h0LXNpbXBsZS1jYW5jZWwyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0tbGludXgvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRp
bmcvZ2VzdHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWxvbmdQcmVzcy1leHBlY3Rl
ZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L3BsYXRmb3Jt
L2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVzL2dlc3R1cmUtdGFwSGlnaGxpZ2h0
LXNpbXBsZS1sb25nUHJlc3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0xMC0wMyAgUmFw
aGFlbCBLdWJvIGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRhLmNvc3RhQGludGVsLmNvbT4KIAog
ICAgICAgICBbRUZMXSBQaXhlbCB0ZXN0IHJlYmFzZWxpbmVzIHRvIGVuYWJsZSBwaXhlbCB0ZXN0
aW5nIG9uIHRoZSBib3RzLCBwYXJ0IDUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdo
dC1zaW1wbGUtY2FuY2VsLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51
eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2Vs
Lmh0bWwKaW5kZXggMmJiMmExNmJhNWY3NzcyOGE2ZTBjMjM3MjFjMjcwM2E1NmYwZDM4Ny4uYTZk
ODg2OTVhMTZhYmU1MzA2YWNmMzk5MmZkNmFkYTE1ZjUyODFiYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2VzdHVyZXMvZ2VzdHVy
ZS10YXBIaWdobGlnaHQtc2ltcGxlLWNhbmNlbC5odG1sCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVzL2dlc3R1cmUtdGFwSGlnaGxp
Z2h0LXNpbXBsZS1jYW5jZWwuaHRtbApAQCAtMzAsNyArMzAsNiBAQCBmdW5jdGlvbiBydW5UZXN0
KCkgewogCiAgICAgICAgIC8vIEdlbmVyYXRlIHRhcCBpbiByZWdpb24gd2l0aCBubyB2YWxpZCB0
YXJnZXQgLi4uIHRoaXMgc2hvdWxkIGNhbmNlbCB0aGUgZmlyc3QgdGFwLgogICAgICAgICBldmVu
dFNlbmRlci5nZXN0dXJlVGFwRG93bigxNTAsIDE1MCk7Ci0gICAgICAgIHdpbmRvdy50ZXN0UnVu
bmVyLmRpc3BsYXkoKTsKICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHdp
bmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgfSwgMCk7CiAgICAgfSBlbHNlIHsKICAgICAg
ICAgZGVidWcoIlRoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZS4iKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1
cmVzL2dlc3R1cmUtdGFwSGlnaGxpZ2h0LXNpbXBsZS1jYW5jZWwyLmh0bWwgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRh
cEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzYTQyZmUwMWFkNjFm
NDlmZTAyODc0NzUzYTlmODZlMDNiNzNiNjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRh
cEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKTsiIG9uY2xpY2s9ImRvTm90aGluZygpOyI+Cis8ZGl2IHN0eWxlPSItd2Vi
a2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgcG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAx
MHB4OyB0b3A6IDQwcHgiPgorPGEgaHJlZj0iIiBpZD0idGFyZ2V0TGluayIgc3R5bGU9Ii13ZWJr
aXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAyNTUsIDAsIDAuNSkiPlRhcmdldCBMaW5r
LjwvYT4KKzwvZGl2PgorPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyBsZWZ0OiAxMHB4
OyB0b3A6IDcwcHgiPgorVGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgIlRhcmdldCBMaW5rIiBh
Ym92ZSBpcyBjb3ZlcmVkIGluIGEgZ3JlZW4gcmVjdGFuZ2xlLgorPC9kaXY+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICB2YXIgY2xpZW50UmVjdCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0YXJnZXRMaW5rJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgeCA9
IChjbGllbnRSZWN0LmxlZnQgKyBjbGllbnRSZWN0LnJpZ2h0KSAvIDI7CisgICAgeSA9IChjbGll
bnRSZWN0LnRvcCArIGNsaWVudFJlY3QuYm90dG9tKSAvIDI7CisgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5ldmVu
dFNlbmRlcikgeworICAgICAgICAvLyBHZW5lcmF0ZSB2YWxpZCBsaW5rIGhpZ2hsaWdodC4KKyAg
ICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVRhcERvd24oeCwgeSk7CisKKyAgICAgICAgLy8gU2Vu
ZCBHZXN0dXJlVGFwQ2FuY2VsLCB0aGlzIHNob3VsZCBjYXVzZSB0aGUgaGlnaGxpZ2h0IHRvIGFu
aW1hdGUgYXdheS4KKyAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVRhcENhbmNlbCgpOworICAg
ICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LnRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOyB9LCAwKTsKKyAgICB9IGVsc2UgeworICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0
IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiIpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1z
aW1wbGUtbG9uZ1ByZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51
eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtbG9uZ1By
ZXNzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTIyOTI4MjQwYTQ5Mjk0OTYxNGQwNGNlYTgwNTk2YzY4NTNl
MTdjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxp
bnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVzL2dlc3R1cmUtdGFwSGlnaGxpZ2h0LXNpbXBsZS1sb25n
UHJlc3MuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7IiBvbmNs
aWNrPSJkb05vdGhpbmcoKTsiPgorPGRpdiBzdHlsZT0iLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5z
bGF0ZVooMCk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMTBweDsgdG9wOiA0MHB4Ij4KKzxh
IGhyZWY9IiIgaWQ9InRhcmdldExpbmsiIHN0eWxlPSItd2Via2l0LXRhcC1oaWdobGlnaHQtY29s
b3I6IHJnYmEoMCwgMjU1LCAwLCAwLjUpIj5UYXJnZXQgTGluay48L2E+Cis8L2Rpdj4KKzxkaXYg
c3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMTBweDsgdG9wOiA3MHB4Ij4KK1RoaXMg
dGVzdCBpcyBzdWNjZXNzZnVsIGlmIG5vIGxpbmsgaGlnaGxpZ2h0IGFwcGVhcnMuCis8L2Rpdj4K
KzxzY3JpcHQ+CisvLyBUaGlzIHRlc3QgbWFrZXMgc3VyZSBhIGhpZ2hsaWdodCBkb2VzIG5vdCBz
dXJ2aXZlIGJleW9uZCBHZXN0dXJlTG9uZ1ByZXNzLgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICB2YXIgY2xpZW50UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXRMaW5rJyku
Z2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgeCA9IChjbGllbnRSZWN0LmxlZnQgKyBjbGll
bnRSZWN0LnJpZ2h0KSAvIDI7CisgICAgeSA9IChjbGllbnRSZWN0LnRvcCArIGNsaWVudFJlY3Qu
Ym90dG9tKSAvIDI7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAvLyBH
ZW5lcmF0ZSB2YWxpZCBsaW5rIGhpZ2hsaWdodC4KKyAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVy
ZVRhcERvd24oeCwgeSk7CisgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmRpc3BsYXkoKTsKKwor
ICAgICAgICAvLyBHZW5lcmF0ZSBsb25nIHByZXNzIC4uLiB0aGlzIHNob3VsZCBjYW5jZWwgaGln
aGxpZ2h0LgorICAgICAgICBldmVudFNlbmRlci5nZXN0dXJlTG9uZ1ByZXNzKHgsIHkpOworICAg
ICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LnRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOyB9LCAwKTsKKyAgICB9IGVsc2UgeworICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0
IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiIpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJl
cy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi1leHBlY3RlZC5wbmcgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9j
b21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi1l
eHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJmOTIzMDcxZWVkZjc2NGE0NGZiMjAwODE1NGQ1NmNl
MzBlOTk3YwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNjg4NQp6Y21lSTFYSC0qWng1cVEwSTJQ
cGNUMksmfTBTRUNfbmpsNCpqdl57YjIyZ19aQjFFS1FMViVFakJzej9NKVVoQisKejI/flAmREZH
Pj1DOCFfX0xPPyhXRXJ9M21EVEkoaFA0WFZeZGhlJXV6dWs0JG5zdHwtdmV1SnhQV0lYUnxOcmcl
CnpKaH1naWk8OFB1amghRzZOYWZQU15LS3hKKGhuZmU3U0hkdTA0d3xWP0xQezk5RSktRWowd0lL
NSomXypqUlhhbwp6LVY4UTN3K0lYfDMkLSNlMkAwe2tkRDFlKD81NFNpblJURnJtNj0pWWl3aE1Y
a091UDdgTG95Sl5aNSpIYGdPXigKekheU3t8RERVbGNETTl0dT5aKCU9US02IUNfNmk+RVklSDYm
OWA0KDQkQCNURG0oeThrdGpWWip7JkZuemxFIV97CnpeNlRZY3pTKXNDVDhlXnY5RFJUNEVHcXI8
QkhlSkM7ZW9WZXdgQWxqUGJZYHNIJUlMYW5MUWhgbklRaW0yaHJhbgp6Sz12SjRNYkRXP2tFaU5f
SyE0VHRHcXBqV0d5WnpqQWtmMWRDcVE+QFpyS0k7O258eGxwb3t3ZFBuSV5NQGpYdUwKemZzbVJB
LXdObCRHLW05WCF6UU5zMVAkVU18MUpvbTZLU2AqQjRAaDl2Qm0mdGZNR095bDEmY20kKHFfNUpr
OFlKCnoxekopWVhAe3hWOXxGJjJ2ZkdQUSE3OEJEMEleQitgWEV4ZFd4bX5BMzFvbEo0eXpwQW5O
RGNVRjcwdGAtanJ0QQp6T25iOWxRS3B0Plk2OHlzcGNlPi00dUgtV1llIzNmZ0VRUCs/I3BHdG8j
e19hXzJQSWJfamEtSTNRSmdvM1U7TU0KeklHWUZPUj5GbnY7WSk5UVMoT2xvbiglWEM0VjxtNXIy
JCRwcjRRKjBuTUJ7TFlxKzQwM2s9N1FFVVVGSTJkeihyCnpjbmFKX2RObnhOXnY4MzB4KShCMXYy
b0E/SWxmTyQ4aTRNZyhkIz0jOTUmQm8rKUdwKl9HNDxvREF9IztTZDgkNgp6N1U7fWc+Nk9VViln
VzhSd1RSTEd6emZ5ayVpWDNTbStRen56aW9xMC0+PjtLYUpTfEd5a2JSMmJhPTAlK0t+dEEKelRv
bnEzTnNIX0laZyp2XzNLVz9Ue3xxSjdeaiRfTi1+YD4tektqJiRidSNUdzgjTypKRDwrZT5ecytp
aWF1IWR8CnpKRjM0byM7TWBnLVNnb1dAXyY3WURjfG9uaUE3ZDspYFRsU3BpOXkjMGZzJllTP2VD
V0hoaWxieX4lP0RBI0JwfAp6aiFzVD5ic2dEfE1YeHlyZ18oPUp3UzN1X0pxQmVyYkEjVThYX1N0
flp3ZTJaPkJ+OCFwIWNjcXQ1WiljNDJfeUAKeigjYHk2OCNCaTJlbXFYI2h7MF5+UylIMSZqI2lY
bFM0RDxxQGFtRzRzUTJrUyhlRkZaR2lrNWxwTDVHUyFTZiRJCnpVbXd2JTljaFQxczZWM0huU3Be
N0Flcn10P0JGK2RaYmZFMSZ8e0I+PiorbyolMFAqeGxRZ0hINHIkclBHNFcjagp6SSZwPCFDRzBx
OFluNXF4KGpwUUtFMGA8SFFta2VAd1lCIzAxfEYpZHtYT1hVNkZicTQ1Zz09Y3MtMkBYTFFESyEK
ek9VNkR8WmEweWduRmNNKWM7dTJnKF5GZz1Pbi1NWj87bGllaGBxPG0qJXNVSFMhMEthb2RvREIr
TXBrWDMyUiVxCnpAKG5nZ2FvV1lNZWp4Yz1teVFtZkZPJihvX0pUVmdaTyEzUlhTWSt4P3xPXntR
YUdlQylmKk9obzM8QzY5QHN2Twp6bXFXPl8tKz98Ql8kaG0rbHwhNylTTkxmOzNZcFdpeWtQJExz
O0gxJWwyaGQwSGNHfFB2azJvZ1kpVUxwSnlDeGEKelVQZlEtIWwmekhQMVl9ITc2KX1kOUJuV0ot
V31xJXJaOFJIZG1QZTl2IXZVTCpDbEZkMXFDJnNTOGJRaDk3YkZMCnpxQHp8NypqYDF4KyNqNWNW
Pkg2KUVkcmAkV3VAdF8wayNZSGJTMk9jRjYzSTA+cmlOQ1pfMnVaaT56c0d4fjQxVwp6JVVgUTRa
RHx2KnRlUmw8R3BNZF5sRkVkeyNOKyVWK15ORT1vLTI4Qzdkfj5zR3xWbDZwJl48RER3JSV4JnxI
Q2YKejtwK01HOWV8ZWplRThkS0BEODw4bmIqdGtpcSQhTUNaTikpb15YNDhodXttWE9Gd1RlPWFg
MEcwbzNHIWlKWmg/Cnp0YHVza3VgJmJ9Nz1VeEgjNzVRVjJ3THVGVF5QaDlIbT1oZl9NVDRgcCE7
TyEmSUVpMXE3MWFaUyhtcW9DciVuKgp6Tz59bHt1U25+Tzsmb2VwMlFwWmdZU1hue1U9YjJAM0ct
YCM2WFZtKnBoMnxVY147N01wdmd3N25hMmxoOHxRMyMKejVmUytmPFlXKmlwLSFeMnc8MENwVHN0
ellLfmlJbkpjQWluSSo1eG5qSmNpUE95MGliPmpreXxSIWhWQkh4QzFfCnolYCZ+YTRmTXdxQWNQ
fShKd2MlRXRwRj1keyV3e2psSjU/YXNMOSZzVGElNk87azw7WVVIPGNvVXl1e3FAZzA4Uwp6UlA0
cmVpMGBTT2p1YlYkM3pQQmUzfH1UKytBJVYqSWJXUCpxIXxERmokZHx6Oz9HWEJYdUsoIT4oe1l+
aT1kSkoKemQzM1pBTypDYVZhaXRxZTMxaVlqSS0+PjMyXmFVPHtYPm5sKWB4Nn1WdEFvX19xfjUm
PXZfciE9Y0hKUEtjMigxCnpQR21LT1MyY3lvSGBnPlJBe3RraW1ATTFuemw7UmhhaWY3NTswT3hN
KipoQ3dpSlRmRngpMWRnKmM5VUJZYmw8cwp6QHhufGtuX08xKVRrLUx1cWxQUWN0STNDPlEtJlV2
UFopYlhoakFoTTk5M1dRbyg1OzRxKz9LVEZFM3JkNn1+b08KeilxKEF3JUd9a0J7Y0xaMmRge3B1
TThoeUtrNXF7UiNaR09+QG8qKk8tS0FAYkJiREJvZ2A/PWFvSWRhWlUwRlM5CnpWWHk/e2p1Skdz
WTxTcUl5ITV3eiVqQ19tZCY3P1B0Y3lDMS1PRm5GLVFuXnBnKUspNEUtZjshaCNXVk1uZzN8aQp6
Z09fcHJicjhMI2o2RyUxQkpHSVJFclFUOGBeen4kJHU/RzRPJGNiQm93PEZEI0RZWkUhSSlwc152
QHdeSDhWWTAKel9JdWpkcWhTZHFtWSY5dlhOcTRJR1Z+UjtWR3JHUj5PZTdeQTZNdnBuOCoqMGp+
Tjtva3tOTnt0cVM8PmNgeiNLCnp1Um5lcUI3I1l7dCNnfXomckApK2JwVWZId1ZJSGdDJEkjej1E
RFFaJiNkNDw3en5DK1lsKDBoYEp6X05zIVhzYgp6VTU8cjk9ZXx9cVZSZ3kxX3lQbVh0eURRK1Zh
Q2h0O2A0WUZJUXVmOGxHe3Z9TS0oJXBwbENZcFJ0NXYhcjNKTEwKekxuWi1sMCtZMllwbmRyJTBH
cEckdlVDKmZJYFhCQGlLK3ghUlBfMH1gZypLZlJIJFMxPipzc3dldlFGaG5QflNhCnpxXzJpU2VA
VjxvbVJ3M2NTYGcjcj9BJjhXb14pJlMwenowSTdXIUVhRGV0V3l4T1A3Uitna158YCgwXnwpI3NP
YQp6UUxsWFBpPDM+bzdjdytWZ0YzUXM7XkxJfUZBdG45WiRIZmBFIUdWaHVMfjwtUnIkNncld0Rl
fElMOUQyaEZrQlUKenRzaXBBSnojYUJTKD5IO1pkMU0/enpabFYoJCFSUmB7OXNicXt9MEFoMj5q
aWMzNT0oQFhAdiZ0aGVCSihmWT96CnpaQUtxN1NjWWQ8cEVkKzFKcEBOfEw7REdvQ2BOTyM0c1B8
MmI5O2BaMjdNfVpvZi1EPl43NSRnRz0odStiRGM7Jgp6QCRkSVRDUyZRby1WRzZgYDRgRTNyQDBt
QUpvK1M5PGl1TkVPeD1Je0wlRDMkdmg3JEtidCp9ZHg8VX58R0YjWEIKell5YEhgRFM4P3dCQkRv
Q154YV4paHVOaDMqK29BWk44JXRVMTZUU3FNUT0jP1VefmdEazF4KXA2PE4oY1B0PXtoCnp5SXRG
V0J4PnIlRSlwPHszLWp8JnRyNE47Y1djYD1HOVBRRTZOTnQ9ciMhWDhOR0QpemM2aitGO0w+WVJe
fHl5Iwp6IUVtQ3krRUFLVFpSa31wMD8ySGJMJj5vZHs/eUdzQUd0SU9zMmk3aTNOZWRLI0BHZXRh
QyNNMUptOGU5cUFCZ3oKejMqUDVnNlVRRyVealNsSjNfN3wtdSY5KiFgZy13Slpgdl9QZjY0ciF2
PmRmZDVgQVBDUWFPN3wyZzlwemNkPyM5Cnp3cnd6KVc0Vl9oMnFmdHVuYl88bURIIUA8Ump3WHFM
KHBJRzVxKklXa354PSNaRE1Hb3dCQFI9Y2BtRllaWWRXQgp6YiFCUjhATV4pWGB8PlBkTSNoSk1h
c2lUZmpvcHcmdCQzZz4qV0NuVTRjS0ZDI1k1eTIoYn5TdTFzcUU5Q1JnPHwKem9LbTsyPUlMajd1
UWo3elcpSmJPMHM5QGxZSkRRQWgySUZZVWo9P0V3ZFhkVmBlUVAhd3k+ZD5KTkR8RUtWNG9fCnpf
Q09oQlojVHBxe0RzTXgmNGJ4WE19eG0mV1JeRzxhPXx4fklXbDRxSHUmY3R4NkdZYjx5bGlDVUkm
VkcwJFd+Ywp6a2xKSV42NEN3ZUNyNExYblJwMXxrQnY/SUAzfG5sNmZ7U1N5Jm1MQnhPQl9MN0xN
LSZxZ1VZQTV7P2JBOCpWYGUKenBiNT5KPTVoaFdDODx6I3xFY09MO3VkWDJ2MEp2eUtheGZTPzYw
Mj1uRTg7Yz9pV0F4KUhJbFludGolWihYeyRDCnpLKGNjPGtHe2RDY0kjTyUxSl9+fGEjPWFLdlo9
WnwmPU5JUzZjYFlANXY0VERaQ2lTYD4oTm0jITVUNjlJOzRsZwp6bXAqaGhZTGMmV1pCQ3pGMVhe
fENwM3xqdSl3N1MwbWVyfUo1b0pEQjclOSkkbXtSeGwmKnU1SzNsan5JJEw7Uj4Kej8wYipmO0xg
Xk5UK3VTJW8rbjReWncoWUozPSEyRztSQkI5aEpMTSRVIU1AKFMwZHk/TDxjeXNpX1E1e3htLVlq
CnpAeGM4T2ktcChLT3hnXygoS1d+YClTUzZsVSkwZ2pfJUFBUFpiMEZxTSlAKiM5M3d1QyEzNWtA
dEc9Y0RpeDMhZAp6PzllZjZpV1lKYkswfGtxRXI3WF5PZz9LUUJnKyQhVHVATGpMb2IxS3EjcmFi
VEpQSFYkIUdMU3dJPXdfKkBNIVUKemZRJjxDRlUxYyEwaXBaQyRpQGAwVFg7RDRgUHN6STN7NyZ0
K3VzSj88Kz99TlJ9Km1TMyt5WmhEJH1SPU1FPEdwCnpreUNWXnB+LXpNZyMmNUUpY0FLaGp5e0c4
TVRMcjFGYEFacGlkWWNtZ3tsWUMwVDMoTztoQk1rLSVLdXwwPkRWaQp6U0J3fXJrKCZESSFpRWtR
ZFI7P1AwXjVfOEJSdm9ZN3xLXl4/IUlOUzF3Kn03RWQ+RSljZHNMa28md2Aka3tDPmYKejhGfmhr
JlN6ezkrZm1TZVE0Q1Z3cj5RJTJrWl9YbnpQYFN9Y2h9MjM5NkxDfTwkQXptYVl7YEhqSU9PZm5i
Y2dACno+OzJuc2hgQnlIVVVmU1l5VGFnTHp0Iz14QVFNOSFIcFdzYG12aDxAPSlUQzxuM3pjbmZV
LSNoSVA0eVdjSEh0PAp6eElBVDhwZEo3RD95ZHRUSmxrK0ctZEw/KFExNFN5SFRkaV5zRjY9JmIh
fX5KV280IUtJaD1DdT5Za1JLaG5DRUUKelZBPyUjMUs+X2MpOD4+YXpTTnAjbHhPSzdkZ3NfLUJX
TjhPOEVIVUVJS1lvJTNiRTMkUnVtJFA+YGpnYEIjRyl0CnpTVXh+ZlJ4MyZiWHNwangpVGBgWGg0
VEg3RVNDeEpJJStuXiNlfXQpOTNyPy1FK09HNXdtRX58Q0VvS2lPVil7awp6ezZWYXclUnclalY5
RGJFPFYpIU90bGxmLSgweXY+bEswNUUhTU1TSmZkTThIQ3cjQiZrN1VHX1dXJDtsVUxMUCUKem9O
ayZVVjdRZkpxcWZjRTg/flg/RH5MczQxKSE0dSs2VHg3PWk0cSM2PkFmdVM7SjJ+NTNjI3c9TjE8
TGw/RUV3CnpTS1ZmMlcpNUNqNiUhcU41ZUg2QEV9SCFoSUFXNUFBSDcxKGJIPVhZLWRhJC0/QC1H
dVY/N1glPzZ5aSZXNkcqOQp6M3FMdEhjb09KdDlJUSo4MV48ckg5JCtgcGx+eSNgMnhrTFB3Nkpn
K1M5OHQ3KXxPe3hXWFE0Qj10ckVJU1dFezgKemlDOz84Knt5WTJ5dm9qayFDPTVCI01AakdyNEBN
czZnfnZhSHdBYGBPT055IUshcjxBZyZQNDQhMXFhdndleFVyCnpEWEpTQ2NhPll8MDY2bzxiNGdk
OG9lWXQhT1BxQUQ7JXRjRDRYPiVDYzIjNE5TdUUkJWE/KnlOTyVYfEVjKSZobgp6a2VvfXRRJk44
SClqRz4/cWcwRSo/cTNCblNscHA8dHNmdjNmUlkjV158NVUtWGBVNSlJI0pjJHZxXyRCamt2Nk0K
eiRwaCswQHt4MU9OZip2OXRQdm1QeD5wZkcyTj9mcD8zcyhOTk00aXk+Z0lBITthVkAkZXl0bTk8
WFFjPnZeYkwhCnpaSzJgK0FrXmpHS3BWKm1OYz1hQG1aX0MxYCgzZn49LVQ1SFpfenhVd3swSmhZ
bz48MEIjMGo+Z2c7Klkpbnc7Kwp6bFQ4UjxnYVc/UigkZDBVZD1mP19kPmJPSGY2eDNPTUorVjBl
R0ZSMlVeMy1FNkh8OHR3IUB3R2NCdkJwMzFUcTYKekJ5MUpgKk9oblFNPlBWcjV3d2M+K0VwREFL
RUpzT2FMPXpQSSVLQjVeTE87UnZ8eHd+LTdaZHRzY2l1cjUkKlV9CnpqbzUkSihmP2FxLSg+USkr
Pj9HMjx+THp9Nlh4SU5qT2QjbXw4TTskRWRjZyFPbD45NTg2Nj5Ub15HMSg4KnBJZwpnXjFuSlQr
O0RKRzVpek1oUWAzT3x0dzVJP1VDdmtpOVByen0wTUhYNDI+PHs5CgpsaXRlcmFsIDAKSGNtVj9k
MDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9w
bGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhp
Z2hsaWdodC1zaW1wbGUtY2FuY2VsMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0
dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzVkNzI4YmQ3NDE5OGZhZTYyMDk3MzcwMjU0YzI5YTRiYjZiM2VjYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L3BsYXRmb3Jt
L2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVzL2dlc3R1cmUtdGFwSGlnaGxpZ2h0
LXNpbXBsZS1jYW5jZWwyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK1RhcmdldCBMaW5r
LgorVGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgIlRhcmdldCBMaW5rIiBhYm92ZSBpcyBjb3Zl
cmVkIGluIGEgZ3JlZW4gcmVjdGFuZ2xlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0tbGludXgvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2Vz
dHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWxvbmdQcmVzcy1leHBlY3RlZC5wbmcg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1s
aW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtbG9u
Z1ByZXNzLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTVmYWFhYWFhMWY0YTk4OTkxODA2MmU5
M2ZmYjJiNmU4MzBkNjYzCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA2MTMyCnpjbWVITGAmKDAy
eTUzNEZ3R01DYHRIXnlpS0J0VjIweEJUKWFIZHF6cF4meXJCKzRacWEqZEU7NDFfPlB0cU42JAp6
ajUxMD1BZitoT0tvWUtANSl1VDJVQD00XzdhJXR6VHI/cXNUVyo5VFhWWkQrRkYzIVApNkBPU2V4
Q0tMeX16fkkKej98dDhJdD8kK3NRUTxacEkoYFRNZlgmJTZwTTM9WVIofUczbyR3RUtmK1BEcytW
MmomNHFyVjV6bll3JGw4aSlTCnp2VmYhe3pmfHZ9T01XSztqKEh6WEokfns7TzB4R1FaKmJKeD1j
NTFkbE5heWRLM1cwKmB7Sntve3FedEk4a0dkdQp6IXFlMlVTSml2PjIweEQkNEklM3ZVQjNVKjdy
ZmhGe15MPXhwZU1Vc1drdC1VVzBKKl4lZGVOTDxkbm09aDlgWTgKejkkWT9qPFAxTiheQmkld2F+
TSFxQXV9dUU4KmIkQzZINWg3QS04WW1je1VBSDtnMm4wYWo5ZCtvRlVqSnczelE0CnpFYkVyfClD
RSNhY1VvfjlaOU0lVzAwPVBSY31AVkprMnVyezAwWndHMFJIUnlYRkd1cF9RMyVsWTNDbGBQb0Yz
NQp6MEItQykzVmRfeStXV3dOZURaJk8oaj9aWm5UQzI5PlVMK2opSEJZMTtvMUVvJUNgLT1jTEx4
Vz11QFdOTXpCQUkKel92I0JATTtNSEZJIWwmTmlLdj92RVVVIWwlUnxuPXhebEJybGdCcnU7alJ3
b25MYVp6WXFIaE9aeD5MZyhEK3YwCno+fSpRcVFoa3dgaTllOVpHKm5DfikwRkUwe3tqbEI2Mz5o
bmJaQENgZjNWQHR5KGtGJjVjblpZWnFwTF9GcXdPIwp6REd3Un4+cXY5QUxXJnl6ME1+KG4lb1I7
VWBsM0BLWXYyPSZ7UHErV3RUeyRfb1h4YHNgQUhARy1oM0VMREhJLVYKejt5cFR4az48UGd2Yipz
R3dTKiMjUEFHb0xrZDZjYCl7eDA4Ui1rYnlBcUxTIVBVVVBTajtFMCooTk1+QFladXlQCnp4bHZC
OClLakdwOSskV1NBbFZ1aHtOVWNIeWhHKUB5V3MrWUNDfGk+QGUwKVpgVnMrPiMlSm1UR0x3WGdV
S3BkTwp6QGlkbCFiRHtrYXdZU3xpeFJzdHdpU1ZLWHBjUGBZdmM1ITdqWn5QOEwwbm5OSjk2T0sy
K2xCez42MHNnX2pIPXkKenhHNHpjQ2lBTUJ2UCVkI3NDZ1pNblpKKF89VilyeHkhdyk1UlJzWDdT
aFEySUheUmErNkN9YWZkez1oN3VjSGdaCno7RkkjVkVOTlZZeU81c2NpO19+SSpeIzZLQyVAJnVg
bzJFO1dlMnBgR1hmPGB1eSp5d2puQFZ0RXY3dWx2YSklOAp6UkpvfkM3Q1J7KFJjSUEkUnpUO0pB
OEljKEhmRTIjVT94JEwhPUBncF89RV5xe0J9Pn5pK2peT1VDUnR3MHY7cG0KejdiWX5IUDhPMDw8
QjVaRkZJKjFQOSglKGJuYCZ6fjtROTkkOzJFbkd3TnRzJnA9PTdKOUhJVWNYNnZ3Q0xvaWZjCnpW
RF58NUd7eDtCM2M0dVFDMElMWTdwMCUjWU94WjhyQUxeJCotZEQ2QFhsUEY0TjJHdUI8NSo3VE9F
bFA3PDk1Pwp6bTVzI2V1Z2cpclV4TjdxbXhNI0F4KUU2LXh7fXllVXZEPVNwY0Q1ZnNuY3t5VH5X
YE5mM21ST283KW5ie2xwX3kKekYmM29NaXQ9MjwxUGdCTlpuYnlRYGZGfHwwQGo2MkdwUXx0b0F2
XmsxPCYwMDNkV0R7UXVRRmVaWTMrYEUxU3RECnp2cz4mREVvOXZNe1R9X1M8SDRWclkwfkMyMFFp
OTsjcVVEJFdQUWo7NGFzc3xXPSFESiNvSXlQPngpOH1JbT19MQp6aS1BUndTantOMXFIe3Q0KHAj
dnlaY0RjNCVRdT97PFVBUT1vbEFvP1hLSSZ2KjJlLUJLYXQ3bSFsclo3bVYpSWMKejZIcXR3eVQp
N2xrbi1XY3JQZ3RfNlZaMGomay1YaFlQZ29UKGdYWnotITJUJjFIUkojMDA0JU10YlZNXiFPcV5v
CnpuS2JlSm8jP2E+IXpCKFcpTkJ7TzExUExuM0xWUWEmTjNQeDVMeCY8XjMwQkpuOCYydCM0YTtj
clo8YngoQXExMQp6YkhPSHArOH4mT25ESkFaVlcpeml2PXV3eFMlVXNNPjdVO05eckt4VVJedHZ9
Q2k7SzFZcWpSPUl3ell2TjRlbU8KejZ0cmtSLWVkMTZXPkEqZj48Qn41NFlOXj0kZWxgd1ppPWM2
IzMrMSlhbyE1NDFreHJjUTlycG1pcGw+Wmg4bVpACnpGJj9naUBYeTNJc3s5fFpKJjBZLUt3PGko
QlhKbTh0a0p+aDREQnpxX2t6clBXM3s9dEpeMVI/dE5TcXRoNlhwJgp6K21TPSUmZnB7S0J3WWNn
Qih4Xj5YRWZFKWFUPik/c2VTMUJPWWNNS1NfcG5+bkNRZF57eHpWKVEpdFd9UysqOCsKejh+NUor
OFkoI2U3OyNLWDxrVz19YUhAVCt0Z0stQ0tZJTxscz1Eb3UhZHI3eSg9UklBJVo9PDxCcG58KEMo
anJ6CnpiS25OQXprR2djVXl3QSYkQUBSU3JHZ1lmUms9XjRQLVBCVFZtbWVKVkglMmEyTVZ7fEZQ
aUpMaF5KTjFfUnxlKgp6N15VRUZiWW9lZG5ITFMrNCVIcCY3Kk9hT3JyblZLUXd1eG9RZ3RrOFY1
fk5YQCQhfUZtUEVBQCFjVkB0YXBlTn0KekEpRVF3bH56Jnl5YWE5N3Y2M18kPDkzQ3hQP1opMUcw
YWBOY0ZpZ0s9WCYjMl42fUExRlNUMFR3PSVIRHhWZD9uCno3YFJ4MjJKTT1yVWgzZGQkdHFEZGlD
e0xFT2VYWj1uNH5vK2pReXNleE8zeUBpJCoyfmRlMnd3bXx1WCE+ZjEqPgp6Z1krfWslbCY3K1Ff
fWlhcXh9aFZOc2k+cm4+VGshc1lxRUVMb256WlAmbGB7SWZlI1ZfJiZKfnVicW05aEZ9c0MKejZO
aGZeciFiYVQjXnBuSXs0WGthUGVLaFpwdV5SS3hqKTc/Vzx2SXQ5YEkxS2kjI2l6WiklaiNmY2J4
KHRAeHhpCnpQbnNXO3lMMXFGI2BwbHw3OV94WTFAbl8hb3BAUjA/SCpPKnBFY2M/R1dyMDxIfGI7
cWFTb2RqK3I2eHBteT1HVQp6e05qPSk5dUcjaCRiRS1QcjRhT2JLPHsjbyhsJShSSEdoNDl6dzgr
V0slT2BqUTFKSzI3a2FMfmR4JkJeMXR+Q1MKejd1cXxYP3dzPntGSilyYXUzZEVuJVRLcDY/LUp2
ZHpqODBhXlhkRzlTVU82XiVIKSQjZz50ODQ4P2BARmVkSkQkCno/JilHM3ZSMkVHbld6fH1iKlI0
SWotVmR8ZU45cmgmT3ZPPStCMk0mYXp5ZDJCaytRQm5Qc0c4WUNhemgjJDRiJAp6MWJHflFRU2NV
NCFgPCozTlE3fTNnd2l+Ny1MN2NDbmBEXnhCMX1RKDBaR1ZQWkg8e3k8N314eyFxQCVwTT81JD4K
eil0TTJeZSRvXjdNfSZFOzY0aHRZZGNATT5Gbmt5Y0dqcSo0KlpEUTthWlh2NT94dDdhbzE2OXRT
Y14kViZAPnw9Cnp0ND0leXd9eUxMNTlfKShiaH0kdFdaWWdRJGJEQG9WKFo3eikhfkMpSU9FRl89
UFBHbWteKGk4IWU9MEFmV2w4egp6JkNmRVdsV29jREJCTSV9P25CUUsyP0RWJWtGIzZnWkw9V2VH
UyVnWSN6XkdOTDt9R0E5fUZeSVFzOVN7X3RDU3QKei15ZkhBe0FBOSliYX1zUHc/eTdeMi1PfD5g
bVNBdmU3ek5LKVpYPDlTOEJnfmY2cTM7MyN4N080Y2Upe2E0S1JXCnolNndyazQrTHVxT2Q/XmFq
WG13fChBOW1YQC15KUZVfSNYdTAhbk9vKERLaTEjaHNgTz1qNVBpN1QjIyVDO29iMQp6eDRSRV9z
eSRfTnEoVnJJRldgTHtqdFAoK2wlR1A4XjVAVyNKayN1Wkd5NWBTTVJ0TjR5WjA1QmxyKDNxJkFw
JnAKejJSVU5fYX49I2o1YT5jei1PU1RTVEd6P3h0dG8rVk1IO2h8R2VDNm1iMWh1eVhLcDh1OEVP
fF9SYHxWM1dWTyF8CnpPdUBqNy00cyFJaCEoIUNJfVhFKTF1UystYEhKQEVATXN3U2ohViExJnA3
UHN2K2s8Z0teTCFFM3A1cnpUWXs2fQp6Yjw5bWdiRnhpXz82djxlSis/YnJHSGBRYHdZN0NEJUFu
RWQlN2NAfVk2ODRpYGlxdFNxVWAjfVYoWn42NCF9eFYKemhtSShLb1lreXxEb2IyKD43YnVUKHRf
VUgqbXQyRCNaYn1QaXB3PkIhTnMtN1p3dzkmUWJiezRWWl90UHBzdXpoCno8NGdWKGViY3E4O3hL
bDJwdWsmUEclekFedWxhZilMP0BvO1dvQXE/UEMhR01sfnMpMWM5MipHdiN3ODtWPG9YWgp6PX00
NUJ3Y1lFQlR2QmxVVEZkemtTTTFFU2d5SlI2PGQ+O3FISE03fHNHbFF8XlUkdzYqWj9KTE16M3Am
WkpaWHkKellERmUyK2FCTGlDRE9oNjc0UzQjKFJGXmhrQU5CPDNvOCNiVzBrdTFJRj8yP1hYaDRq
PGluRk5LNGBLQytgR3IqCnpPbWhjbEtGYlZzLU5+JEprYjZTTkIzSjx8cGlfZSlaejdMQD9pcmk/
NnFMQ0tYYSRSXlprYVQ9OTxMd3kqbj4lJQp6RUspQipiV2czcDF5WmBEcHAtTFVvU0p8UkB8ZUg4
dGktSmQzcUdiejRQeF9rV3AhRl5AVDhtYD9sU2RyUEJQNTIKejtNZURYd0J4WVgqckRiJmBKbDZK
QDRSNz1na21+LV49KH4yKSsxPzVFdldlSUR1Y2psX0AkbWI9YFpnNlhUdlZ+CnoxRWp9ejR0WmhK
XnZlLWlUO2J7dlgjWCg/SmpVcVZEfmd5RXFxJDVhbD5zdFUzdH5qZDhGckFBbCE/RG1DbkwrMAp6
a0h9SWljbzxMJD9RQ3RPSTMpIXY3bD9IZW83fVV0SFZSVGgoJTt7JkY0OGU3NkwxO0l0dmw9Pik/
MWFnVSl+OUAKelV7cTYjTCVXfjNeUUZBPT4/ZnpxTmNLRWdHMzxuTEs2bnNMemtKP1V2ekA5Pzt9
alJOQGUwaG45UH4/cnBxcXR4Cnp3IV52eEpZd2AmT3pQUDZhITFJT0dlJjdIMTliNkZeSjtuMT1U
JlI+WEB4MCsjV3ZnQ15VTTdzUFE+QkgkY0hTbQp6aDZiJCpIYXk9ND9iUWZrQU8wSU8yaEd0Z2It
Z0AtRSlzVWlONV59U3B3PjhqN09YSG5Qbyo4b0JKMzV9b3dUcnwKektifFZCQ2kkcFlDM21nQ1RL
SDtIYy09TkllTk5eZVJ6PX5RTEY7fjw/KEBKaWVwKTZZdGk1cFcwfFQmSzN6aTtOCnpDUVIhc2Jg
TC1pS3AmbnxmZntyJXp5bj4/YFg5VHdWKTR0M2NOMmBiQjlNekhMSTl3QHc4fTNuZHxuNGBPbyQr
dQp6SyRMMForTXFuSnlqNSheej9Xc25oXnApc0ZZI0t8Vl87Knp2USQrKmN8TlZTRGB+Sjg8U1dT
OVozZXc1YWYydloKekl2X1hOOyhjV0IhdWs2I3hMe2tMO2UoQClpXjRjRzJsVENBe05ASCZkY2FU
QXBvZ2E4UTxNLUYoR2Q3dTAqciRhCnpEZHpvd3ZSUldZY3BkRVB8MURuPWY3X1NmLSpAKkw/e2ZU
fTtOS0pjVGtxdWsmaGhfJDk5SSRldW95aEEwQmwoQQpyUz5AQTt5MCYoS0o/ZzBjTDYzVVV2ZzM+
IV90TkxZJCNKbGE1MWMmfV4lP2NrI0JjdV9wKXx3NwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvcGxhdGZvcm0v
Y2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2VzdHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQt
c2ltcGxlLWxvbmdQcmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9n
ZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtbG9uZ1ByZXNzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zMDA3NGNlM2RkNGVhZjNiODRhZGJlOGIzYmIwMDJjNjU0N2U5NmFjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvcGxhdGZvcm0vY2hy
b21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2VzdHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2lt
cGxlLWxvbmdQcmVzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitUYXJnZXQgTGluay4K
K1RoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIG5vIGxpbmsgaGlnaGxpZ2h0IGFwcGVhcnMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167351</attachid>
            <date>2012-10-05 11:03:01 -0700</date>
            <delta_ts>2012-10-05 12:05:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97355-20121005140209.patch</filename>
            <type>text/plain</type>
            <size>24358</size>
            <attacher name="W. James MacLean">wjmaclean</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGJlNjQ3MzM2N2ZhMWNjZTkwNmEwNTljYWJiNDI0NDkzY2MxNTgwNTEuLjE2YjE3MjVjODczOTQ2
MDdlNWI4YjU0NDVhMzIxZTllODdmMzdjYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTItMTAtMDUgIFcuIEphbWVzIE1hY0xlYW4gIDx3am1hY2xlYW5A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTW9kaWZ5IGdlc3R1cmUgaGlnaGxp
Z2h0IGJlaGF2aW91ci4gQ2FuY2VsIG9uIEdlc3R1cmVMb25nUHJlc3MgYW5kIGFuaW1hdGUgb24g
R2VzdHVyZVRhcENhbmNlbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk3MzU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyBwYXRjaCByZXZpc2VzIHRoZSBiZWhhdmlvdXIgb2YgR2VzdHVyZVRhcERv
d24gaGlnaGxpZ2h0aW5nIHNvIHRoYXQgdGhlIGhpZ2hsaWdodCBzaG91bGQgZGlzYXBwZWFyIGlm
CisgICAgICAgIGludGVycnVwdGVkIGJ5IEdlc3R1cmVUYXAsIGFuZCBhbmltYXRlIGF3YXkgaWYg
aW50ZXJydXB0ZWQgYnkgR2VzdHVyZVRhcENhbmNlbC4KKworCisgICAgICAgICogc3JjL0xpbmtI
aWdobGlnaHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpMaW5rSGlnaGxpZ2h0OjpMaW5rSGlnaGxp
Z2h0KToKKyAgICAgICAgKFdlYktpdDo6TGlua0hpZ2hsaWdodDo6c3RhcnRIaWdobGlnaHRBbmlt
YXRpb25JZk5lZWRlZCk6CisgICAgICAgICogc3JjL0xpbmtIaWdobGlnaHQuaDoKKyAgICAgICAg
KExpbmtIaWdobGlnaHQpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJWaWV3SW1wbDo6ZW5hYmxlVG91Y2hIaWdobGlnaHQpOgorCiAyMDEyLTEwLTA0ICBL
ZW5pY2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbV2ViU29j
a2V0XSBFeHRlbnNpb25QYXJzZXIgc2hvdWxkIGhhdmUgaXRzIG93biBmaWxlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9MaW5rSGlnaGxpZ2h0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0xpbmtIaWdobGlnaHQuY3BwCmluZGV4IDFlNzI5MDBjNGJiNjM0
OTJkODFmOWI1NGM3ZTMzMTcxOWM2NWViNDYuLjNmODAwMDdmN2U0OGIwYWU4MjI4ZDFmNTMzYTAx
NzdjZTA1ZDFhOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xpbmtI
aWdobGlnaHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xpbmtIaWdobGln
aHQuY3BwCkBAIC02NSw2ICs2NSw3IEBAIExpbmtIaWdobGlnaHQ6OkxpbmtIaWdobGlnaHQoTm9k
ZSogbm9kZSwgV2ViVmlld0ltcGwqIG93bmluZ1dlYlZpZXdJbXBsKQogICAgICwgbV9vd25pbmdX
ZWJWaWV3SW1wbChvd25pbmdXZWJWaWV3SW1wbCkKICAgICAsIG1fY3VycmVudEdyYXBoaWNzTGF5
ZXIoMCkKICAgICAsIG1fZ2VvbWV0cnlOZWVkc1VwZGF0ZShmYWxzZSkKKyAgICAsIG1faXNBbmlt
YXRpbmcoZmFsc2UpCiB7CiAgICAgQVNTRVJUKG1fbm9kZSk7CiAgICAgQVNTRVJUKG93bmluZ1dl
YlZpZXdJbXBsKTsKQEAgLTczLDEyICs3NCwxMSBAQCBMaW5rSGlnaGxpZ2h0OjpMaW5rSGlnaGxp
Z2h0KE5vZGUqIG5vZGUsIFdlYlZpZXdJbXBsKiBvd25pbmdXZWJWaWV3SW1wbCkKICAgICBtX2Ns
aXBMYXllciA9IGFkb3B0UHRyKGNvbXBvc2l0b3JTdXBwb3J0LT5jcmVhdGVMYXllcigpKTsKICAg
ICBtX2NsaXBMYXllci0+c2V0QW5jaG9yUG9pbnQoV2ViRmxvYXRQb2ludCgpKTsKICAgICBtX2Ns
aXBMYXllci0+YWRkQ2hpbGQobV9jb250ZW50TGF5ZXItPmxheWVyKCkpOwotICAgIG1fY29udGVu
dExheWVyLT5sYXllcigpLT5zZXREcmF3c0NvbnRlbnQoZmFsc2UpOwotCi0gICAgLy8gV2UgZG9u
J3Qgd2FudCB0byBzaG93IHRoZSBoaWdobGlnaHQgdW50aWwgc3RhcnRBbmltYXRpb24gaXMgY2Fs
bGVkLCBldmVuIHRob3VnaCB0aGUgaGlnaGxpZ2h0Ci0gICAgLy8gbGF5ZXIgbWF5IGJlIGFkZGVk
IHRvIHRoZSB0cmVlIGltbWVkaWF0ZWx5LgotICAgIG1fY29udGVudExheWVyLT5sYXllcigpLT5z
ZXRPcGFjaXR5KDApOwogICAgIG1fY29udGVudExheWVyLT5sYXllcigpLT5zZXRBbmltYXRpb25E
ZWxlZ2F0ZSh0aGlzKTsKKyAgICBtX2NvbnRlbnRMYXllci0+bGF5ZXIoKS0+c2V0RHJhd3NDb250
ZW50KHRydWUpOworICAgIG1fY29udGVudExheWVyLT5sYXllcigpLT5zZXRPcGFjaXR5KDEpOwor
ICAgIG1fZ2VvbWV0cnlOZWVkc1VwZGF0ZSA9IHRydWU7CisgICAgdXBkYXRlR2VvbWV0cnkoKTsK
IH0KIAogTGlua0hpZ2hsaWdodDo6fkxpbmtIaWdobGlnaHQoKQpAQCAtMTk0LDggKzE5NCwxMiBA
QCB2b2lkIExpbmtIaWdobGlnaHQ6OnBhaW50Q29udGVudHMoV2ViQ2FudmFzKiBjYW52YXMsIGNv
bnN0IFdlYlJlY3QmIHdlYkNsaXBSZWN0LAogICAgIGdjLmZpbGxQYXRoKG1fcGF0aCk7CiB9CiAK
LXZvaWQgTGlua0hpZ2hsaWdodDo6c3RhcnRIaWdobGlnaHRBbmltYXRpb24oKQordm9pZCBMaW5r
SGlnaGxpZ2h0OjpzdGFydEhpZ2hsaWdodEFuaW1hdGlvbklmTmVlZGVkKCkKIHsKKyAgICBpZiAo
bV9pc0FuaW1hdGluZykKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9pc0FuaW1hdGluZyA9IHRy
dWU7CiAgICAgY29uc3QgZmxvYXQgc3RhcnRPcGFjaXR5ID0gMTsKICAgICAvLyBGSVhNRTogU2hv
dWxkIGR1cmF0aW9uIGJlIGNvbmZpZ3VyYWJsZT8KICAgICBjb25zdCBmbG9hdCBkdXJhdGlvbiA9
IDAuMWY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9MaW5rSGlnaGxp
Z2h0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9MaW5rSGlnaGxpZ2h0LmgKaW5kZXgg
NGViNmY1OTY3YjRiYzZjNDUzOGMwOTg0N2ZmMDg4ODEzZDg4ZDk0Mi4uM2JhYzNjNzI5ZGQ4OTgy
MjkzYTY3NGVkYmZkYmI3NjVjODYxYmY3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvTGlua0hpZ2hsaWdodC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0xpbmtIaWdobGlnaHQuaApAQCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiAKICAgICBXZWJDb250
ZW50TGF5ZXIqIGNvbnRlbnRMYXllcigpOwogICAgIFdlYkxheWVyKiBjbGlwTGF5ZXIoKTsKLSAg
ICB2b2lkIHN0YXJ0SGlnaGxpZ2h0QW5pbWF0aW9uKCk7CisgICAgdm9pZCBzdGFydEhpZ2hsaWdo
dEFuaW1hdGlvbklmTmVlZGVkKCk7CiAgICAgdm9pZCB1cGRhdGVHZW9tZXRyeSgpOwogCiAgICAg
Ly8gV2ViQ29udGVudExheWVyQ2xpZW50IGltcGxlbWVudGF0aW9uLgpAQCAtOTAsNiArOTAsNyBA
QCBwcml2YXRlOgogICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogbV9jdXJyZW50
R3JhcGhpY3NMYXllcjsKIAogICAgIGJvb2wgbV9nZW9tZXRyeU5lZWRzVXBkYXRlOworICAgIGJv
b2wgbV9pc0FuaW1hdGluZzsKICAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1fZ3JhcGhpY3NMYXll
ck9mZnNldDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cAppbmRleCA5YjEzYTk2MGNiZGMzYTFkNjA1MzY4YTQ4NmQ1MjI5MDNmM2NhY2M1Li43MWQxMTQ5
YTM4MjI3YjdhNjBjNzAxY2Q2ZWNiOWM0NTZmMDhkMjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC02NTksNiArNjU5LDI5IEBAIHZvaWQgV2ViVmll
d0ltcGw6OnNjcm9sbEJ5KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBkZWx0YSkKIGJvb2wgV2Vi
Vmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50
KQogewogICAgIGJvb2wgZXZlbnRTd2FsbG93ZWQgPSBmYWxzZTsKKworICAgIC8vIEhhbmRsZSBs
aW5rIGhpZ2hsaWdodGluZyBvdXRzaWRlIHRoZSBtYWluIHN3aXRjaCB0byBhdm9pZCBnZXR0aW5n
IGxvc3QgaW4gdGhlCisgICAgLy8gY29tcGxpY2F0ZWQgc2V0IG9mIGNhc2VzIGhhbmRsZWQgYmVs
b3cuCisgICAgc3dpdGNoIChldmVudC50eXBlKSB7CisgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpH
ZXN0dXJlVGFwRG93bjoKKyAgICAgICAgLy8gUXVldWUgYSBoaWdobGlnaHQgYW5pbWF0aW9uLCB0
aGVuIGhhbmQgb2ZmIHRvIHJlZ3VsYXIgaGFuZGxlci4KKyNpZiBPUyhMSU5VWCkKKyAgICAgICAg
aWYgKHNldHRpbmdzSW1wbCgpLT5nZXN0dXJlVGFwSGlnaGxpZ2h0RW5hYmxlZCgpKQorICAgICAg
ICAgICAgZW5hYmxlVG91Y2hIaWdobGlnaHQoSW50UG9pbnQoZXZlbnQueCwgZXZlbnQueSkpOwor
I2VuZGlmCisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRh
cENhbmNlbDoKKyAgICAgICAgaWYgKG1fbGlua0hpZ2hsaWdodCkKKyAgICAgICAgICAgIG1fbGlu
a0hpZ2hsaWdodC0+c3RhcnRIaWdobGlnaHRBbmltYXRpb25JZk5lZWRlZCgpOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVUYXA6CisgICAgICAgIC8vIElm
IGEgbGluayBoaWdobGlnaHQgaXMgYWN0aXZlLCBraWxsIGl0LgorICAgICAgICBtX2xpbmtIaWdo
bGlnaHQuY2xlYXIoKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJl
YWs7CisgICAgfQorCiAgICAgc3dpdGNoIChldmVudC50eXBlKSB7CiAgICAgY2FzZSBXZWJJbnB1
dEV2ZW50OjpHZXN0dXJlRmxpbmdTdGFydDogewogICAgICAgICBtX2NsaWVudC0+Y2FuY2VsU2No
ZWR1bGVkQ29udGVudEludGVudHMoKTsKQEAgLTczNiwxMSArNzU5LDYgQEAgYm9vbCBXZWJWaWV3
SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAg
ICAgfQogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRhcERvd246IHsKICAgICAgICAg
bV9jbGllbnQtPmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJbnRlbnRzKCk7Ci0gICAgICAgIC8vIFF1
ZXVlIGEgaGlnaGxpZ2h0IGFuaW1hdGlvbiwgdGhlbiBoYW5kIG9mZiB0byByZWd1bGFyIGhhbmRs
ZXIuCi0jaWYgT1MoTElOVVgpCi0gICAgICAgIGlmIChzZXR0aW5nc0ltcGwoKS0+Z2VzdHVyZVRh
cEhpZ2hsaWdodEVuYWJsZWQoKSkKLSAgICAgICAgICAgIGVuYWJsZVRvdWNoSGlnaGxpZ2h0KElu
dFBvaW50KGV2ZW50LngsIGV2ZW50LnkpKTsKLSNlbmRpZgogICAgICAgICBQbGF0Zm9ybUdlc3R1
cmVFdmVudEJ1aWxkZXIgcGxhdGZvcm1FdmVudChtYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygp
LCBldmVudCk7CiAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFt
ZSgpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlR2VzdHVyZUV2ZW50KHBsYXRmb3JtRXZlbnQpOwog
ICAgICAgICBicmVhazsKQEAgLTExOTcsNyArMTIxNSw2IEBAIHZvaWQgV2ViVmlld0ltcGw6OmVu
YWJsZVRvdWNoSGlnaGxpZ2h0KEludFBvaW50IHRvdWNoRXZlbnRMb2NhdGlvbikKICAgICAgICAg
cmV0dXJuOwogCiAgICAgbV9saW5rSGlnaGxpZ2h0ID0gTGlua0hpZ2hsaWdodDo6Y3JlYXRlKHRv
dWNoTm9kZSwgdGhpcyk7Ci0gICAgbV9saW5rSGlnaGxpZ2h0LT5zdGFydEhpZ2hsaWdodEFuaW1h
dGlvbigpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwODA1ZmQxOTM1NDk2Y2ZjMTYyZWMyYjhlNDZi
NWIyODAyYzYyNjJjLi40ZjAxYWNmYzRhN2Q2ZjY1NWNhOGZhYjdhZjhmNzE2MDdkOWVkZGRhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMTAtMDUgIFcuIEphbWVzIE1hY0xlYW4gIDx3am1h
Y2xlYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTW9kaWZ5IGdlc3R1cmUg
aGlnaGxpZ2h0IGJlaGF2aW91ci4gQ2FuY2VsIG9uIEdlc3R1cmVMb25nUHJlc3MgYW5kIGFuaW1h
dGUgb24gR2VzdHVyZVRhcENhbmNlbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk3MzU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCByZXZpc2VzIHRoZSBiZWhhdmlvdXIgb2YgR2VzdHVy
ZVRhcERvd24gaGlnaGxpZ2h0aW5nIHNvIHRoYXQgdGhlIGhpZ2hsaWdodCBzaG91bGQgZGlzYXBw
ZWFyIGlmCisgICAgICAgIGludGVycnVwdGVkIGJ5IEdlc3R1cmVUYXAsIGFuZCBhbmltYXRlIGF3
YXkgaWYgaW50ZXJydXB0ZWQgYnkgR2VzdHVyZVRhcENhbmNlbC4KKworICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVzL2dlc3R1cmUtdGFwSGlnaGxp
Z2h0LXNpbXBsZS1jYW5jZWwuaHRtbDogcmVtb3ZlZCBleHRyYSB0ZXN0UnVubmVyLmRpc3BsYXko
KS4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJl
cy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJl
LXRhcEhpZ2hsaWdodC1zaW1wbGUtbG9uZ1ByZXNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtLWxpbnV4L3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5n
L2dlc3R1cmVzL2dlc3R1cmUtdGFwSGlnaGxpZ2h0LXNpbXBsZS1jYW5jZWwyLWV4cGVjdGVkLnBu
ZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvcGxhdGZvcm0vY2hy
b21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2VzdHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2lt
cGxlLWNhbmNlbDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9n
ZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtbG9uZ1ByZXNzLWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbGludXgvcGxhdGZvcm0vY2hyb21pdW0tbGlu
dXgvY29tcG9zaXRpbmcvZ2VzdHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWxvbmdQ
cmVzcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTEwLTA1ICBBbmRyZWkgQnVjdXIgIDxh
YnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIEluY29tcGxldGUgcmVwYWludCBvZiBib3hlcyB3
aXRoIGluc2V0IGJveC1zaGFkb3cgYW5kIHBhZGRpbmcgd2hlbiByZXNpemVkCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJl
cy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsLmh0bWwgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhp
Z2hsaWdodC1zaW1wbGUtY2FuY2VsLmh0bWwKaW5kZXggMmJiMmExNmJhNWY3NzcyOGE2ZTBjMjM3
MjFjMjcwM2E1NmYwZDM4Ny4uYTZkODg2OTVhMTZhYmU1MzA2YWNmMzk5MmZkNmFkYTE1ZjUyODFi
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9z
aXRpbmcvZ2VzdHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWNhbmNlbC5odG1sCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1
cmVzL2dlc3R1cmUtdGFwSGlnaGxpZ2h0LXNpbXBsZS1jYW5jZWwuaHRtbApAQCAtMzAsNyArMzAs
NiBAQCBmdW5jdGlvbiBydW5UZXN0KCkgewogCiAgICAgICAgIC8vIEdlbmVyYXRlIHRhcCBpbiBy
ZWdpb24gd2l0aCBubyB2YWxpZCB0YXJnZXQgLi4uIHRoaXMgc2hvdWxkIGNhbmNlbCB0aGUgZmly
c3QgdGFwLgogICAgICAgICBldmVudFNlbmRlci5nZXN0dXJlVGFwRG93bigxNTAsIDE1MCk7Ci0g
ICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmRpc3BsYXkoKTsKICAgICAgICAgd2luZG93LnNldFRp
bWVvdXQoZnVuY3Rpb24oKSB7IHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsgfSwgMCk7
CiAgICAgfSBlbHNlIHsKICAgICAgICAgZGVidWcoIlRoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVu
ZGVyVHJlZS4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxp
bnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVzL2dlc3R1cmUtdGFwSGlnaGxpZ2h0LXNpbXBsZS1jYW5j
ZWwyLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGlu
Zy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmYzYTQyZmUwMWFkNjFmNDlmZTAyODc0NzUzYTlmODZlMDNiNzNiNjEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGlu
Zy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi5odG1sCkBAIC0w
LDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiIG9uY2xpY2s9ImRvTm90aGluZygp
OyI+Cis8ZGl2IHN0eWxlPSItd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgcG9zaXRp
b246IHJlbGF0aXZlOyBsZWZ0OiAxMHB4OyB0b3A6IDQwcHgiPgorPGEgaHJlZj0iIiBpZD0idGFy
Z2V0TGluayIgc3R5bGU9Ii13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAyNTUs
IDAsIDAuNSkiPlRhcmdldCBMaW5rLjwvYT4KKzwvZGl2PgorPGRpdiBzdHlsZT0icG9zaXRpb246
IHJlbGF0aXZlOyBsZWZ0OiAxMHB4OyB0b3A6IDcwcHgiPgorVGhpcyB0ZXN0IGlzIHN1Y2Nlc3Nm
dWwgaWYgIlRhcmdldCBMaW5rIiBhYm92ZSBpcyBjb3ZlcmVkIGluIGEgZ3JlZW4gcmVjdGFuZ2xl
LgorPC9kaXY+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICB2YXIgY2xpZW50
UmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0YXJnZXRMaW5rJykuZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCk7CisgICAgeCA9IChjbGllbnRSZWN0LmxlZnQgKyBjbGllbnRSZWN0LnJpZ2h0
KSAvIDI7CisgICAgeSA9IChjbGllbnRSZWN0LnRvcCArIGNsaWVudFJlY3QuYm90dG9tKSAvIDI7
CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCh0cnVlKTsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQor
CisgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAvLyBHZW5lcmF0ZSB2YWxp
ZCBsaW5rIGhpZ2hsaWdodC4KKyAgICAgICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVRhcERvd24oeCwg
eSk7CisKKyAgICAgICAgLy8gU2VuZCBHZXN0dXJlVGFwQ2FuY2VsLCB0aGlzIHNob3VsZCBjYXVz
ZSB0aGUgaGlnaGxpZ2h0IHRvIGFuaW1hdGUgYXdheS4KKyAgICAgICAgZXZlbnRTZW5kZXIuZ2Vz
dHVyZVRhcENhbmNlbCgpOworICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsg
d2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9LCAwKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBkZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiIpOworICAgIH0K
K30KKzwvc2NyaXB0PgorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9n
ZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtbG9uZ1ByZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhp
Z2hsaWdodC1zaW1wbGUtbG9uZ1ByZXNzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTIyOTI4MjQwYTQ5Mjk0
OTYxNGQwNGNlYTgwNTk2YzY4NTNlMTdjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVzL2dlc3R1cmUtdGFw
SGlnaGxpZ2h0LXNpbXBsZS1sb25nUHJlc3MuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25s
b2FkPSJydW5UZXN0KCk7IiBvbmNsaWNrPSJkb05vdGhpbmcoKTsiPgorPGRpdiBzdHlsZT0iLXdl
YmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IHBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDog
MTBweDsgdG9wOiA0MHB4Ij4KKzxhIGhyZWY9IiIgaWQ9InRhcmdldExpbmsiIHN0eWxlPSItd2Vi
a2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMjU1LCAwLCAwLjUpIj5UYXJnZXQgTGlu
ay48L2E+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgbGVmdDogMTBw
eDsgdG9wOiA3MHB4Ij4KK1RoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIG5vIGxpbmsgaGlnaGxp
Z2h0IGFwcGVhcnMuCis8L2Rpdj4KKzxzY3JpcHQ+CisvLyBUaGlzIHRlc3QgbWFrZXMgc3VyZSBh
IGhpZ2hsaWdodCBkb2VzIG5vdCBzdXJ2aXZlIGJleW9uZCBHZXN0dXJlTG9uZ1ByZXNzLgorZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICB2YXIgY2xpZW50UmVjdCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCd0YXJnZXRMaW5rJykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgeCA9IChj
bGllbnRSZWN0LmxlZnQgKyBjbGllbnRSZWN0LnJpZ2h0KSAvIDI7CisgICAgeSA9IChjbGllbnRS
ZWN0LnRvcCArIGNsaWVudFJlY3QuYm90dG9tKSAvIDI7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICAgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikgeworICAgICAgICAvLyBHZW5lcmF0ZSB2YWxpZCBsaW5rIGhpZ2hsaWdodC4KKyAgICAg
ICAgZXZlbnRTZW5kZXIuZ2VzdHVyZVRhcERvd24oeCwgeSk7CisgICAgICAgIHdpbmRvdy50ZXN0
UnVubmVyLmRpc3BsYXkoKTsKKworICAgICAgICAvLyBHZW5lcmF0ZSBsb25nIHByZXNzIC4uLiB0
aGlzIHNob3VsZCBjYW5jZWwgaGlnaGxpZ2h0LgorICAgICAgICBldmVudFNlbmRlci5nZXN0dXJl
TG9uZ1ByZXNzKHgsIHkpOworICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsg
d2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOyB9LCAwKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBkZWJ1ZygiVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlLiIpOworICAgIH0K
K30KKzwvc2NyaXB0PgorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51
eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2Vs
Mi1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0
Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hs
aWdodC1zaW1wbGUtY2FuY2VsMi1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTJmOTIzMDcxZWVk
Zjc2NGE0NGZiMjAwODE1NGQ1NmNlMzBlOTk3YwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNjg4
NQp6Y21lSTFYSC0qWng1cVEwSTJQcGNUMksmfTBTRUNfbmpsNCpqdl57YjIyZ19aQjFFS1FMViVF
akJzej9NKVVoQisKejI/flAmREZHPj1DOCFfX0xPPyhXRXJ9M21EVEkoaFA0WFZeZGhlJXV6dWs0
JG5zdHwtdmV1SnhQV0lYUnxOcmclCnpKaH1naWk8OFB1amghRzZOYWZQU15LS3hKKGhuZmU3U0hk
dTA0d3xWP0xQezk5RSktRWowd0lLNSomXypqUlhhbwp6LVY4UTN3K0lYfDMkLSNlMkAwe2tkRDFl
KD81NFNpblJURnJtNj0pWWl3aE1Ya091UDdgTG95Sl5aNSpIYGdPXigKekheU3t8RERVbGNETTl0
dT5aKCU9US02IUNfNmk+RVklSDYmOWA0KDQkQCNURG0oeThrdGpWWip7JkZuemxFIV97CnpeNlRZ
Y3pTKXNDVDhlXnY5RFJUNEVHcXI8QkhlSkM7ZW9WZXdgQWxqUGJZYHNIJUlMYW5MUWhgbklRaW0y
aHJhbgp6Sz12SjRNYkRXP2tFaU5fSyE0VHRHcXBqV0d5WnpqQWtmMWRDcVE+QFpyS0k7O258eGxw
b3t3ZFBuSV5NQGpYdUwKemZzbVJBLXdObCRHLW05WCF6UU5zMVAkVU18MUpvbTZLU2AqQjRAaDl2
Qm0mdGZNR095bDEmY20kKHFfNUprOFlKCnoxekopWVhAe3hWOXxGJjJ2ZkdQUSE3OEJEMEleQitg
WEV4ZFd4bX5BMzFvbEo0eXpwQW5ORGNVRjcwdGAtanJ0QQp6T25iOWxRS3B0Plk2OHlzcGNlPi00
dUgtV1llIzNmZ0VRUCs/I3BHdG8je19hXzJQSWJfamEtSTNRSmdvM1U7TU0KeklHWUZPUj5GbnY7
WSk5UVMoT2xvbiglWEM0VjxtNXIyJCRwcjRRKjBuTUJ7TFlxKzQwM2s9N1FFVVVGSTJkeihyCnpj
bmFKX2RObnhOXnY4MzB4KShCMXYyb0E/SWxmTyQ4aTRNZyhkIz0jOTUmQm8rKUdwKl9HNDxvREF9
IztTZDgkNgp6N1U7fWc+Nk9VVilnVzhSd1RSTEd6emZ5ayVpWDNTbStRen56aW9xMC0+PjtLYUpT
fEd5a2JSMmJhPTAlK0t+dEEKelRvbnEzTnNIX0laZyp2XzNLVz9Ue3xxSjdeaiRfTi1+YD4tektq
JiRidSNUdzgjTypKRDwrZT5ecytpaWF1IWR8CnpKRjM0byM7TWBnLVNnb1dAXyY3WURjfG9uaUE3
ZDspYFRsU3BpOXkjMGZzJllTP2VDV0hoaWxieX4lP0RBI0JwfAp6aiFzVD5ic2dEfE1YeHlyZ18o
PUp3UzN1X0pxQmVyYkEjVThYX1N0flp3ZTJaPkJ+OCFwIWNjcXQ1WiljNDJfeUAKeigjYHk2OCNC
aTJlbXFYI2h7MF5+UylIMSZqI2lYbFM0RDxxQGFtRzRzUTJrUyhlRkZaR2lrNWxwTDVHUyFTZiRJ
CnpVbXd2JTljaFQxczZWM0huU3BeN0Flcn10P0JGK2RaYmZFMSZ8e0I+PiorbyolMFAqeGxRZ0hI
NHIkclBHNFcjagp6SSZwPCFDRzBxOFluNXF4KGpwUUtFMGA8SFFta2VAd1lCIzAxfEYpZHtYT1hV
NkZicTQ1Zz09Y3MtMkBYTFFESyEKek9VNkR8WmEweWduRmNNKWM7dTJnKF5GZz1Pbi1NWj87bGll
aGBxPG0qJXNVSFMhMEthb2RvREIrTXBrWDMyUiVxCnpAKG5nZ2FvV1lNZWp4Yz1teVFtZkZPJihv
X0pUVmdaTyEzUlhTWSt4P3xPXntRYUdlQylmKk9obzM8QzY5QHN2Twp6bXFXPl8tKz98Ql8kaG0r
bHwhNylTTkxmOzNZcFdpeWtQJExzO0gxJWwyaGQwSGNHfFB2azJvZ1kpVUxwSnlDeGEKelVQZlEt
IWwmekhQMVl9ITc2KX1kOUJuV0otV31xJXJaOFJIZG1QZTl2IXZVTCpDbEZkMXFDJnNTOGJRaDk3
YkZMCnpxQHp8NypqYDF4KyNqNWNWPkg2KUVkcmAkV3VAdF8wayNZSGJTMk9jRjYzSTA+cmlOQ1pf
MnVaaT56c0d4fjQxVwp6JVVgUTRaRHx2KnRlUmw8R3BNZF5sRkVkeyNOKyVWK15ORT1vLTI4Qzdk
fj5zR3xWbDZwJl48RER3JSV4JnxIQ2YKejtwK01HOWV8ZWplRThkS0BEODw4bmIqdGtpcSQhTUNa
Tikpb15YNDhodXttWE9Gd1RlPWFgMEcwbzNHIWlKWmg/Cnp0YHVza3VgJmJ9Nz1VeEgjNzVRVjJ3
THVGVF5QaDlIbT1oZl9NVDRgcCE7TyEmSUVpMXE3MWFaUyhtcW9DciVuKgp6Tz59bHt1U25+Tzsm
b2VwMlFwWmdZU1hue1U9YjJAM0ctYCM2WFZtKnBoMnxVY147N01wdmd3N25hMmxoOHxRMyMKejVm
UytmPFlXKmlwLSFeMnc8MENwVHN0ellLfmlJbkpjQWluSSo1eG5qSmNpUE95MGliPmpreXxSIWhW
Qkh4QzFfCnolYCZ+YTRmTXdxQWNQfShKd2MlRXRwRj1keyV3e2psSjU/YXNMOSZzVGElNk87azw7
WVVIPGNvVXl1e3FAZzA4Uwp6UlA0cmVpMGBTT2p1YlYkM3pQQmUzfH1UKytBJVYqSWJXUCpxIXxE
RmokZHx6Oz9HWEJYdUsoIT4oe1l+aT1kSkoKemQzM1pBTypDYVZhaXRxZTMxaVlqSS0+PjMyXmFV
PHtYPm5sKWB4Nn1WdEFvX19xfjUmPXZfciE9Y0hKUEtjMigxCnpQR21LT1MyY3lvSGBnPlJBe3Rr
aW1ATTFuemw7UmhhaWY3NTswT3hNKipoQ3dpSlRmRngpMWRnKmM5VUJZYmw8cwp6QHhufGtuX08x
KVRrLUx1cWxQUWN0STNDPlEtJlV2UFopYlhoakFoTTk5M1dRbyg1OzRxKz9LVEZFM3JkNn1+b08K
eilxKEF3JUd9a0J7Y0xaMmRge3B1TThoeUtrNXF7UiNaR09+QG8qKk8tS0FAYkJiREJvZ2A/PWFv
SWRhWlUwRlM5CnpWWHk/e2p1SkdzWTxTcUl5ITV3eiVqQ19tZCY3P1B0Y3lDMS1PRm5GLVFuXnBn
KUspNEUtZjshaCNXVk1uZzN8aQp6Z09fcHJicjhMI2o2RyUxQkpHSVJFclFUOGBeen4kJHU/RzRP
JGNiQm93PEZEI0RZWkUhSSlwc152QHdeSDhWWTAKel9JdWpkcWhTZHFtWSY5dlhOcTRJR1Z+UjtW
R3JHUj5PZTdeQTZNdnBuOCoqMGp+Tjtva3tOTnt0cVM8PmNgeiNLCnp1Um5lcUI3I1l7dCNnfXom
ckApK2JwVWZId1ZJSGdDJEkjej1ERFFaJiNkNDw3en5DK1lsKDBoYEp6X05zIVhzYgp6VTU8cjk9
ZXx9cVZSZ3kxX3lQbVh0eURRK1ZhQ2h0O2A0WUZJUXVmOGxHe3Z9TS0oJXBwbENZcFJ0NXYhcjNK
TEwKekxuWi1sMCtZMllwbmRyJTBHcEckdlVDKmZJYFhCQGlLK3ghUlBfMH1gZypLZlJIJFMxPipz
c3dldlFGaG5QflNhCnpxXzJpU2VAVjxvbVJ3M2NTYGcjcj9BJjhXb14pJlMwenowSTdXIUVhRGV0
V3l4T1A3Uitna158YCgwXnwpI3NPYQp6UUxsWFBpPDM+bzdjdytWZ0YzUXM7XkxJfUZBdG45WiRI
ZmBFIUdWaHVMfjwtUnIkNncld0RlfElMOUQyaEZrQlUKenRzaXBBSnojYUJTKD5IO1pkMU0/enpa
bFYoJCFSUmB7OXNicXt9MEFoMj5qaWMzNT0oQFhAdiZ0aGVCSihmWT96CnpaQUtxN1NjWWQ8cEVk
KzFKcEBOfEw7REdvQ2BOTyM0c1B8MmI5O2BaMjdNfVpvZi1EPl43NSRnRz0odStiRGM7Jgp6QCRk
SVRDUyZRby1WRzZgYDRgRTNyQDBtQUpvK1M5PGl1TkVPeD1Je0wlRDMkdmg3JEtidCp9ZHg8VX58
R0YjWEIKell5YEhgRFM4P3dCQkRvQ154YV4paHVOaDMqK29BWk44JXRVMTZUU3FNUT0jP1VefmdE
azF4KXA2PE4oY1B0PXtoCnp5SXRGV0J4PnIlRSlwPHszLWp8JnRyNE47Y1djYD1HOVBRRTZOTnQ9
ciMhWDhOR0QpemM2aitGO0w+WVJefHl5Iwp6IUVtQ3krRUFLVFpSa31wMD8ySGJMJj5vZHs/eUdz
QUd0SU9zMmk3aTNOZWRLI0BHZXRhQyNNMUptOGU5cUFCZ3oKejMqUDVnNlVRRyVealNsSjNfN3wt
dSY5KiFgZy13Slpgdl9QZjY0ciF2PmRmZDVgQVBDUWFPN3wyZzlwemNkPyM5Cnp3cnd6KVc0Vl9o
MnFmdHVuYl88bURIIUA8Ump3WHFMKHBJRzVxKklXa354PSNaRE1Hb3dCQFI9Y2BtRllaWWRXQgp6
YiFCUjhATV4pWGB8PlBkTSNoSk1hc2lUZmpvcHcmdCQzZz4qV0NuVTRjS0ZDI1k1eTIoYn5TdTFz
cUU5Q1JnPHwKem9LbTsyPUlMajd1UWo3elcpSmJPMHM5QGxZSkRRQWgySUZZVWo9P0V3ZFhkVmBl
UVAhd3k+ZD5KTkR8RUtWNG9fCnpfQ09oQlojVHBxe0RzTXgmNGJ4WE19eG0mV1JeRzxhPXx4fklX
bDRxSHUmY3R4NkdZYjx5bGlDVUkmVkcwJFd+Ywp6a2xKSV42NEN3ZUNyNExYblJwMXxrQnY/SUAz
fG5sNmZ7U1N5Jm1MQnhPQl9MN0xNLSZxZ1VZQTV7P2JBOCpWYGUKenBiNT5KPTVoaFdDODx6I3xF
Y09MO3VkWDJ2MEp2eUtheGZTPzYwMj1uRTg7Yz9pV0F4KUhJbFludGolWihYeyRDCnpLKGNjPGtH
e2RDY0kjTyUxSl9+fGEjPWFLdlo9WnwmPU5JUzZjYFlANXY0VERaQ2lTYD4oTm0jITVUNjlJOzRs
Zwp6bXAqaGhZTGMmV1pCQ3pGMVhefENwM3xqdSl3N1MwbWVyfUo1b0pEQjclOSkkbXtSeGwmKnU1
SzNsan5JJEw7Uj4Kej8wYipmO0xgXk5UK3VTJW8rbjReWncoWUozPSEyRztSQkI5aEpMTSRVIU1A
KFMwZHk/TDxjeXNpX1E1e3htLVlqCnpAeGM4T2ktcChLT3hnXygoS1d+YClTUzZsVSkwZ2pfJUFB
UFpiMEZxTSlAKiM5M3d1QyEzNWtAdEc9Y0RpeDMhZAp6PzllZjZpV1lKYkswfGtxRXI3WF5PZz9L
UUJnKyQhVHVATGpMb2IxS3EjcmFiVEpQSFYkIUdMU3dJPXdfKkBNIVUKemZRJjxDRlUxYyEwaXBa
QyRpQGAwVFg7RDRgUHN6STN7NyZ0K3VzSj88Kz99TlJ9Km1TMyt5WmhEJH1SPU1FPEdwCnpreUNW
XnB+LXpNZyMmNUUpY0FLaGp5e0c4TVRMcjFGYEFacGlkWWNtZ3tsWUMwVDMoTztoQk1rLSVLdXww
PkRWaQp6U0J3fXJrKCZESSFpRWtRZFI7P1AwXjVfOEJSdm9ZN3xLXl4/IUlOUzF3Kn03RWQ+RSlj
ZHNMa28md2Aka3tDPmYKejhGfmhrJlN6ezkrZm1TZVE0Q1Z3cj5RJTJrWl9YbnpQYFN9Y2h9MjM5
NkxDfTwkQXptYVl7YEhqSU9PZm5iY2dACno+OzJuc2hgQnlIVVVmU1l5VGFnTHp0Iz14QVFNOSFI
cFdzYG12aDxAPSlUQzxuM3pjbmZVLSNoSVA0eVdjSEh0PAp6eElBVDhwZEo3RD95ZHRUSmxrK0ct
ZEw/KFExNFN5SFRkaV5zRjY9JmIhfX5KV280IUtJaD1DdT5Za1JLaG5DRUUKelZBPyUjMUs+X2Mp
OD4+YXpTTnAjbHhPSzdkZ3NfLUJXTjhPOEVIVUVJS1lvJTNiRTMkUnVtJFA+YGpnYEIjRyl0CnpT
VXh+ZlJ4MyZiWHNwangpVGBgWGg0VEg3RVNDeEpJJStuXiNlfXQpOTNyPy1FK09HNXdtRX58Q0Vv
S2lPVil7awp6ezZWYXclUnclalY5RGJFPFYpIU90bGxmLSgweXY+bEswNUUhTU1TSmZkTThIQ3cj
QiZrN1VHX1dXJDtsVUxMUCUKem9OayZVVjdRZkpxcWZjRTg/flg/RH5MczQxKSE0dSs2VHg3PWk0
cSM2PkFmdVM7SjJ+NTNjI3c9TjE8TGw/RUV3CnpTS1ZmMlcpNUNqNiUhcU41ZUg2QEV9SCFoSUFX
NUFBSDcxKGJIPVhZLWRhJC0/QC1HdVY/N1glPzZ5aSZXNkcqOQp6M3FMdEhjb09KdDlJUSo4MV48
ckg5JCtgcGx+eSNgMnhrTFB3NkpnK1M5OHQ3KXxPe3hXWFE0Qj10ckVJU1dFezgKemlDOz84Knt5
WTJ5dm9qayFDPTVCI01AakdyNEBNczZnfnZhSHdBYGBPT055IUshcjxBZyZQNDQhMXFhdndleFVy
CnpEWEpTQ2NhPll8MDY2bzxiNGdkOG9lWXQhT1BxQUQ7JXRjRDRYPiVDYzIjNE5TdUUkJWE/KnlO
TyVYfEVjKSZobgp6a2VvfXRRJk44SClqRz4/cWcwRSo/cTNCblNscHA8dHNmdjNmUlkjV158NVUt
WGBVNSlJI0pjJHZxXyRCamt2Nk0KeiRwaCswQHt4MU9OZip2OXRQdm1QeD5wZkcyTj9mcD8zcyhO
Tk00aXk+Z0lBITthVkAkZXl0bTk8WFFjPnZeYkwhCnpaSzJgK0FrXmpHS3BWKm1OYz1hQG1aX0Mx
YCgzZn49LVQ1SFpfenhVd3swSmhZbz48MEIjMGo+Z2c7Klkpbnc7Kwp6bFQ4UjxnYVc/UigkZDBV
ZD1mP19kPmJPSGY2eDNPTUorVjBlR0ZSMlVeMy1FNkh8OHR3IUB3R2NCdkJwMzFUcTYKekJ5MUpg
Kk9oblFNPlBWcjV3d2M+K0VwREFLRUpzT2FMPXpQSSVLQjVeTE87UnZ8eHd+LTdaZHRzY2l1cjUk
KlV9CnpqbzUkSihmP2FxLSg+USkrPj9HMjx+THp9Nlh4SU5qT2QjbXw4TTskRWRjZyFPbD45NTg2
Nj5Ub15HMSg4KnBJZwpnXjFuSlQrO0RKRzVpek1oUWAzT3x0dzVJP1VDdmtpOVByen0wTUhYNDI+
PHs5CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9n
ZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2FuY2VsMi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1s
aW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtY2Fu
Y2VsMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzVkNzI4YmQ3NDE5OGZhZTYyMDk3MzcwMjU0
YzI5YTRiYjZiM2VjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLWxpbnV4L3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2NvbXBvc2l0aW5nL2dlc3R1cmVz
L2dlc3R1cmUtdGFwSGlnaGxpZ2h0LXNpbXBsZS1jYW5jZWwyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDIgQEAKK1RhcmdldCBMaW5rLgorVGhpcyB0ZXN0IGlzIHN1Y2Nlc3NmdWwgaWYgIlRhcmdl
dCBMaW5rIiBhYm92ZSBpcyBjb3ZlcmVkIGluIGEgZ3JlZW4gcmVjdGFuZ2xlLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvcGxhdGZvcm0vY2hyb21pdW0t
bGludXgvY29tcG9zaXRpbmcvZ2VzdHVyZXMvZ2VzdHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWxv
bmdQcmVzcy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51
eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9jb21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRh
cEhpZ2hsaWdodC1zaW1wbGUtbG9uZ1ByZXNzLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTVm
YWFhYWFhMWY0YTk4OTkxODA2MmU5M2ZmYjJiNmU4MzBkNjYzCkdJVCBiaW5hcnkgcGF0Y2gKbGl0
ZXJhbCA2MTMyCnpjbWVITGAmKDAyeTUzNEZ3R01DYHRIXnlpS0J0VjIweEJUKWFIZHF6cF4meXJC
KzRacWEqZEU7NDFfPlB0cU42JAp6ajUxMD1BZitoT0tvWUtANSl1VDJVQD00XzdhJXR6VHI/cXNU
Vyo5VFhWWkQrRkYzIVApNkBPU2V4Q0tMeX16fkkKej98dDhJdD8kK3NRUTxacEkoYFRNZlgmJTZw
TTM9WVIofUczbyR3RUtmK1BEcytWMmomNHFyVjV6bll3JGw4aSlTCnp2VmYhe3pmfHZ9T01XSztq
KEh6WEokfns7TzB4R1FaKmJKeD1jNTFkbE5heWRLM1cwKmB7Sntve3FedEk4a0dkdQp6IXFlMlVT
Sml2PjIweEQkNEklM3ZVQjNVKjdyZmhGe15MPXhwZU1Vc1drdC1VVzBKKl4lZGVOTDxkbm09aDlg
WTgKejkkWT9qPFAxTiheQmkld2F+TSFxQXV9dUU4KmIkQzZINWg3QS04WW1je1VBSDtnMm4wYWo5
ZCtvRlVqSnczelE0CnpFYkVyfClDRSNhY1VvfjlaOU0lVzAwPVBSY31AVkprMnVyezAwWndHMFJI
UnlYRkd1cF9RMyVsWTNDbGBQb0YzNQp6MEItQykzVmRfeStXV3dOZURaJk8oaj9aWm5UQzI5PlVM
K2opSEJZMTtvMUVvJUNgLT1jTEx4Vz11QFdOTXpCQUkKel92I0JATTtNSEZJIWwmTmlLdj92RVVV
IWwlUnxuPXhebEJybGdCcnU7alJ3b25MYVp6WXFIaE9aeD5MZyhEK3YwCno+fSpRcVFoa3dgaTll
OVpHKm5DfikwRkUwe3tqbEI2Mz5obmJaQENgZjNWQHR5KGtGJjVjblpZWnFwTF9GcXdPIwp6REd3
Un4+cXY5QUxXJnl6ME1+KG4lb1I7VWBsM0BLWXYyPSZ7UHErV3RUeyRfb1h4YHNgQUhARy1oM0VM
REhJLVYKejt5cFR4az48UGd2YipzR3dTKiMjUEFHb0xrZDZjYCl7eDA4Ui1rYnlBcUxTIVBVVVBT
ajtFMCooTk1+QFladXlQCnp4bHZCOClLakdwOSskV1NBbFZ1aHtOVWNIeWhHKUB5V3MrWUNDfGk+
QGUwKVpgVnMrPiMlSm1UR0x3WGdVS3BkTwp6QGlkbCFiRHtrYXdZU3xpeFJzdHdpU1ZLWHBjUGBZ
dmM1ITdqWn5QOEwwbm5OSjk2T0syK2xCez42MHNnX2pIPXkKenhHNHpjQ2lBTUJ2UCVkI3NDZ1pN
blpKKF89VilyeHkhdyk1UlJzWDdTaFEySUheUmErNkN9YWZkez1oN3VjSGdaCno7RkkjVkVOTlZZ
eU81c2NpO19+SSpeIzZLQyVAJnVgbzJFO1dlMnBgR1hmPGB1eSp5d2puQFZ0RXY3dWx2YSklOAp6
UkpvfkM3Q1J7KFJjSUEkUnpUO0pBOEljKEhmRTIjVT94JEwhPUBncF89RV5xe0J9Pn5pK2peT1VD
UnR3MHY7cG0KejdiWX5IUDhPMDw8QjVaRkZJKjFQOSglKGJuYCZ6fjtROTkkOzJFbkd3TnRzJnA9
PTdKOUhJVWNYNnZ3Q0xvaWZjCnpWRF58NUd7eDtCM2M0dVFDMElMWTdwMCUjWU94WjhyQUxeJCot
ZEQ2QFhsUEY0TjJHdUI8NSo3VE9FbFA3PDk1Pwp6bTVzI2V1Z2cpclV4TjdxbXhNI0F4KUU2LXh7
fXllVXZEPVNwY0Q1ZnNuY3t5VH5XYE5mM21ST283KW5ie2xwX3kKekYmM29NaXQ9MjwxUGdCTlpu
YnlRYGZGfHwwQGo2MkdwUXx0b0F2XmsxPCYwMDNkV0R7UXVRRmVaWTMrYEUxU3RECnp2cz4mREVv
OXZNe1R9X1M8SDRWclkwfkMyMFFpOTsjcVVEJFdQUWo7NGFzc3xXPSFESiNvSXlQPngpOH1JbT19
MQp6aS1BUndTantOMXFIe3Q0KHAjdnlaY0RjNCVRdT97PFVBUT1vbEFvP1hLSSZ2KjJlLUJLYXQ3
bSFsclo3bVYpSWMKejZIcXR3eVQpN2xrbi1XY3JQZ3RfNlZaMGomay1YaFlQZ29UKGdYWnotITJU
JjFIUkojMDA0JU10YlZNXiFPcV5vCnpuS2JlSm8jP2E+IXpCKFcpTkJ7TzExUExuM0xWUWEmTjNQ
eDVMeCY8XjMwQkpuOCYydCM0YTtjclo8YngoQXExMQp6YkhPSHArOH4mT25ESkFaVlcpeml2PXV3
eFMlVXNNPjdVO05eckt4VVJedHZ9Q2k7SzFZcWpSPUl3ell2TjRlbU8KejZ0cmtSLWVkMTZXPkEq
Zj48Qn41NFlOXj0kZWxgd1ppPWM2IzMrMSlhbyE1NDFreHJjUTlycG1pcGw+Wmg4bVpACnpGJj9n
aUBYeTNJc3s5fFpKJjBZLUt3PGkoQlhKbTh0a0p+aDREQnpxX2t6clBXM3s9dEpeMVI/dE5TcXRo
NlhwJgp6K21TPSUmZnB7S0J3WWNnQih4Xj5YRWZFKWFUPik/c2VTMUJPWWNNS1NfcG5+bkNRZF57
eHpWKVEpdFd9UysqOCsKejh+NUorOFkoI2U3OyNLWDxrVz19YUhAVCt0Z0stQ0tZJTxscz1Eb3Uh
ZHI3eSg9UklBJVo9PDxCcG58KEMoanJ6CnpiS25OQXprR2djVXl3QSYkQUBSU3JHZ1lmUms9XjRQ
LVBCVFZtbWVKVkglMmEyTVZ7fEZQaUpMaF5KTjFfUnxlKgp6N15VRUZiWW9lZG5ITFMrNCVIcCY3
Kk9hT3JyblZLUXd1eG9RZ3RrOFY1fk5YQCQhfUZtUEVBQCFjVkB0YXBlTn0KekEpRVF3bH56Jnl5
YWE5N3Y2M18kPDkzQ3hQP1opMUcwYWBOY0ZpZ0s9WCYjMl42fUExRlNUMFR3PSVIRHhWZD9uCno3
YFJ4MjJKTT1yVWgzZGQkdHFEZGlDe0xFT2VYWj1uNH5vK2pReXNleE8zeUBpJCoyfmRlMnd3bXx1
WCE+ZjEqPgp6Z1krfWslbCY3K1FffWlhcXh9aFZOc2k+cm4+VGshc1lxRUVMb256WlAmbGB7SWZl
I1ZfJiZKfnVicW05aEZ9c0MKejZOaGZeciFiYVQjXnBuSXs0WGthUGVLaFpwdV5SS3hqKTc/Vzx2
SXQ5YEkxS2kjI2l6WiklaiNmY2J4KHRAeHhpCnpQbnNXO3lMMXFGI2BwbHw3OV94WTFAbl8hb3BA
UjA/SCpPKnBFY2M/R1dyMDxIfGI7cWFTb2RqK3I2eHBteT1HVQp6e05qPSk5dUcjaCRiRS1QcjRh
T2JLPHsjbyhsJShSSEdoNDl6dzgrV0slT2BqUTFKSzI3a2FMfmR4JkJeMXR+Q1MKejd1cXxYP3dz
PntGSilyYXUzZEVuJVRLcDY/LUp2ZHpqODBhXlhkRzlTVU82XiVIKSQjZz50ODQ4P2BARmVkSkQk
Cno/JilHM3ZSMkVHbld6fH1iKlI0SWotVmR8ZU45cmgmT3ZPPStCMk0mYXp5ZDJCaytRQm5Qc0c4
WUNhemgjJDRiJAp6MWJHflFRU2NVNCFgPCozTlE3fTNnd2l+Ny1MN2NDbmBEXnhCMX1RKDBaR1ZQ
Wkg8e3k8N314eyFxQCVwTT81JD4Keil0TTJeZSRvXjdNfSZFOzY0aHRZZGNATT5Gbmt5Y0dqcSo0
KlpEUTthWlh2NT94dDdhbzE2OXRTY14kViZAPnw9Cnp0ND0leXd9eUxMNTlfKShiaH0kdFdaWWdR
JGJEQG9WKFo3eikhfkMpSU9FRl89UFBHbWteKGk4IWU9MEFmV2w4egp6JkNmRVdsV29jREJCTSV9
P25CUUsyP0RWJWtGIzZnWkw9V2VHUyVnWSN6XkdOTDt9R0E5fUZeSVFzOVN7X3RDU3QKei15ZkhB
e0FBOSliYX1zUHc/eTdeMi1PfD5gbVNBdmU3ek5LKVpYPDlTOEJnfmY2cTM7MyN4N080Y2Upe2E0
S1JXCnolNndyazQrTHVxT2Q/XmFqWG13fChBOW1YQC15KUZVfSNYdTAhbk9vKERLaTEjaHNgTz1q
NVBpN1QjIyVDO29iMQp6eDRSRV9zeSRfTnEoVnJJRldgTHtqdFAoK2wlR1A4XjVAVyNKayN1Wkd5
NWBTTVJ0TjR5WjA1QmxyKDNxJkFwJnAKejJSVU5fYX49I2o1YT5jei1PU1RTVEd6P3h0dG8rVk1I
O2h8R2VDNm1iMWh1eVhLcDh1OEVPfF9SYHxWM1dWTyF8CnpPdUBqNy00cyFJaCEoIUNJfVhFKTF1
UystYEhKQEVATXN3U2ohViExJnA3UHN2K2s8Z0teTCFFM3A1cnpUWXs2fQp6Yjw5bWdiRnhpXz82
djxlSis/YnJHSGBRYHdZN0NEJUFuRWQlN2NAfVk2ODRpYGlxdFNxVWAjfVYoWn42NCF9eFYKemht
SShLb1lreXxEb2IyKD43YnVUKHRfVUgqbXQyRCNaYn1QaXB3PkIhTnMtN1p3dzkmUWJiezRWWl90
UHBzdXpoCno8NGdWKGViY3E4O3hLbDJwdWsmUEclekFedWxhZilMP0BvO1dvQXE/UEMhR01sfnMp
MWM5MipHdiN3ODtWPG9YWgp6PX00NUJ3Y1lFQlR2QmxVVEZkemtTTTFFU2d5SlI2PGQ+O3FISE03
fHNHbFF8XlUkdzYqWj9KTE16M3AmWkpaWHkKellERmUyK2FCTGlDRE9oNjc0UzQjKFJGXmhrQU5C
PDNvOCNiVzBrdTFJRj8yP1hYaDRqPGluRk5LNGBLQytgR3IqCnpPbWhjbEtGYlZzLU5+JEprYjZT
TkIzSjx8cGlfZSlaejdMQD9pcmk/NnFMQ0tYYSRSXlprYVQ9OTxMd3kqbj4lJQp6RUspQipiV2cz
cDF5WmBEcHAtTFVvU0p8UkB8ZUg4dGktSmQzcUdiejRQeF9rV3AhRl5AVDhtYD9sU2RyUEJQNTIK
ejtNZURYd0J4WVgqckRiJmBKbDZKQDRSNz1na21+LV49KH4yKSsxPzVFdldlSUR1Y2psX0AkbWI9
YFpnNlhUdlZ+CnoxRWp9ejR0WmhKXnZlLWlUO2J7dlgjWCg/SmpVcVZEfmd5RXFxJDVhbD5zdFUz
dH5qZDhGckFBbCE/RG1DbkwrMAp6a0h9SWljbzxMJD9RQ3RPSTMpIXY3bD9IZW83fVV0SFZSVGgo
JTt7JkY0OGU3NkwxO0l0dmw9Pik/MWFnVSl+OUAKelV7cTYjTCVXfjNeUUZBPT4/ZnpxTmNLRWdH
MzxuTEs2bnNMemtKP1V2ekA5Pzt9alJOQGUwaG45UH4/cnBxcXR4Cnp3IV52eEpZd2AmT3pQUDZh
ITFJT0dlJjdIMTliNkZeSjtuMT1UJlI+WEB4MCsjV3ZnQ15VTTdzUFE+QkgkY0hTbQp6aDZiJCpI
YXk9ND9iUWZrQU8wSU8yaEd0Z2ItZ0AtRSlzVWlONV59U3B3PjhqN09YSG5Qbyo4b0JKMzV9b3dU
cnwKektifFZCQ2kkcFlDM21nQ1RLSDtIYy09TkllTk5eZVJ6PX5RTEY7fjw/KEBKaWVwKTZZdGk1
cFcwfFQmSzN6aTtOCnpDUVIhc2JgTC1pS3AmbnxmZntyJXp5bj4/YFg5VHdWKTR0M2NOMmBiQjlN
ekhMSTl3QHc4fTNuZHxuNGBPbyQrdQp6SyRMMForTXFuSnlqNSheej9Xc25oXnApc0ZZI0t8Vl87
Knp2USQrKmN8TlZTRGB+Sjg8U1dTOVozZXc1YWYydloKekl2X1hOOyhjV0IhdWs2I3hMe2tMO2Uo
QClpXjRjRzJsVENBe05ASCZkY2FUQXBvZ2E4UTxNLUYoR2Q3dTAqciRhCnpEZHpvd3ZSUldZY3Bk
RVB8MURuPWY3X1NmLSpAKkw/e2ZUfTtOS0pjVGtxdWsmaGhfJDk5SSRldW95aEEwQmwoQQpyUz5A
QTt5MCYoS0o/ZzBjTDYzVVV2ZzM+IV90TkxZJCNKbGE1MWMmfV4lP2NrI0JjdV9wKXx3NwoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0tbGludXgvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2VzdHVyZXMv
Z2VzdHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWxvbmdQcmVzcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9wbGF0Zm9ybS9jaHJvbWl1bS1saW51eC9j
b21wb3NpdGluZy9nZXN0dXJlcy9nZXN0dXJlLXRhcEhpZ2hsaWdodC1zaW1wbGUtbG9uZ1ByZXNz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDA3NGNlM2RkNGVhZjNiODRhZGJlOGIzYmIwMDJj
NjU0N2U5NmFjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0tbGludXgvcGxhdGZvcm0vY2hyb21pdW0tbGludXgvY29tcG9zaXRpbmcvZ2VzdHVyZXMvZ2Vz
dHVyZS10YXBIaWdobGlnaHQtc2ltcGxlLWxvbmdQcmVzcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyIEBACitUYXJnZXQgTGluay4KK1RoaXMgdGVzdCBpcyBzdWNjZXNzZnVsIGlmIG5vIGxpbmsg
aGlnaGxpZ2h0IGFwcGVhcnMuCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>