<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE TIP SYSTEM "http://tcl.activestate.com/cgi-bin/tct/tip/tipxml.dtd">
<!-- Converted at Thu Feb 09 03:15:29 GMT 2012 -->
<!-- TIP AutoGenerator - written by Donal K. Fellows -->

<TIP number='7'>
<header><title>Increased resolution for TclpGetTime on Windows</title><author address="mailto:kennykb@acm.org">Kevin Kenny</author><status type='project' state='final' tclversion="8.4" vote='after'>$Revision: 1.4 $</status><history></history><created day='26' month='oct' year='2000' /><discussions url='news:comp.lang.tcl'/></header>
<abstract>Tcl users on the Windows platform have long been at a disadvantage in attempting to do code timing studies, owing to the poor resolution of the Windows system clock. The <emph style="italic">time</emph> command, the <emph style="italic">clock clicks</emph> command, and all related functions are limited to a resolution of (typically) 10 milliseconds. This proposal offers a solution based on the Windows performance counter. It presents a means of disciplining this counter to the system clock so that <emph style="italic">TclpGetTime</emph> (the underlying call that the above commands use) can return times to microsecond precision with accuracy in the tens of microseconds.</abstract>
<body><section title="Change history">
<para><emph style="italic">2 November 2000:</emph> Modified the TIP to discuss the issues surrounding the fact that some multiprocessor kernels on Windows NT use the CPU timestamp counter as a performance counter. Modified the proposed patch to test for the two frequencies in common use on 8254-compatible real-time clocks, and enable using the performance counter only if its frequency matches one of them. Included the proposed patch inline for review rather than as a pointer off to dejanews.</para>
</section>
<section title="Rationale">
<para>The Windows implementation of <emph style="italic">TclpGetTime</emph>, as of Tcl 8.3.2, uses the <emph style="italic">ftime</emph> call in the C library to extract the current system clock in seconds and milliseconds. While this time value has millisecond precision, its actual resolution is limited by the tick rate of the Windows system clock, normally 100 Hz. Similarly, <emph style="italic">TclpGetClicks</emph> uses the <emph style="italic">GetTickCount</emph> function of <emph style="italic">kernel32.dll</emph> to get the number of milliseconds since bootload; once again, the actual resolution of this call is limited to the tick rate of the system clock.</para>
<para>The Windows Platform APIs offer several timers of different accuracy. The most precise of these is <emph style="italic">QueryPerformanceCounter</emph>, which operates at an unspecified frequency (returned by <emph style="italic">QueryPerformanceFrequency</emph>) that is typically about 1.19 MHz. [<url ref="http://support.microsoft.com/support/kb/articles/Q172/3/38.asp"/>] has details of the call, with sample code.</para>
<para>The documentation for Windows suggests that this function is available only on certain versions of the operating system; in fact, it is implemented in every extant version of Win32 with the exception of Win32s and Windows CE 1.0. Since Visual C++ 6, on which the Tcl distribution depends, will no longer compile code for those two platforms, I assert that they may be safely ignored.</para>
<para>The documentation for Windows also states that <emph style="italic">QueryPerformanceCounter</emph> is available only on certain hardware. In practice, this is not an issue; I have never encountered a Windows implementation on an x86 platform that lacks it, and Alpha has it as well. In any case, the reference implementation tests for the success or failure of the system calls in question, and falls back on the old way of getting time should they return an error indication. Users of any platform on which the performance counter is not supported should therefore be no worse off than they have ever been.</para>
<para>A worse problem with the performance counter is that its frequency is poorly calibrated, and is frequently off by as much as 200 parts per million. Moreover, the frequency drifts over time, frequently having a sensitive dependency to temperatures inside the computer&apos;s case.</para>
<para>This problem is not insurmountable. The fix is to maintain the observed frequency of the performance counter (calibrated against the system clock) as a variable at run time, and use that variable together with the value of the performance counter to derive Tcl&apos;s concept of the time. This technique is well known to electronic engineers as the &quot;phase locked loop&quot; and is used in network protocols such as NTP[<url ref="http://www.eecis.udel.edu/~ntp/"/>].</para>
<para>One problem that is apparently insurmountable is that certain multiprocessor systems have hardware abstraction layers that derive the performance counter from the CPU timestamp counter in place of a real-time clock reference. This implementation causes the performance counter on one CPU to drift with respect to the other over time; if a thread is moved from one processor to another, it cannot derive a meaningful result from comparing two successive values of the counter. Moreover, if the CPU clock uses a &quot;gearshift&quot; technique for power management (as on Intel SpeedStep or Transmeta machines), the CPU timestamp counter ticks at a non-constant rate.</para>
<para>The proposed implementation addresses the problem by using the performance counter only if its nominal frequency is either 1.193182 MHz or 3.579545 MHz. These two frquencies are the common rates when 8254-compatible real-time clock chips are used; virtually all PCI bus controllers have such chips on board. This solution therefore adapts to the vast majority of workstation-class Windows boxes, and is virtually certain to exclude implementations derived from the CPU clock since no modern CPU is that slow. </para>
<para>The patch has been tested on several desktop and laptop machines from Compaq, Dell, Gateway, HP, Micron, and Packard Bell, with processors ranging from a 50 MHz 486 to a 750 MHz Pentium III, including laptops using SpeedStep technology. It passes the clock-related test cases on all these platforms; it falls back to the old clocks with 10-ms precision on multiprocessor servers from Compaq and HP. (Using the performance counter actually would have worked on the HP server, which apparently has some way of making sure that the results of <emph style="italic">QueryPerformanceCounter</emph> are consistent from one CPU to another. The performance counter on the Compaq machine was observed to be inconsistent between the two CPU&apos;s.)</para>
</section>
<section title="Specification">
<para>This document proposes the following changes to the Tcl core:</para>
<enumerate><item.e index='1'><para> (tclWinTime.c) Add to the static data a set of variables that manage the phase-locked techniques, including a <emph style="italic">CRITICAL_SECTION</emph> to guard them so that multi-threaded code is stable.</para></item.e><item.e index='2'><para> (tclWinTime.c) Modify <emph style="italic">TclpGetSeconds</emph> to call <emph style="italic">TclpGetTime</emph> and return the &apos;seconds&apos; portion of the result. This change is necessary to make sure that the two times are consistent near the rollover from one second to another.</para></item.e><item.e index='3'><para> (tclWinTime.c) Modify <emph style="italic">TclpGetClicks</emph> to use TclpGetTime to determine the click count as a number of microseconds.</para></item.e><item.e index='4'><para> (tclWinTime.c) Modify <emph style="italic">TclpGetTime</emph> to return the time as M*Q+B, where Q is the result of <emph style="italic">QueryPerformanceCounter</emph>, and M and B are variables maintained by the phase-locked loop to keep the result as close as possible to the system clock. The <emph style="italic">TclpGetTime</emph> call will also launch the phase-lock management in a separate thread the first time that it is invoked. If the performance counter is unavailable, or if its frequency is not one of the two common 8254-compatible rates, then <emph style="italic">TclpGetTime</emph> will return the result of <emph style="italic">ftime</emph> as it does in Tcl 8.3.2.</para></item.e><item.e index='5'><para> (tclWinTime.c) Add the clock calibration procedure. The calibration is somewhat complex; to save space, the reader is referred to the reference implementation for the details of how the time base and frequency are maintained.</para></item.e><item.e index='6'><para> (tclWinNotify.c) Modify <emph style="italic">Tcl_Sleep</emph> to test that the process has, in fact, slept for the requisite time by calling <emph style="italic">TclpGetTime</emph> and comparing with the desired time. Otherwise, roundoff errors may cause the process to awaken early.</para></item.e><item.e index='7'><para> (tclWinTest.c) Add a <emph style="italic">testwinclock</emph> command. This command returns a four element list comprising the seconds and microseconds portions of the system clock and the seconds and microseconds portions of the Tcl clock.</para></item.e><item.e index='8'><para> (winTime.test) Add to the test suite a test that makes sure that the Tcl clock stays within 1.1 ms of the system clock over the duration of the test.</para></item.e></enumerate>
</section>
<section title="Reference implementation">
<para>This change was submitted as a patch to the old bug-tracking system at Scriptics [<url ref="http://www.deja.com/getdoc.xp?AN=666545441&amp;fmt=text"/>]. It is being recycled as a TIP now that the Tcl Core Team is in place, since the process for advancing the old patches to the Core is not well defined. The link above should not be used to retrieve the current version of the patch, which appears below as an Appendix.</para>
<para>Tests on several Wintel boxes have shown that the initial startup transient is less than about 10 seconds (during which time the Tcl clock may be running 500 ppm fast or slow to bring it into step); following this period, the motion of the Tcl clock is highly repeatable and uniform.</para>
<para>If the system clock changes by more than 1 second during a run, as when the operator sets it using the eyeball-and-wristwatch method, the method of adjusting the performance frequency to preserve monotonicity and accuracy of interval measurements is hopeless. This is the only case where the Tcl clock is allowed to jump.</para>
<para>The startup of the calibration loop does not introduce new instabilities in the behavior of [clock clocks] or <emph style="italic">TclpGetTime</emph>.</para>
<para>[clock clicks] and other times that derive from <emph style="italic">TclpGetTime</emph> also ought to be reliable from the beginning - assuming that <emph style="italic">QueryPerformanceFrequency</emph> actually matches the crystal. The worst case while the initial calibration is going on ought to be that the Tcl clock runs 0.1% fast or slow. The point of the calibration loop is to correct for long-term drift.</para>
<para>The problem, otherwise, is that <emph style="italic">QueryPerformanceFrequency</emph> may be off by some tens of parts per million with respect to the system clock. Over a period of days, that would cause the Tcl clock to veer off from the system clock. For instance, once my machine is warmed up (temperature is significant, believe it or not), <emph style="italic">QueryPerformanceFrequency</emph> is consistently 0.99985 of the correct value; without calibration, the performance-counter-derived clock drifts 13 seconds per day.</para>
<para>The <emph style="italic">capture transient</emph> of the calibration loop is a little different every time, but the one shown below is typical. The Tcl time starts out 2 ms fast with respect to the system time, and the initial estimate of performance frequency is off, too. At 2 seconds in, the calibration loop takes over and makes the clock run 0.1% slow to bring it in line; by 5 seconds in, it&apos;s lined up. There&apos;s some phase noise over the next 40 seconds or so, by which time the performance frequency is locked on quite closely. The outliers above the line represent the fact that [after] events sometimes arrive late because of various other things going on in Windows.</para>
<image src="7capture" caption="Typical capture transient" />
<para>The script that gathered the raw data plotted above appears below.</para>
<verbatim><vline encoding='base64'>Zm9yZWFjaCB7IHN5c3NlY3Mgc3lzdXNlYyB0Y2xzZWNzIHRjbHVzZWMgfSBbdGVzdHdpbmNsb2NrXSB7fQ==</vline><vline encoding='base64'>c2V0IGJhc2VzZWNzICRzeXNzZWNz</vline><vline encoding='base64'>c2V0IGJhc2V1c2VjICRzeXN1c2Vj</vline><vline encoding='base64'>c2V0IG5UcmlhbHMgMTAwMDA=</vline><vline encoding='base64'>Zm9yIHsgc2V0IGkgMCB9IHsgJGkgPCAkblRyaWFscyB9IHsgaW5jciBpIH0gew==</vline><vline encoding='base64'>ICAgIHNldCB2YWx1ZXMge30=</vline><vline encoding='base64'>ICAgIGZvciB7IHNldCBqIDAgfSB7ICRqIDwgNSB9IHsgaW5jciBqIH0gew==</vline><vline encoding='base64'>CWZvcmVhY2ggeyBzeXNzZWNzIHN5c3VzZWMgdGNsc2VjcyB0Y2x1c2VjIH0gW3Rlc3R3aW5jbG9ja10ge30=</vline><vline encoding='base64'>CXNldCBzeXN0aW1lIFtleHByIHsgKCRzeXNzZWNzIC0gJGJhc2VzZWNzKQ==</vline><vline encoding='base64'>CQkJICAgICsgMS4wZS02ICogJHN5c3VzZWMgLSAxLjBlLTYgKiAkYmFzZXVzZWMgfV0=</vline><vline encoding='base64'>CXNldCB0Y2x0aW1lIFtleHByIHsgKCR0Y2xzZWNzIC0gJGJhc2VzZWNzKQ==</vline><vline encoding='base64'>CQkJICAgICsgMS4wZS02ICogJHRjbHVzZWMgLSAxLjBlLTYgKiAkYmFzZXVzZWMgfV0=</vline><vline encoding='base64'>CXNldCB0aW1lZGlmZiBbZXhwciB7ICR0Y2x0aW1lIC0gJHN5c3RpbWUgfV0=</vline><vline encoding='base64'>CWxhcHBlbmQgdmFsdWVzIFtsaXN0ICRzeXN0aW1lICR0aW1lZGlmZiAkdGNsdGltZV0=</vline><vline encoding='base64'>CWFmdGVyIDE=</vline><vline encoding='base64'>ICAgIH0=</vline><vline encoding='base64'>ICAgIGZvcmVhY2ggeyBlbGFwc2VkIHRpbWVkaWZmIHRjbHRpbWUgfSBc</vline><vline encoding='base64'>CVtsaW5kZXggW2xzb3J0IC1yZWFsIC1pbmRleCAxICR2YWx1ZXNdIDBdIHt9</vline><vline encoding='base64'>ICAgIGxhcHBlbmQgaGlzdG9yeSAkZWxhcHNlZCAkdGltZWRpZmYgJHRjbHRpbWU=</vline><vline encoding='base64'>fQ==</vline><vline encoding='base64'>c2V0IGYgW29wZW4gfi90ZXN0Mi5kYXQgd10=</vline><vline encoding='base64'>Zm9yZWFjaCB7IGVsYXBzZWQgdGltZWRpZmYgdGNsdGltZX0gJGhpc3Rvcnkgew==</vline><vline encoding='base64'>ICAgIHB1dHMgJGYgIiRlbGFwc2VkXHQkdGltZWRpZmZcdCR0Y2x0aW1lIg==</vline><vline encoding='base64'>fQ==</vline><vline encoding='base64'>Y2xvc2UgJGY=</vline></verbatim>
<para>To quantify how reproducible the measurements are, I threw a patched tclsh the torture test of executing [time {}] ten million times, and made a histogram of the results. The figure below shows the results. The dots represent individual sample bins, and the solid line is the cumulative count of samples. The vast majority of samples show either five or six microseconds. 99.9% take fewer than nine. There are many samples that take longer, owing to either servicing interrupts or losing the processor to other processes.</para>
<para>The lines at 21, 31 and 42 microseconds show up in repeated runs on my machine; I suspect that they represent time spent servicing different sorts of video interrupts. It&apos;s less clear to me what the other outliers might be; Windows has a tremendous amount of stuff going on even when it&apos;s apparently idle.</para>
<image src="7histogram" caption="Histogram of results of [time {}]." />
<para>All tests in the test suite continue to pass with the patch applied.</para>
</section>
<section title="Notes">
<para>If you care about time to the absolute precision that this change can achieve, it is of course necessary to discipline the Windows system clock as well. Perhaps the best way is to use one of the available NTP packages ([<url ref="http://www.eecis.udel.edu/~ntp/"/>] for further information).</para>
</section>
<section title="Copyright">
<para>This document has been placed in the public domain.</para>
</section>
<section title="Appendix">
<para>The proposed set of patches to the Tcl 8.3.2 code base appears here.</para>
<verbatim><vline encoding='base64'>KioqIC4uL3RjbDguMy4yYmFzZS9zcmMvdGNsOC4zLjIvd2luL3RjbFdpbk5vdGlmeS5jIEZyaSBKdWwgIDIgMTg6MDg6MzAgMTk5OQ==</vline><vline encoding='base64'>LS0tIC4vc3JjL3RjbDguMy4yL3dpbi90Y2xXaW5Ob3RpZnkuYyBUaHUgQXVnIDI0IDIzOjI5OjEyIDIwMDA=</vline><vline encoding='base64'>KioqKioqKioqKioqKioq</vline><vline encoding='base64'>KioqIDUxMCw1MTQgKioqKg==</vline><vline encoding='base64'>ICBUY2xfU2xlZXAobXMp</vline><vline encoding='base64'>ICAgICAgaW50IG1zOwkJCS8qIE51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gc2xlZXAuICov</vline><vline encoding='base64'>ICB7</vline><vline encoding='base64'>ISAgICAgU2xlZXAobXMpOw==</vline><vline encoding='base64'>ICB9</vline><vline encoding='base64'>LS0tIDUxMCw1NDggLS0tLQ==</vline><vline encoding='base64'>ICBUY2xfU2xlZXAobXMp</vline><vline encoding='base64'>ICAgICAgaW50IG1zOwkJCS8qIE51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gc2xlZXAuICov</vline><vline encoding='base64'>ICB7</vline><vline encoding='base64'>ISAgICAgLyo=</vline><vline encoding='base64'>ISAgICAgICogU2ltcGx5IGNhbGxpbmcgJ1NsZWVwJyBmb3IgdGhlIHJlcXVpc2l0ZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRz</vline><vline encoding='base64'>ISAgICAgICogY2FuIG1ha2UgdGhlIHByb2Nlc3MgYXBwZWFyIHRvIHdha2UgdXAgZWFybHkgYmVjYXVzZSBpdCBpc24ndA==</vline><vline encoding='base64'>ISAgICAgICogc3luY2hyb25pemVkIHdpdGggdGhlIENQVSBwZXJmb3JtYW5jZSBjb3VudGVyIHRoYXQgaXMgdXNlZCBpbg==</vline><vline encoding='base64'>ISAgICAgICogdGNsV2luVGltZS5jLiAgVGhpcyBiZWhhdmlvciBpcyBwcm9iYWJseSBiZW5pZ24sIGJ1dCBtZXNzZXM=</vline><vline encoding='base64'>ISAgICAgICogdXAgc29tZSBvZiB0aGUgY29ybmVyIGNhc2VzIGluIHRoZSB0ZXN0IHN1aXRlLiAgV2UgZ2V0IGFyb3VuZA==</vline><vline encoding='base64'>ISAgICAgICogdGhpcyBwcm9ibGVtIGJ5IHJlcGVhdGluZyB0aGUgJ1NsZWVwJyBjYWxsIGFzIG1hbnkgdGltZXM=</vline><vline encoding='base64'>ISAgICAgICogYXMgbmVjZXNzYXJ5IHRvIG1ha2UgdGhlIGNsb2NrIGFkdmFuY2UgYnkgdGhlIHJlcXVpc2l0ZSBhbW91bnQu</vline><vline encoding='base64'>ISAgICAgICov</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAgICAgVGNsX1RpbWUgbm93OwkJLyogQ3VycmVudCB3YWxsIGNsb2NrIHRpbWUgKi8=</vline><vline encoding='base64'>ISAgICAgVGNsX1RpbWUgZGVzaXJlZDsJCS8qIERlc2lyZWQgd2FrZXVwIHRpbWUgKi8=</vline><vline encoding='base64'>ISAgICAgaW50IHNsZWVwVGltZSA9IG1zOwkJLyogVGltZSB0byBzbGVlcCAqLw==</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAgICAgVGNscEdldFRpbWUoICZub3cgKTs=</vline><vline encoding='base64'>ISAgICAgZGVzaXJlZC5zZWMgPSBub3cuc2VjICsgKCBtcyAvIDEwMDAgKTs=</vline><vline encoding='base64'>ISAgICAgZGVzaXJlZC51c2VjID0gbm93LnVzZWMgKyAxMDAwICogKCBtcyAlIDEwMDAgKTs=</vline><vline encoding='base64'>ISAgICAgaWYgKCBkZXNpcmVkLnVzZWMgPiAxMDAwMDAwICkgew==</vline><vline encoding='base64'>ISAJKytkZXNpcmVkLnNlYzs=</vline><vline encoding='base64'>ISAJZGVzaXJlZC51c2VjIC09IDEwMDAwMDA7</vline><vline encoding='base64'>ISAgICAgfQ==</vline><vline encoding='base64'>ISAJ</vline><vline encoding='base64'>ISAgICAgZm9yICggOyA7ICkgew==</vline><vline encoding='base64'>ISAJU2xlZXAoIHNsZWVwVGltZSApOw==</vline><vline encoding='base64'>ISAJVGNscEdldFRpbWUoICZub3cgKTs=</vline><vline encoding='base64'>ISAJaWYgKCBub3cuc2VjID4gZGVzaXJlZC5zZWMgKSB7</vline><vline encoding='base64'>ISAJICAgIGJyZWFrOw==</vline><vline encoding='base64'>ISAJfSBlbHNlIGlmICggKCBub3cuc2VjID09IGRlc2lyZWQuc2VjICk=</vline><vline encoding='base64'>ISAJICAgICAmJiAoIG5vdy51c2VjID49IGRlc2lyZWQudXNlYyApICkgew==</vline><vline encoding='base64'>ISAJICAgIGJyZWFrOw==</vline><vline encoding='base64'>ISAJfQ==</vline><vline encoding='base64'>ISAJc2xlZXBUaW1lID0gKCAoIDEwMDAgKiAoIGRlc2lyZWQuc2VjIC0gbm93LnNlYyApICk=</vline><vline encoding='base64'>ISAJCSAgICAgICsgKCAoIGRlc2lyZWQudXNlYyAtIG5vdy51c2VjICkgLyAxMDAwICkgKTs=</vline><vline encoding='base64'>ISAgICAgfQ==</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ICB9</vline><vline encoding='base64'>KioqIC4uL3RjbDguMy4yYmFzZS9zcmMvdGNsOC4zLjIvd2luL3RjbFdpblRlc3QuYyBUaHUgT2N0IDI4IDIzOjA1OjE0IDE5OTk=</vline><vline encoding='base64'>LS0tIC4vc3JjL3RjbDguMy4yL3dpbi90Y2xXaW5UZXN0LmMgTW9uIFNlcCAgNCAyMjo0NTo1NiAyMDAw</vline><vline encoding='base64'>KioqKioqKioqKioqKioq</vline><vline encoding='base64'>KioqIDIyLDI3ICoqKio=</vline><vline encoding='base64'>LS0tIDIyLDMxIC0tLS0=</vline><vline encoding='base64'>ICBzdGF0aWMgaW50CVRlc3R2b2x1bWV0eXBlQ21kIF9BTlNJX0FSR1NfKChDbGllbnREYXRhIGR1bW15LA==</vline><vline encoding='base64'>CSBUY2xfSW50ZXJwICppbnRlcnAsIGludCBvYmpjLA==</vline><vline encoding='base64'>CSBUY2xfT2JqICpDT05TVCBvYmp2W10pKTs=</vline><vline encoding='base64'>KyBzdGF0aWMgaW50ICAgICAgVGVzdHdpbmNsb2NrQ21kIF9BTlNJX0FSR1NfKCggQ2xpZW50RGF0YSBkdW1teSw=</vline><vline encoding='base64'>KyAJCQkJCSAgICAgIFRjbF9JbnRlcnAqIGludGVycCw=</vline><vline encoding='base64'>KyAJCQkJCSAgICAgIGludCBvYmpjLA==</vline><vline encoding='base64'>KyAJCQkJCSAgICAgIFRjbF9PYmogKkNPTlNUIG9ianZbXSApKTs=</vline><vline encoding='base64'>ICAM</vline><vline encoding='base64'>ICAvKg==</vline><vline encoding='base64'>ICAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0=</vline><vline encoding='base64'>KioqKioqKioqKioqKioq</vline><vline encoding='base64'>KioqIDUyLDU3ICoqKio=</vline><vline encoding='base64'>LS0tIDU2LDYzIC0tLS0=</vline><vline encoding='base64'>CSAgICAgICAoQ2xpZW50RGF0YSkgMCwgKFRjbF9DbWREZWxldGVQcm9jICopIE5VTEwpOw==</vline><vline encoding='base64'>ICAgICAgVGNsX0NyZWF0ZU9iakNvbW1hbmQoaW50ZXJwLCAidGVzdHZvbHVtZXR5cGUiLCBUZXN0dm9sdW1ldHlwZUNtZCw=</vline><vline encoding='base64'>CSAgICAgICAoQ2xpZW50RGF0YSkgMCwgKFRjbF9DbWREZWxldGVQcm9jICopIE5VTEwpOw==</vline><vline encoding='base64'>KyAgICAgVGNsX0NyZWF0ZU9iakNvbW1hbmQoaW50ZXJwLCAidGVzdHdpbmNsb2NrIiwgVGVzdHdpbmNsb2NrQ21kLA==</vline><vline encoding='base64'>KyAgICAgICAgICAgICAoQ2xpZW50RGF0YSkgMCwgKFRjbF9DbWREZWxldGVQcm9jICopIE5VTEwpOw==</vline><vline encoding='base64'>ICAgICAgcmV0dXJuIFRDTF9PSzs=</vline><vline encoding='base64'>ICB9</vline><vline encoding='base64'>ICAM</vline><vline encoding='base64'>KioqKioqKioqKioqKioq</vline><vline encoding='base64'>KioqIDE4NywxOTAgKioqKg==</vline><vline encoding='base64'>LS0tIDE5MywyNjcgLS0tLQ==</vline><vline encoding='base64'>ICAgICAgVGNsX1NldFJlc3VsdChpbnRlcnAsIHZvbFR5cGUsIFRDTF9WT0xBVElMRSk7</vline><vline encoding='base64'>ICAgICAgcmV0dXJuIFRDTF9PSzs=</vline><vline encoding='base64'>ICAjdW5kZWYgVk9MX0JVRl9TSVpF</vline><vline encoding='base64'>KyB9</vline><vline encoding='base64'>KyAM</vline><vline encoding='base64'>KyAvKg==</vline><vline encoding='base64'>KyAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0=</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBUZXN0Y2xvY2tDbWQgLS0=</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKglDb21tYW5kIHRoYXQgcmV0dXJucyB0aGUgc2Vjb25kcyBhbmQgbWljcm9zZWNvbmRzIHBvcnRpb25zIG9m</vline><vline encoding='base64'>KyAgKgl0aGUgc3lzdGVtIGNsb2NrIGFuZCBvZiB0aGUgVGNsIGNsb2NrIHNvIHRoYXQgdGhleSBjYW4gYmU=</vline><vline encoding='base64'>KyAgKgljb21wYXJlZCB0byB2YWxpZGF0ZSB0aGF0IHRoZSBUY2wgY2xvY2sgaXMgc3RheWluZyBpbiBzeW5jLg==</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBVc2FnZTo=</vline><vline encoding='base64'>KyAgKgl0ZXN0Y2xvY2s=</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBQYXJhbWV0ZXJzOg==</vline><vline encoding='base64'>KyAgKglOb25lLg==</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBSZXN1bHRzOg==</vline><vline encoding='base64'>KyAgKglSZXR1cm5zIGEgc3RhbmRhcmQgVGNsIHJlc3VsdCBjb21wcmlzaW5nIGEgZm91ci1lbGVtZW50IGxpc3Q6</vline><vline encoding='base64'>KyAgKgl0aGUgc2Vjb25kcyBhbmQgbWljcm9zZWNvbmRzIHBvcnRpb25zIG9mIHRoZSBzeXN0ZW0gY2xvY2ss</vline><vline encoding='base64'>KyAgKglhbmQgdGhlIHNlY29uZHMgYW5kIG1pY3Jvc2Vjb25kcyBwb3J0aW9ucyBvZiB0aGUgVGNsIGNsb2NrLg==</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBTaWRlIGVmZmVjdHM6</vline><vline encoding='base64'>KyAgKglOb25lLg==</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0=</vline><vline encoding='base64'>KyAgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyBzdGF0aWMgaW50</vline><vline encoding='base64'>KyBUZXN0d2luY2xvY2tDbWQoIENsaWVudERhdGEgZHVtbXks</vline><vline encoding='base64'>KyAJCQkJLyogVW51c2VkICov</vline><vline encoding='base64'>KyAJCSBUY2xfSW50ZXJwKiBpbnRlcnAs</vline><vline encoding='base64'>KyAJCQkJLyogVGNsIGludGVycHJldGVyICov</vline><vline encoding='base64'>KyAJCSBpbnQgb2JqYyw=</vline><vline encoding='base64'>KyAJCQkJLyogQXJndW1lbnQgY291bnQgKi8=</vline><vline encoding='base64'>KyAJCSBUY2xfT2JqICpDT05TVCBvYmp2W10gKQ==</vline><vline encoding='base64'>KyAJCQkJLyogQXJndW1lbnQgdmVjdG9yICov</vline><vline encoding='base64'>KyB7</vline><vline encoding='base64'>KyAgICAgQ09OU1Qgc3RhdGljIEZJTEVUSU1FIHBvc2l4RXBvY2ggPSB7IDB4RDUzRTgwMDAsIDB4MDE5REIxREUgfTs=</vline><vline encoding='base64'>KyAJCQkJLyogVGhlIFBvc2l4IGVwb2NoLCBleHByZXNzZWQgYXMgYQ==</vline><vline encoding='base64'>KyAJCQkJICogV2luZG93cyBGSUxFVElNRSAqLw==</vline><vline encoding='base64'>KyAgICAgVGNsX1RpbWUgdGNsVGltZTsJCS8qIFRjbCBjbG9jayAqLw==</vline><vline encoding='base64'>KyAgICAgRklMRVRJTUUgc3lzVGltZTsJCS8qIFN5c3RlbSBjbG9jayAqLw==</vline><vline encoding='base64'>KyAgICAgVGNsX09iaiogcmVzdWx0OwkJLyogUmVzdWx0IG9mIHRoZSBjb21tYW5kICov</vline><vline encoding='base64'>KyAgICAgTEFSR0VfSU5URUdFUiB0MSwgdDI7</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgaWYgKCBvYmpjICE9IDEgKSB7</vline><vline encoding='base64'>KyAJVGNsX1dyb25nTnVtQXJncyggaW50ZXJwLCAxLCBvYmp2LCAiIiApOw==</vline><vline encoding='base64'>KyAJcmV0dXJuIFRDTF9FUlJPUjs=</vline><vline encoding='base64'>KyAgICAgfQ==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgVGNscEdldFRpbWUoICZ0Y2xUaW1lICk7</vline><vline encoding='base64'>KyAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoICZzeXNUaW1lICk7</vline><vline encoding='base64'>KyAgICAgdDEuTG93UGFydCA9IHBvc2l4RXBvY2guZHdMb3dEYXRlVGltZTs=</vline><vline encoding='base64'>KyAgICAgdDEuSGlnaFBhcnQgPSBwb3NpeEVwb2NoLmR3SGlnaERhdGVUaW1lOw==</vline><vline encoding='base64'>KyAgICAgdDIuTG93UGFydCA9IHN5c1RpbWUuZHdMb3dEYXRlVGltZTs=</vline><vline encoding='base64'>KyAgICAgdDIuSGlnaFBhcnQgPSBzeXNUaW1lLmR3SGlnaERhdGVUaW1lOw==</vline><vline encoding='base64'>KyAgICAgdDIuUXVhZFBhcnQgLT0gdDEuUXVhZFBhcnQ7</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgcmVzdWx0ID0gVGNsX05ld09iaigpOw==</vline><vline encoding='base64'>KyAgICAgVGNsX0xpc3RPYmpBcHBlbmRFbGVtZW50</vline><vline encoding='base64'>KyAJKCBpbnRlcnAsIHJlc3VsdCwgVGNsX05ld0ludE9iaiggKGludCkgKHQyLlF1YWRQYXJ0IC8gMTAwMDAwMDAgKSApICk7</vline><vline encoding='base64'>KyAgICAgVGNsX0xpc3RPYmpBcHBlbmRFbGVtZW50</vline><vline encoding='base64'>KyAJKCBpbnRlcnAsIHJlc3VsdCw=</vline><vline encoding='base64'>KyAJICBUY2xfTmV3SW50T2JqKCAoaW50KSAoICh0Mi5RdWFkUGFydCAvIDEwICkgJSAxMDAwMDAwICkgKSApOw==</vline><vline encoding='base64'>KyAgICAgVGNsX0xpc3RPYmpBcHBlbmRFbGVtZW50KCBpbnRlcnAsIHJlc3VsdCwgVGNsX05ld0ludE9iaiggdGNsVGltZS5zZWMgKSApOw==</vline><vline encoding='base64'>KyAgICAgVGNsX0xpc3RPYmpBcHBlbmRFbGVtZW50KCBpbnRlcnAsIHJlc3VsdCwgVGNsX05ld0ludE9iaiggdGNsVGltZS51c2VjICkgKTs=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgVGNsX1NldE9ialJlc3VsdCggaW50ZXJwLCByZXN1bHQgKTs=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgcmV0dXJuIFRDTF9PSzs=</vline><vline encoding='base64'>ICB9</vline><vline encoding='base64'>KioqIC4uL3RjbDguMy4yYmFzZS9zcmMvdGNsOC4zLjIvd2luL3RjbFdpblRpbWUuYyBUdWUgTm92IDMwIDE5OjA4OjQ0IDE5OTk=</vline><vline encoding='base64'>LS0tIC4vc3JjL3RjbDguMy4yL3dpbi90Y2xXaW5UaW1lLmMgVGh1IE5vdiAgMiAxNDoyNTo1NiAyMDAw</vline><vline encoding='base64'>KioqKioqKioqKioqKioq</vline><vline encoding='base64'>KioqIDM4LDQ3ICoqKio=</vline><vline encoding='base64'>LS0tIDM4LDExNCAtLS0t</vline><vline encoding='base64'>ICBzdGF0aWMgVGNsX1RocmVhZERhdGFLZXkgZGF0YUtleTs=</vline><vline encoding='base64'>ICA=</vline><vline encoding='base64'>ICAvKg==</vline><vline encoding='base64'>KyAgKiBDYWxpYnJhdGlvbiBpbnRlcnZhbCBmb3IgdGhlIGhpZ2gtcmVzb2x1dGlvbiB0aW1lciwgaW4gbXNlYw==</vline><vline encoding='base64'>KyAgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyBzdGF0aWMgQ09OU1QgdW5zaWduZWQgbG9uZyBjbG9ja0NhbGlicmF0ZVdha2V1cEludGVydmFsID0gMTAwMDA7</vline><vline encoding='base64'>KyAJCQkJLyogRklYTUU6IDEwIHMgLS0gc2hvdWxkIGJlIGFib3V0IDEwIG1pbiEgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAvKg==</vline><vline encoding='base64'>KyAgKiBEYXRhIGZvciBtYW5hZ2luZyBoaWdoLXJlc29sdXRpb24gdGltZXJzLg==</vline><vline encoding='base64'>KyAgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyB0eXBlZGVmIHN0cnVjdCBUaW1lSW5mbyB7</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgQ1JJVElDQUxfU0VDVElPTiBjczsJLyogTXV0ZXggZ3VhcmRpbmcgdGhpcyBzdHJ1Y3R1cmUgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgaW50IGluaXRpYWxpemVkOwkJLyogRmxhZyA9PSAxIGlmIHRoaXMgc3RydWN0dXJlIGlz</vline><vline encoding='base64'>KyAJCQkJICogaW5pdGlhbGl6ZWQuICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgaW50IHBlcmZDb3VudGVyQXZhaWxhYmxlOwkvKiBGbGFnID09IDEgaWYgdGhlIGhhcmR3YXJlIGhhcyBh</vline><vline encoding='base64'>KyAJCQkJICogcGVyZm9ybWFuY2UgY291bnRlciAqLw==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgSEFORExFIGNhbGlicmF0aW9uVGhyZWFkOwkvKiBIYW5kbGUgdG8gdGhlIHRocmVhZCB0aGF0IGtlZXBzIHRoZQ==</vline><vline encoding='base64'>KyAJCQkJICogdmlydHVhbCBjbG9jayBjYWxpYnJhdGVkLiAqLw==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgSEFORExFIHJlYWR5RXZlbnQ7CQkvKiBTeXN0ZW0gZXZlbnQgdXNlZCB0bw==</vline><vline encoding='base64'>KyAJCQkJICogdHJpZ2dlciB0aGUgcmVxdWVzdGluZyB0aHJlYWQ=</vline><vline encoding='base64'>KyAJCQkJICogd2hlbiB0aGUgY2xvY2sgY2FsaWJyYXRpb24gcHJvY2VkdXJl</vline><vline encoding='base64'>KyAJCQkJICogaXMgaW5pdGlhbGl6ZWQgZm9yIHRoZSBmaXJzdCB0aW1lICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgLyo=</vline><vline encoding='base64'>KyAgICAgICogVGhlIGZvbGxvd2luZyB2YWx1ZXMgYXJlIHVzZWQgZm9yIGNhbGN1bGF0aW5nIHZpcnR1YWwgdGltZS4=</vline><vline encoding='base64'>KyAgICAgICogVmlydHVhbCB0aW1lIGlzIGFsd2F5cyBlcXVhbCB0bzo=</vline><vline encoding='base64'>KyAgICAgICogICAgbGFzdEZpbGVUaW1lICsgKGN1cnJlbnQgcGVyZiBjb3VudGVyIC0gbGFzdENvdW50ZXIpIA==</vline><vline encoding='base64'>KyAgICAgICoJCQkJKiAxMDAwMDAwMCAvIGN1ckNvdW50ZXJGcmVx</vline><vline encoding='base64'>KyAgICAgICogYW5kIGxhc3RGaWxlVGltZSBhbmQgbGFzdENvdW50ZXIgYXJlIHVwZGF0ZWQgYW55IHRpbWUgdGhhdA==</vline><vline encoding='base64'>KyAgICAgICogdmlydHVhbCB0aW1lIGlzIHJldHVybmVkIHRvIGEgY2FsbGVyLg==</vline><vline encoding='base64'>KyAgICAgICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgVUxBUkdFX0lOVEVHRVIgbGFzdEZpbGVUaW1lOw==</vline><vline encoding='base64'>KyAgICAgTEFSR0VfSU5URUdFUiBsYXN0Q291bnRlcjs=</vline><vline encoding='base64'>KyAgICAgTEFSR0VfSU5URUdFUiBjdXJDb3VudGVyRnJlcTs=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgLyog</vline><vline encoding='base64'>KyAgICAgICogVGhlIG5leHQgdHdvIHZhbHVlcyBhcmUgdXNlZCBvbmx5IGluIHRoZSBjYWxpYnJhdGlvbiB0aHJlYWQsIHRvIHRyYWNr</vline><vline encoding='base64'>KyAgICAgICogdGhlIGZyZXF1ZW5jeSBvZiB0aGUgcGVyZm9ybWFuY2UgY291bnRlci4=</vline><vline encoding='base64'>KyAgICAgICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgTE9OR0xPTkcgbGFzdFBlcmZDb3VudGVyOwkvKiBQZXJmb3JtYW5jZSBjb3VudGVyIHRoZSBsYXN0IHRpbWU=</vline><vline encoding='base64'>KyAJCQkJICogdGhhdCBVcGRhdGVDbG9ja0VhY2hTZWNvbmQgd2FzIGNhbGxlZCAqLw==</vline><vline encoding='base64'>KyAgICAgTE9OR0xPTkcgbGFzdFN5c1RpbWU7CS8qIFN5c3RlbSBjbG9jayBhdCB0aGUgbGFzdCB0aW1l</vline><vline encoding='base64'>KyAJCQkJICogdGhhdCBVcGRhdGVDbG9ja0VhY2hTZWNvbmQgd2FzIGNhbGxlZCAqLw==</vline><vline encoding='base64'>KyAgICAgTE9OR0xPTkcgZXN0UGVyZkNvdW50ZXJGcmVxOw==</vline><vline encoding='base64'>KyAJCQkJLyogQ3VycmVudCBlc3RpbWF0ZSBvZiB0aGUgY291bnRlciBmcmVxdWVuY3k=</vline><vline encoding='base64'>KyAJCQkJICogdXNpbmcgdGhlIHN5c3RlbSBjbG9jayBhcyB0aGUgc3RhbmRhcmQgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyB9IFRpbWVJbmZvOw==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyBzdGF0aWMgVGltZUluZm8gdGltZUluZm8gPSB7</vline><vline encoding='base64'>KyAgICAgTlVMTCwgMCwgMCwgTlVMTCwgTlVMTCwgMCwgMCwgMCwgMCwgMA==</vline><vline encoding='base64'>KyB9Ow==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyBDT05TVCBzdGF0aWMgRklMRVRJTUUgcG9zaXhFcG9jaCA9IHsgMHhENTNFODAwMCwgMHgwMTlEQjFERSB9Ow==</vline><vline encoding='base64'>KyAgICAg</vline><vline encoding='base64'>KyAvKg==</vline><vline encoding='base64'>ICAgKiBEZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBkZWZpbmVkIGxhdGVyIGluIHRoaXMgZmlsZS4=</vline><vline encoding='base64'>ICAgKi8=</vline><vline encoding='base64'>ICA=</vline><vline encoding='base64'>ICBzdGF0aWMgc3RydWN0IHRtICoJQ29tcHV0ZUdNVCBfQU5TSV9BUkdTXygoY29uc3QgdGltZV90ICp0cCkpOw==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyBzdGF0aWMgRFdPUkQgV0lOQVBJICAgICBDYWxpYnJhdGlvblRocmVhZCBfQU5TSV9BUkdTXygoIExQVk9JRCBhcmcgKSk7</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyBzdGF0aWMgdm9pZCAJCVVwZGF0ZVRpbWVFYWNoU2Vjb25kIF9BTlNJX0FSR1NfKCggdm9pZCApKTs=</vline><vline encoding='base64'>ICAM</vline><vline encoding='base64'>ICAvKg==</vline><vline encoding='base64'>ICAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0=</vline><vline encoding='base64'>KioqKioqKioqKioqKioq</vline><vline encoding='base64'>KioqIDYzLDY5ICoqKio=</vline><vline encoding='base64'>ICB1bnNpZ25lZCBsb25n</vline><vline encoding='base64'>ICBUY2xwR2V0U2Vjb25kcygp</vline><vline encoding='base64'>ICB7</vline><vline encoding='base64'>ISAgICAgcmV0dXJuICh1bnNpZ25lZCBsb25nKSB0aW1lKCh0aW1lX3QgKikgTlVMTCk7</vline><vline encoding='base64'>ICB9</vline><vline encoding='base64'>ICAM</vline><vline encoding='base64'>ICAvKg==</vline><vline encoding='base64'>LS0tIDEzMCwxMzggLS0tLQ==</vline><vline encoding='base64'>ICB1bnNpZ25lZCBsb25n</vline><vline encoding='base64'>ICBUY2xwR2V0U2Vjb25kcygp</vline><vline encoding='base64'>ICB7</vline><vline encoding='base64'>ISAgICAgVGNsX1RpbWUgdDs=</vline><vline encoding='base64'>ISAgICAgVGNscEdldFRpbWUoICZ0ICk7</vline><vline encoding='base64'>ISAgICAgcmV0dXJuIHQuc2VjOw==</vline><vline encoding='base64'>ICB9</vline><vline encoding='base64'>ICAM</vline><vline encoding='base64'>ICAvKg==</vline><vline encoding='base64'>KioqKioqKioqKioqKioq</vline><vline encoding='base64'>KioqIDg5LDk1ICoqKio=</vline><vline encoding='base64'>ICB1bnNpZ25lZCBsb25n</vline><vline encoding='base64'>ICBUY2xwR2V0Q2xpY2tzKCk=</vline><vline encoding='base64'>ICB7</vline><vline encoding='base64'>ISAgICAgcmV0dXJuIEdldFRpY2tDb3VudCgpOw==</vline><vline encoding='base64'>ICB9</vline><vline encoding='base64'>ICAM</vline><vline encoding='base64'>ICAvKg==</vline><vline encoding='base64'>LS0tIDE1OCwxNzUgLS0tLQ==</vline><vline encoding='base64'>ICB1bnNpZ25lZCBsb25n</vline><vline encoding='base64'>ICBUY2xwR2V0Q2xpY2tzKCk=</vline><vline encoding='base64'>ICB7</vline><vline encoding='base64'>ISAgICAgLyo=</vline><vline encoding='base64'>ISAgICAgICogVXNlIHRoZSBUY2xwR2V0VGltZSBhYnN0cmFjdGlvbiB0byBnZXQgdGhlIHRpbWUgaW4gbWljcm9zZWNvbmRzLA==</vline><vline encoding='base64'>ISAgICAgICogYXMgbmVhcmx5IGFzIHdlIGNhbiwgYW5kIHJldHVybiBpdC4=</vline><vline encoding='base64'>ISAgICAgICov</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAgICAgVGNsX1RpbWUgbm93OwkJLyogQ3VycmVudCBUY2wgdGltZSAqLw==</vline><vline encoding='base64'>ISAgICAgdW5zaWduZWQgbG9uZyByZXR2YWw7CS8qIFZhbHVlIHRvIHJldHVybiAqLw==</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAgICAgVGNscEdldFRpbWUoICZub3cgKTs=</vline><vline encoding='base64'>ISAgICAgcmV0dmFsID0gKCBub3cuc2VjICogMTAwMDAwMCApICsgbm93LnVzZWM7</vline><vline encoding='base64'>ISAgICAgcmV0dXJuIHJldHZhbDs=</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ICB9</vline><vline encoding='base64'>ICAM</vline><vline encoding='base64'>ICAvKg==</vline><vline encoding='base64'>KioqKioqKioqKioqKioq</vline><vline encoding='base64'>KioqIDEzNCwxNDAgKioqKg==</vline><vline encoding='base64'>ICAgKglSZXR1cm5zIHRoZSBjdXJyZW50IHRpbWUgaW4gdGltZVB0ci4=</vline><vline encoding='base64'>ICAgKg==</vline><vline encoding='base64'>ICAgKiBTaWRlIGVmZmVjdHM6</vline><vline encoding='base64'>ISAgKglOb25lLg==</vline><vline encoding='base64'>ICAgKg==</vline><vline encoding='base64'>ICAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0=</vline><vline encoding='base64'>ICAgKi8=</vline><vline encoding='base64'>LS0tIDIxNCwyMjYgLS0tLQ==</vline><vline encoding='base64'>ICAgKglSZXR1cm5zIHRoZSBjdXJyZW50IHRpbWUgaW4gdGltZVB0ci4=</vline><vline encoding='base64'>ICAgKg==</vline><vline encoding='base64'>ICAgKiBTaWRlIGVmZmVjdHM6</vline><vline encoding='base64'>ISAgKglPbiB0aGUgZmlyc3QgY2FsbCwgaW5pdGlhbGl6ZXMgYSBzZXQgb2Ygc3RhdGljIHZhcmlhYmxlcyB0bw==</vline><vline encoding='base64'>ISAgKglrZWVwIHRyYWNrIG9mIHRoZSBiYXNlIHZhbHVlIG9mIHRoZSBwZXJmb3JtYW5jZSBjb3VudGVyLCB0aGU=</vline><vline encoding='base64'>ISAgKgljb3JyZXNwb25kaW5nIHdhbGwgY2xvY2sgKG9idGFpbmVkIHRocm91Z2ggZnRpbWUpIGFuZCB0aGU=</vline><vline encoding='base64'>ISAgKglmcmVxdWVuY3kgb2YgdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIuICBBbHNvIHNwaW5zIGEgdGhyZWFk</vline><vline encoding='base64'>ISAgKgl3aG9zZSBmdW5jdGlvbiBpcyB0byB3YWtlIHVwIHBlcmlvZGljYWxseSBhbmQgbW9uaXRvciB0aGVzZQ==</vline><vline encoding='base64'>ISAgKgl2YWx1ZXMsIGFkanVzdGluZyB0aGVtIGFzIG5lY2Vzc2FyeSB0byBjb3JyZWN0IGZvciBkcmlmdA==</vline><vline encoding='base64'>ISAgKglpbiB0aGUgcGVyZm9ybWFuY2UgY291bnRlcidzIG9zY2lsbGF0b3Iu</vline><vline encoding='base64'>ICAgKg==</vline><vline encoding='base64'>ICAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0=</vline><vline encoding='base64'>ICAgKi8=</vline><vline encoding='base64'>KioqKioqKioqKioqKioq</vline><vline encoding='base64'>KioqIDE0MywxNTMgKioqKg==</vline><vline encoding='base64'>ICBUY2xwR2V0VGltZSh0aW1lUHRyKQ==</vline><vline encoding='base64'>ICAgICAgVGNsX1RpbWUgKnRpbWVQdHI7CQkvKiBMb2NhdGlvbiB0byBzdG9yZSB0aW1lIGluZm9ybWF0aW9uLiAqLw==</vline><vline encoding='base64'>ICB7</vline><vline encoding='base64'>ICAgICAgc3RydWN0IHRpbWViIHQ7</vline><vline encoding='base64'>ICA=</vline><vline encoding='base64'>ISAgICAgZnRpbWUoJnQpOw==</vline><vline encoding='base64'>ISAgICAgdGltZVB0ci0+c2VjID0gdC50aW1lOw==</vline><vline encoding='base64'>ISAgICAgdGltZVB0ci0+dXNlYyA9IHQubWlsbGl0bSAqIDEwMDA7</vline><vline encoding='base64'>ICB9</vline><vline encoding='base64'>ICAM</vline><vline encoding='base64'>ICAvKg==</vline><vline encoding='base64'>LS0tIDIyOSwzNDIgLS0tLQ==</vline><vline encoding='base64'>ICBUY2xwR2V0VGltZSh0aW1lUHRyKQ==</vline><vline encoding='base64'>ICAgICAgVGNsX1RpbWUgKnRpbWVQdHI7CQkvKiBMb2NhdGlvbiB0byBzdG9yZSB0aW1lIGluZm9ybWF0aW9uLiAqLw==</vline><vline encoding='base64'>ICB7</vline><vline encoding='base64'>KyAJ</vline><vline encoding='base64'>ICAgICAgc3RydWN0IHRpbWViIHQ7</vline><vline encoding='base64'>ICA=</vline><vline encoding='base64'>ISAgICAgLyogSW5pdGlhbGl6ZSBzdGF0aWMgc3RvcmFnZSBvbiB0aGUgZmlyc3QgdHJpcCB0aHJvdWdoLiAqLw==</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAgICAgLyo=</vline><vline encoding='base64'>ISAgICAgICogTm90ZTogT3V0ZXIgY2hlY2sgZm9yICdpbml0aWFsaXplZCcgaXMgYSBwZXJmb3JtYW5jZSB3aW4=</vline><vline encoding='base64'>ISAgICAgICogc2luY2UgaXQgYXZvaWRzIGFuIGV4dHJhIG11dGV4IGxvY2sgaW4gdGhlIGNvbW1vbiBjYXNlLg==</vline><vline encoding='base64'>ISAgICAgICov</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAgICAgaWYgKCAhdGltZUluZm8uaW5pdGlhbGl6ZWQgKSB7IA==</vline><vline encoding='base64'>ISAJVGNscEluaXRMb2NrKCk7</vline><vline encoding='base64'>ISAJaWYgKCAhdGltZUluZm8uaW5pdGlhbGl6ZWQgKSB7</vline><vline encoding='base64'>ISAJICAgIHRpbWVJbmZvLnBlcmZDb3VudGVyQXZhaWxhYmxl</vline><vline encoding='base64'>ISAJCT0gUXVlcnlQZXJmb3JtYW5jZUZyZXF1ZW5jeSggJnRpbWVJbmZvLmN1ckNvdW50ZXJGcmVxICk7</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAJICAgIC8q</vline><vline encoding='base64'>ISAJICAgICAqIFNvbWUgaGFyZHdhcmUgYWJzdHJhY3Rpb24gbGF5ZXJzIHVzZSB0aGUgQ1BVIGNsb2Nr</vline><vline encoding='base64'>ISAJICAgICAqIGluIHBsYWNlIG9mIHRoZSByZWFsLXRpbWUgY2xvY2sgYXMgYSBwZXJmb3JtYW5jZSBjb3VudGVy</vline><vline encoding='base64'>ISAJICAgICAqIHJlZmVyZW5jZS4gIFRoaXMgcmVzdWx0cyBpbjo=</vline><vline encoding='base64'>ISAJICAgICAqICAgIC0gaW5jb25zaXN0ZW50IHJlc3VsdHMgYW1vbmcgdGhlIHByb2Nlc3NvcnMgb24=</vline><vline encoding='base64'>ISAJICAgICAqICAgICAgbXVsdGktcHJvY2Vzc29yIHN5c3RlbXMu</vline><vline encoding='base64'>ISAJICAgICAqICAgIC0gdW5wcmVkaWN0YWJsZSBjaGFuZ2VzIGluIHBlcmZvcm1hbmNlIGNvdW50ZXIgZnJlcXVlbmN5</vline><vline encoding='base64'>ISAJICAgICAqICAgICAgb24gImdlYXJzaGlmdCIgcHJvY2Vzc29ycyBzdWNoIGFzIFRyYW5zbWV0YSBhbmQ=</vline><vline encoding='base64'>ISAJICAgICAqICAgICAgU3BlZWRTdGVwLg==</vline><vline encoding='base64'>ISAJICAgICAqIFRoZXJlIHNlZW1zIHRvIGJlIG5vIHdheSB0byB0ZXN0IHdoZXRoZXIgdGhlIHBlcmZvcm1hbmNl</vline><vline encoding='base64'>ISAJICAgICAqIGNvdW50ZXIgaXMgcmVsaWFibGUsIGJ1dCBhIHVzZWZ1bCBoZXVyaXN0aWMgaXMgdGhhdA==</vline><vline encoding='base64'>ISAJICAgICAqIGlmIGl0cyBmcmVxdWVuY3kgaXMgMS4xOTMxODIgTUh6IG9yIDMuNTc5NTQ1IE1IeiwgaXQncw==</vline><vline encoding='base64'>ISAJICAgICAqIGRlcml2ZWQgZnJvbSBhIGNvbG9yYnVyc3QgY3J5c3RhbCBhbmQgaXMgdGhlcmVmb3Jl</vline><vline encoding='base64'>ISAJICAgICAqIHRoZSBSVEMgcmF0aGVyIHRoYW4gdGhlIFRTQy4gIElmIGl0J3MgYW55dGhpbmcgZWxzZSwgd2U=</vline><vline encoding='base64'>ISAJICAgICAqIHByZXN1bWUgdGhhdCB0aGUgcGVyZm9ybWFuY2UgY291bnRlciBpcyB1bnJlbGlhYmxlLg==</vline><vline encoding='base64'>ISAJICAgICAqLw==</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAJICAgIGlmICggdGltZUluZm8ucGVyZkNvdW50ZXJBdmFpbGFibGU=</vline><vline encoding='base64'>ISAJCSAmJiB0aW1lSW5mby5jdXJDb3VudGVyRnJlcS5RdWFkUGFydCAhPSAxMTkzMTgydWk2NA==</vline><vline encoding='base64'>ISAJCSAmJiB0aW1lSW5mby5jdXJDb3VudGVyRnJlcS5RdWFkUGFydCAhPSAzNTc5NTQ1dWk2NCApIHs=</vline><vline encoding='base64'>ISAJCXRpbWVJbmZvLnBlcmZDb3VudGVyQXZhaWxhYmxlID0gRkFMU0U7</vline><vline encoding='base64'>ISAJICAgIH0=</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAJICAgIC8q</vline><vline encoding='base64'>ISAJICAgICAqIElmIHRoZSBwZXJmb3JtYW5jZSBjb3VudGVyIGlzIGF2YWlsYWJsZSwgc3RhcnQgYSB0aHJlYWQgdG8=</vline><vline encoding='base64'>ISAJICAgICAqIGNhbGlicmF0ZSBpdC4=</vline><vline encoding='base64'>ISAJICAgICAqLw==</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAJICAgIGlmICggdGltZUluZm8ucGVyZkNvdW50ZXJBdmFpbGFibGUgKSB7</vline><vline encoding='base64'>ISAJCURXT1JEIGlkOw==</vline><vline encoding='base64'>ISAJCUluaXRpYWxpemVDcml0aWNhbFNlY3Rpb24oICZ0aW1lSW5mby5jcyApOw==</vline><vline encoding='base64'>ISAJCXRpbWVJbmZvLnJlYWR5RXZlbnQgPSBDcmVhdGVFdmVudCggTlVMTCwgRkFMU0UsIEZBTFNFLCBOVUxMICk7</vline><vline encoding='base64'>ISAJCXRpbWVJbmZvLmNhbGlicmF0aW9uVGhyZWFkID0gQ3JlYXRlVGhyZWFkKCBOVUxMLA==</vline><vline encoding='base64'>ISAJCQkJCQkJICAgODE5Miw=</vline><vline encoding='base64'>ISAJCQkJCQkJICAgQ2FsaWJyYXRpb25UaHJlYWQs</vline><vline encoding='base64'>ISAJCQkJCQkJICAgKExQVk9JRCkgTlVMTCw=</vline><vline encoding='base64'>ISAJCQkJCQkJICAgMCw=</vline><vline encoding='base64'>ISAJCQkJCQkJICAgJmlkICk7</vline><vline encoding='base64'>ISAJCVNldFRocmVhZFByaW9yaXR5KCB0aW1lSW5mby5jYWxpYnJhdGlvblRocmVhZCw=</vline><vline encoding='base64'>ISAJCQkJICAgVEhSRUFEX1BSSU9SSVRZX0hJR0hFU1QgKTs=</vline><vline encoding='base64'>ISAJCVdhaXRGb3JTaW5nbGVPYmplY3QoIHRpbWVJbmZvLnJlYWR5RXZlbnQsIElORklOSVRFICk7</vline><vline encoding='base64'>ISAJCUNsb3NlSGFuZGxlKCB0aW1lSW5mby5yZWFkeUV2ZW50ICk7</vline><vline encoding='base64'>ISAJICAgIH0=</vline><vline encoding='base64'>ISAJICAgIHRpbWVJbmZvLmluaXRpYWxpemVkID0gVFJVRTs=</vline><vline encoding='base64'>ISAJfQ==</vline><vline encoding='base64'>ISAJVGNscEluaXRVbmxvY2soKTs=</vline><vline encoding='base64'>ISAgICAgfQ==</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAgICAgaWYgKCB0aW1lSW5mby5wZXJmQ291bnRlckF2YWlsYWJsZSApIHs=</vline><vline encoding='base64'>ISAJ</vline><vline encoding='base64'>ISAJLyo=</vline><vline encoding='base64'>ISAJICogUXVlcnkgdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIgYW5kIHVzZSBpdCB0byBjYWxjdWxhdGUgdGhl</vline><vline encoding='base64'>ISAJICogY3VycmVudCB0aW1lLg==</vline><vline encoding='base64'>ISAJICov</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAJTEFSR0VfSU5URUdFUiBjdXJDb3VudGVyOw==</vline><vline encoding='base64'>ISAJCQkJLyogQ3VycmVudCBwZXJmb3JtYW5jZSBjb3VudGVyICov</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAJTE9OR0xPTkcgY3VyRmlsZVRpbWU7</vline><vline encoding='base64'>ISAJCQkJLyogQ3VycmVudCBlc3RpbWF0ZWQgdGltZSwgZXhwcmVzc2Vk</vline><vline encoding='base64'>ISAJCQkJICogYXMgMTAwLW5zIHRpY2tzIHNpbmNlIHRoZSBXaW5kb3dzIGVwb2NoICov</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAJc3RhdGljIGNvbnN0IExBUkdFX0lOVEVHRVIgcG9zaXhFcG9jaCA9IHsgMHhENTNFODAwMCwgMHgwMTlEQjFERSB9Ow==</vline><vline encoding='base64'>ISAJCQkJLyogUG9zaXggZXBvY2ggZXhwcmVzc2VkIGFzIDEwMC1ucyB0aWNrcw==</vline><vline encoding='base64'>ISAJCQkJICogc2luY2UgdGhlIHdpbmRvd3MgZXBvY2ggKi8=</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAJTE9OR0xPTkcgdXNlY1NpbmNlUG9zaXhFcG9jaDs=</vline><vline encoding='base64'>ISAJCQkJLyogQ3VycmVudCBtaWNyb3NlY29uZHMgc2luY2UgUG9zaXggZXBvY2ggKi8=</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAJRW50ZXJDcml0aWNhbFNlY3Rpb24oICZ0aW1lSW5mby5jcyApOw==</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAJUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIoICZjdXJDb3VudGVyICk7</vline><vline encoding='base64'>ISAJY3VyRmlsZVRpbWUgPSB0aW1lSW5mby5sYXN0RmlsZVRpbWUuUXVhZFBhcnQ=</vline><vline encoding='base64'>ISAJICAgICsgKCAoIGN1ckNvdW50ZXIuUXVhZFBhcnQgLSB0aW1lSW5mby5sYXN0Q291bnRlci5RdWFkUGFydCAp</vline><vline encoding='base64'>ISAJCSogMTAwMDAwMDAgLyB0aW1lSW5mby5jdXJDb3VudGVyRnJlcS5RdWFkUGFydCApOw==</vline><vline encoding='base64'>ISAJdGltZUluZm8ubGFzdEZpbGVUaW1lLlF1YWRQYXJ0ID0gY3VyRmlsZVRpbWU7</vline><vline encoding='base64'>ISAJdGltZUluZm8ubGFzdENvdW50ZXIuUXVhZFBhcnQgPSBjdXJDb3VudGVyLlF1YWRQYXJ0Ow==</vline><vline encoding='base64'>ISAJdXNlY1NpbmNlUG9zaXhFcG9jaCA9ICggY3VyRmlsZVRpbWUgLSBwb3NpeEVwb2NoLlF1YWRQYXJ0ICkgLyAxMDs=</vline><vline encoding='base64'>ISAJdGltZVB0ci0+c2VjID0gKHRpbWVfdCkgKCB1c2VjU2luY2VQb3NpeEVwb2NoIC8gMTAwMDAwMCApOw==</vline><vline encoding='base64'>ISAJdGltZVB0ci0+dXNlYyA9ICh1bnNpZ25lZCBsb25nICkgKCB1c2VjU2luY2VQb3NpeEVwb2NoICUgMTAwMDAwMCApOw==</vline><vline encoding='base64'>ISAJ</vline><vline encoding='base64'>ISAJTGVhdmVDcml0aWNhbFNlY3Rpb24oICZ0aW1lSW5mby5jcyApOw==</vline><vline encoding='base64'>ISA=</vline><vline encoding='base64'>ISAJ</vline><vline encoding='base64'>ISAgICAgfSBlbHNlIHs=</vline><vline encoding='base64'>ISAJ</vline><vline encoding='base64'>ISAJLyogSGlnaCByZXNvbHV0aW9uIHRpbWVyIGlzIG5vdCBhdmFpbGFibGUuICBKdXN0IHVzZSBmdGltZSAqLw==</vline><vline encoding='base64'>ISAJ</vline><vline encoding='base64'>ISAJZnRpbWUoJnQpOw==</vline><vline encoding='base64'>ISAJdGltZVB0ci0+c2VjID0gdC50aW1lOw==</vline><vline encoding='base64'>ISAJdGltZVB0ci0+dXNlYyA9IHQubWlsbGl0bSAqIDEwMDA7</vline><vline encoding='base64'>ISAgICAgfQ==</vline><vline encoding='base64'>ICB9</vline><vline encoding='base64'>ICAM</vline><vline encoding='base64'>ICAvKg==</vline><vline encoding='base64'>KioqKioqKioqKioqKioq</vline><vline encoding='base64'>KioqIDQzOSw0NDIgKioqKg==</vline><vline encoding='base64'>LS0tIDYyOCw4NDMgLS0tLQ==</vline><vline encoding='base64'>ICAgICAgfQ==</vline><vline encoding='base64'>ICA=</vline><vline encoding='base64'>ICAgICAgcmV0dXJuIHRtUHRyOw==</vline><vline encoding='base64'>KyB9</vline><vline encoding='base64'>KyAM</vline><vline encoding='base64'>KyAvKg==</vline><vline encoding='base64'>KyAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0=</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBDYWxpYnJhdGlvblRocmVhZCAtLQ==</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKglUaHJlYWQgdGhhdCBtYW5hZ2VzIGNhbGlicmF0aW9uIG9mIHRoZSBoaS1yZXNvbHV0aW9uIHRpbWU=</vline><vline encoding='base64'>KyAgKglkZXJpdmVkIGZyb20gdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIsIHRvIGtlZXAgaXQgc3luY2hyb25pemVk</vline><vline encoding='base64'>KyAgKgl3aXRoIHRoZSBzeXN0ZW0gY2xvY2su</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBQYXJhbWV0ZXJzOg==</vline><vline encoding='base64'>KyAgKglhcmcgLS0gQ2xpZW50IGRhdGEgZnJvbSB0aGUgQ3JlYXRlVGhyZWFkIGNhbGwuICBUaGlzIHBhcmFtZXRlcg==</vline><vline encoding='base64'>KyAgKiAgICAgICAgICAgICBwb2ludHMgdG8gdGhlIHN0YXRpYyBUaW1lSW5mbyBzdHJ1Y3R1cmUu</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBSZXR1cm4gdmFsdWU6</vline><vline encoding='base64'>KyAgKglOb25lLiAgVGhpcyB0aHJlYWQgZW1iZWRzIGFuIGluZmluaXRlIGxvb3Au</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBTaWRlIGVmZmVjdHM6</vline><vline encoding='base64'>KyAgKglBdCBhbiBpbnRlcnZhbCBvZiBjbG9ja0NhbGlicmF0ZVdha2V1cEludGVydmFsIG1zLCB0aGlzIHRocmVhZA==</vline><vline encoding='base64'>KyAgKglwZXJmb3JtcyB2aXJ0dWFsIHRpbWUgZGlzY2lwbGluZS4=</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBOb3RlOiBXaGVuIHRoaXMgdGhyZWFkIGlzIGVudGVyZWQsIFRjbHBJbml0TG9jayBoYXMgYmVlbiBjYWxsZWQ=</vline><vline encoding='base64'>KyAgKiB0byBzYWZlZ3VhcmQgdGhlIHN0YXRpYyBzdG9yYWdlLiAgVGhlcmUgaXMgdGhlcmVmb3JlIG5vIHN5bmNocm9uaXphdGlvbg==</vline><vline encoding='base64'>KyAgKiBpbiB0aGUgYm9keSBvZiB0aGlzIHByb2NlZHVyZS4=</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0=</vline><vline encoding='base64'>KyAgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyBzdGF0aWMgRFdPUkQgV0lOQVBJ</vline><vline encoding='base64'>KyBDYWxpYnJhdGlvblRocmVhZCggTFBWT0lEIGFyZyAp</vline><vline encoding='base64'>KyB7</vline><vline encoding='base64'>KyAgICAgRklMRVRJTUUgY3VyRmlsZVRpbWU7</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgLyogR2V0IGluaXRpYWwgc3lzdGVtIHRpbWUgYW5kIHBlcmZvcm1hbmNlIGNvdW50ZXIgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoICZjdXJGaWxlVGltZSApOw==</vline><vline encoding='base64'>KyAgICAgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIoICZ0aW1lSW5mby5sYXN0Q291bnRlciApOw==</vline><vline encoding='base64'>KyAgICAgUXVlcnlQZXJmb3JtYW5jZUZyZXF1ZW5jeSggJnRpbWVJbmZvLmN1ckNvdW50ZXJGcmVxICk7</vline><vline encoding='base64'>KyAgICAgdGltZUluZm8ubGFzdEZpbGVUaW1lLkxvd1BhcnQgPSBjdXJGaWxlVGltZS5kd0xvd0RhdGVUaW1lOw==</vline><vline encoding='base64'>KyAgICAgdGltZUluZm8ubGFzdEZpbGVUaW1lLkhpZ2hQYXJ0ID0gY3VyRmlsZVRpbWUuZHdIaWdoRGF0ZVRpbWU7</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgLyogSW5pdGlhbGl6ZSB0aGUgd29ya2luZyBzdG9yYWdlIGZvciB0aGUgY2FsaWJyYXRpb24gY2FsbGJhY2sgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgdGltZUluZm8ubGFzdFBlcmZDb3VudGVyID0gdGltZUluZm8ubGFzdENvdW50ZXIuUXVhZFBhcnQ7</vline><vline encoding='base64'>KyAgICAgdGltZUluZm8uZXN0UGVyZkNvdW50ZXJGcmVxID0gdGltZUluZm8uY3VyQ291bnRlckZyZXEuUXVhZFBhcnQ7</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgLyo=</vline><vline encoding='base64'>KyAgICAgICogV2FrZSB1cCB0aGUgY2FsbGluZyB0aHJlYWQuICBXaGVuIGl0IHdha2VzIHVwLCBpdCB3aWxsIHJlbGVhc2UgdGhl</vline><vline encoding='base64'>KyAgICAgICogaW5pdGlhbGl6YXRpb24gbG9jay4=</vline><vline encoding='base64'>KyAgICAgICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgU2V0RXZlbnQoIHRpbWVJbmZvLnJlYWR5RXZlbnQgKTs=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgLyogUnVuIHRoZSBjYWxpYnJhdGlvbiBvbmNlIGEgc2Vjb25kICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgZm9yICggOyA7ICkgew==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAJU2xlZXAoIDEwMDAgKTs=</vline><vline encoding='base64'>KyAJVXBkYXRlVGltZUVhY2hTZWNvbmQoKTs=</vline><vline encoding='base64'>KyAJ</vline><vline encoding='base64'>KyAgICAgfQ==</vline><vline encoding='base64'>KyB9</vline><vline encoding='base64'>KyAM</vline><vline encoding='base64'>KyAvKg==</vline><vline encoding='base64'>KyAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0=</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBVcGRhdGVUaW1lRWFjaFNlY29uZCAtLQ==</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKglDYWxsYmFjayBmcm9tIHRoZSB3YWl0YWJsZSB0aW1lciBpbiB0aGUgY2xvY2sgY2FsaWJyYXRpb24gdGhyZWFk</vline><vline encoding='base64'>KyAgKgl0aGF0IHVwZGF0ZXMgc3lzdGVtIHRpbWUu</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBQYXJhbWV0ZXJzOg==</vline><vline encoding='base64'>KyAgKglpbmZvIC0tIFBvaW50ZXIgdG8gdGhlIHN0YXRpYyBUaW1lSW5mbyBzdHJ1Y3R1cmU=</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBSZXN1bHRzOg==</vline><vline encoding='base64'>KyAgKglOb25lLg==</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKiBTaWRlIGVmZmVjdHM6</vline><vline encoding='base64'>KyAgKglQZXJmb3JtcyB2aXJ0dWFsIHRpbWUgY2FsaWJyYXRpb24gZGlzY2lwbGluZS4=</vline><vline encoding='base64'>KyAgKg==</vline><vline encoding='base64'>KyAgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0=</vline><vline encoding='base64'>KyAgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyBzdGF0aWMgdm9pZA==</vline><vline encoding='base64'>KyBVcGRhdGVUaW1lRWFjaFNlY29uZCgp</vline><vline encoding='base64'>KyB7</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgTEFSR0VfSU5URUdFUiBjdXJQZXJmQ291bnRlcjs=</vline><vline encoding='base64'>KyAJCQkJLyogQ3VycmVudCB2YWx1ZSByZXR1cm5lZCBmcm9t</vline><vline encoding='base64'>KyAJCQkJICogUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgTE9OR0xPTkcgcGVyZkNvdW50ZXJEaWZmOwkvKiBEaWZmZXJlbmNlIGJldHdlZW4gdGhlIGN1cnJlbnQgdmFsdWU=</vline><vline encoding='base64'>KyAJCQkJICogYW5kIHRoZSB2YWx1ZSBvZiAxIHNlY29uZCBhZ28gKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgRklMRVRJTUUgY3VyU3lzVGltZTsJLyogQ3VycmVudCBzeXN0ZW0gdGltZSAqLw==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgTEFSR0VfSU5URUdFUiBjdXJGaWxlVGltZTsJLyogRmlsZSB0aW1lIGF0IHRoZSB0aW1lIHRoaXMgY2FsbGJhY2s=</vline><vline encoding='base64'>KyAJCQkJICogd2FzIHNjaGVkdWxlZC4gKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgTE9OR0xPTkcgZmlsZVRpbWVEaWZmOwkvKiBFbGFwc2VkIHRpbWUgb24gdGhlIHN5c3RlbSBjbG9jaw==</vline><vline encoding='base64'>KyAJCQkJICogc2luY2UgdGhlIGxhc3QgdGltZSB0aGlzIHByb2NlZHVyZQ==</vline><vline encoding='base64'>KyAJCQkJICogd2FzIGNhbGxlZCAqLw==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgTE9OR0xPTkcgaW5zdGFudEZyZXE7CS8qIEluc3RhbnRhbmVvdXMgZXN0aW1hdGUgb2YgdGhl</vline><vline encoding='base64'>KyAJCQkJICogcGVyZm9ybWFuY2UgY291bnRlciBmcmVxdWVuY3kgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgTE9OR0xPTkcgZGVsdGE7CQkvKiBJbmNyZW1lbnQgdG8gYWRkIHRvIHRoZSBlc3RpbWF0ZWQ=</vline><vline encoding='base64'>KyAJCQkJICogcGVyZm9ybWFuY2UgY291bnRlciBmcmVxdWVuY3kgaW4gdGhl</vline><vline encoding='base64'>KyAJCQkJICogbG9vcCBmaWx0ZXIgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgTE9OR0xPTkcgZnV6ejsJCS8qIFRvbGVyYW5jZSBmb3IgdGhlIHBlcmYgY291bnRlciBmcmVxdWVuY3kgKi8=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgTE9OR0xPTkcgbG93Qm91bmQ7CQkvKiBMb3dlciBib3VuZCBmb3IgdGhlIGZyZXF1ZW5jeSBhc3N1bWluZw==</vline><vline encoding='base64'>KyAJCQkJICogMTAwMCBwcG0gdG9sZXJhbmNlICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgTE9OR0xPTkcgaGlCb3VuZDsJCS8qIFVwcGVyIGJvdW5kIGZvciB0aGUgZnJlcXVlbmN5ICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgLyo=</vline><vline encoding='base64'>KyAgICAgICogR2V0IGN1cnJlbnQgcGVyZm9ybWFuY2UgY291bnRlciBhbmQgc3lzdGVtIHRpbWUu</vline><vline encoding='base64'>KyAgICAgICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIoICZjdXJQZXJmQ291bnRlciApOw==</vline><vline encoding='base64'>KyAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoICZjdXJTeXNUaW1lICk7</vline><vline encoding='base64'>KyAgICAgY3VyRmlsZVRpbWUuTG93UGFydCA9IGN1clN5c1RpbWUuZHdMb3dEYXRlVGltZTs=</vline><vline encoding='base64'>KyAgICAgY3VyRmlsZVRpbWUuSGlnaFBhcnQgPSBjdXJTeXNUaW1lLmR3SGlnaERhdGVUaW1lOw==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgRW50ZXJDcml0aWNhbFNlY3Rpb24oICZ0aW1lSW5mby5jcyApOw==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgLyo=</vline><vline encoding='base64'>KyAgICAgICogRmluZCBvdXQgaG93IG1hbnkgdGlja3Mgb2YgdGhlIHBlcmZvcm1hbmNlIGNvdW50ZXIgYW5kIHRoZQ==</vline><vline encoding='base64'>KyAgICAgICogc3lzdGVtIGNsb2NrIGhhdmUgZWxhcHNlZCBzaW5jZSB3ZSBnb3QgaW50byB0aGlzIHByb2NlZHVyZS4=</vline><vline encoding='base64'>KyAgICAgICogRXN0aW1hdGUgdGhlIGN1cnJlbnQgZnJlcXVlbmN5Lg==</vline><vline encoding='base64'>KyAgICAgICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgcGVyZkNvdW50ZXJEaWZmID0gY3VyUGVyZkNvdW50ZXIuUXVhZFBhcnQgLSB0aW1lSW5mby5sYXN0UGVyZkNvdW50ZXI7</vline><vline encoding='base64'>KyAgICAgdGltZUluZm8ubGFzdFBlcmZDb3VudGVyID0gY3VyUGVyZkNvdW50ZXIuUXVhZFBhcnQ7</vline><vline encoding='base64'>KyAgICAgZmlsZVRpbWVEaWZmID0gY3VyRmlsZVRpbWUuUXVhZFBhcnQgLSB0aW1lSW5mby5sYXN0U3lzVGltZTs=</vline><vline encoding='base64'>KyAgICAgdGltZUluZm8ubGFzdFN5c1RpbWUgPSBjdXJGaWxlVGltZS5RdWFkUGFydDs=</vline><vline encoding='base64'>KyAgICAgaW5zdGFudEZyZXEgPSAoIDEwMDAwMDAwICogcGVyZkNvdW50ZXJEaWZmIC8gZmlsZVRpbWVEaWZmICk7</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgLyo=</vline><vline encoding='base64'>KyAgICAgICogQ29uc2lkZXIgdGhpcyBhIHRpbWluZyBnbGl0Y2ggaWYgaW5zdGFudCBmcmVxdWVuY3kgdmFyaWVz</vline><vline encoding='base64'>KyAgICAgICogc2lnbmlmaWNhbnRseSBmcm9tIHRoZSBjdXJyZW50IGVzdGltYXRlLg==</vline><vline encoding='base64'>KyAgICAgICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgZnV6eiA9IHRpbWVJbmZvLmVzdFBlcmZDb3VudGVyRnJlcSA+PiAxMDs=</vline><vline encoding='base64'>KyAgICAgbG93Qm91bmQgPSB0aW1lSW5mby5lc3RQZXJmQ291bnRlckZyZXEgLSBmdXp6Ow==</vline><vline encoding='base64'>KyAgICAgaGlCb3VuZCA9IHRpbWVJbmZvLmVzdFBlcmZDb3VudGVyRnJlcSArIGZ1eno7</vline><vline encoding='base64'>KyAgICAgaWYgKCBpbnN0YW50RnJlcSA8IGxvd0JvdW5kIHx8IGluc3RhbnRGcmVxID4gaGlCb3VuZCApIHs=</vline><vline encoding='base64'>KyAJTGVhdmVDcml0aWNhbFNlY3Rpb24oICZ0aW1lSW5mby5jcyApOw==</vline><vline encoding='base64'>KyAJcmV0dXJuOw==</vline><vline encoding='base64'>KyAgICAgfQ==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgLyo=</vline><vline encoding='base64'>KyAgICAgICogVXBkYXRlIHRoZSBjdXJyZW50IGVzdGltYXRlIG9mIHBlcmZvcm1hbmNlIGNvdW50ZXIgZnJlcXVlbmN5Lg==</vline><vline encoding='base64'>KyAgICAgICogVGhpcyBjb2RlIGlzIGVxdWl2YWxlbnQgdG8gdGhlIGxvb3AgZmlsdGVyIG9mIGEgcGhhc2UgbG9ja2Vk</vline><vline encoding='base64'>KyAgICAgICogbG9vcC4=</vline><vline encoding='base64'>KyAgICAgICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgZGVsdGEgPSAoIGluc3RhbnRGcmVxIC0gdGltZUluZm8uZXN0UGVyZkNvdW50ZXJGcmVxICkgPj4gNjs=</vline><vline encoding='base64'>KyAgICAgdGltZUluZm8uZXN0UGVyZkNvdW50ZXJGcmVxICs9IGRlbHRhOw==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgLyo=</vline><vline encoding='base64'>KyAgICAgICogVXBkYXRlIHRoZSBjdXJyZW50IHZpcnR1YWwgdGltZS4=</vline><vline encoding='base64'>KyAgICAgICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgdGltZUluZm8ubGFzdEZpbGVUaW1lLlF1YWRQYXJ0</vline><vline encoding='base64'>KyAJKz0gKCAoIGN1clBlcmZDb3VudGVyLlF1YWRQYXJ0IC0gdGltZUluZm8ubGFzdENvdW50ZXIuUXVhZFBhcnQgKQ==</vline><vline encoding='base64'>KyAJICAgICAqIDEwMDAwMDAwIC8gdGltZUluZm8uY3VyQ291bnRlckZyZXEuUXVhZFBhcnQgKTs=</vline><vline encoding='base64'>KyAgICAgdGltZUluZm8ubGFzdENvdW50ZXIuUXVhZFBhcnQgPSBjdXJQZXJmQ291bnRlci5RdWFkUGFydDs=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgZGVsdGEgPSBjdXJGaWxlVGltZS5RdWFkUGFydCAtIHRpbWVJbmZvLmxhc3RGaWxlVGltZS5RdWFkUGFydDs=</vline><vline encoding='base64'>KyAgICAgaWYgKCBkZWx0YSA+IDEwMDAwMDAwIHx8IGRlbHRhIDwgLTEwMDAwMDAwICkgew==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAJLyo=</vline><vline encoding='base64'>KyAJICogSWYgdGhlIHZpcnR1YWwgdGltZSBzbGlwIGV4Y2VlZHMgb25lIHNlY29uZCwgdGhlbiBhZGp1c3Rpbmc=</vline><vline encoding='base64'>KyAJICogdGhlIGNvdW50ZXIgZnJlcXVlbmN5IGlzIGhvcGVsZXNzIChpdCdsbCB0YWtlIG92ZXIgZmlmdGVlbg==</vline><vline encoding='base64'>KyAJICogbWludXRlcyB0byBsaW5lIHVwIHdpdGggdGhlIHN5c3RlbSBjbG9jaykuICBUaGUgbW9zdCBsaWtlbHk=</vline><vline encoding='base64'>KyAJICogY2F1c2Ugb2YgdGhpcyBsYXJnZSBhIHNsaXAgaXMgYSBzdWRkZW4gY2hhbmdlIHRvIHRoZSBzeXN0ZW0=</vline><vline encoding='base64'>KyAJICogY2xvY2ssIHBlcmhhcHMgYmVjYXVzZSBpdCB3YXMgYmVpbmcgY29ycmVjdGVkIGJ5IHdyaXN0d2F0Y2g=</vline><vline encoding='base64'>KyAJICogYW5kIGV5ZWJhbGwuICBBY2NlcHQgdGhlIHN5c3RlbSB0aW1lLCBhbmQgc2V0IHRoZSBwZXJmb3JtYW5jZQ==</vline><vline encoding='base64'>KyAJICogY291bnRlciBmcmVxdWVuY3kgdG8gdGhlIGN1cnJlbnQgZXN0aW1hdGUu</vline><vline encoding='base64'>KyAJICov</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAJdGltZUluZm8ubGFzdEZpbGVUaW1lLlF1YWRQYXJ0ID0gY3VyRmlsZVRpbWUuUXVhZFBhcnQ7</vline><vline encoding='base64'>KyAJdGltZUluZm8uY3VyQ291bnRlckZyZXEuUXVhZFBhcnQgPSB0aW1lSW5mby5lc3RQZXJmQ291bnRlckZyZXE7</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgfSBlbHNlIHs=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAJLyo=</vline><vline encoding='base64'>KyAJICogQ29tcHV0ZSBhIGNvdW50ZXIgZnJlcXVlbmN5IHRoYXQgd2lsbCBjYXVzZSB2aXJ0dWFsIHRpbWUgdG8gbGluZQ==</vline><vline encoding='base64'>KyAJICogdXAgd2l0aCBzeXN0ZW0gdGltZSBvbmUgc2Vjb25kIGZyb20gbm93LCBhc3N1bWluZyB0aGF0IHRoZQ==</vline><vline encoding='base64'>KyAJICogcGVyZm9ybWFuY2UgY291bnRlciBjb250aW51ZXMgdG8gdGljayBhdCB0aW1lSW5mby5lc3RQZXJmQ291bnRlckZyZXEu</vline><vline encoding='base64'>KyAJICov</vline><vline encoding='base64'>KyAJ</vline><vline encoding='base64'>KyAJdGltZUluZm8uY3VyQ291bnRlckZyZXEuUXVhZFBhcnQ=</vline><vline encoding='base64'>KyAJICAgID0gMTAwMDAwMDAgKiB0aW1lSW5mby5lc3RQZXJmQ291bnRlckZyZXEgLyAoIGRlbHRhICsgMTAwMDAwMDAgKTs=</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAJLyo=</vline><vline encoding='base64'>KyAJICogTGltaXQgZnJlcXVlbmN5IGV4Y3Vyc2lvbnMgdG8gMTAwMCBwcG0gZnJvbSBlc3RpbWF0ZQ==</vline><vline encoding='base64'>KyAJICov</vline><vline encoding='base64'>KyAJ</vline><vline encoding='base64'>KyAJaWYgKCB0aW1lSW5mby5jdXJDb3VudGVyRnJlcS5RdWFkUGFydCA8IGxvd0JvdW5kICkgew==</vline><vline encoding='base64'>KyAJICAgIHRpbWVJbmZvLmN1ckNvdW50ZXJGcmVxLlF1YWRQYXJ0ID0gbG93Qm91bmQ7</vline><vline encoding='base64'>KyAJfSBlbHNlIGlmICggdGltZUluZm8uY3VyQ291bnRlckZyZXEuUXVhZFBhcnQgPiBoaUJvdW5kICkgew==</vline><vline encoding='base64'>KyAJICAgIHRpbWVJbmZvLmN1ckNvdW50ZXJGcmVxLlF1YWRQYXJ0ID0gaGlCb3VuZDs=</vline><vline encoding='base64'>KyAJfQ==</vline><vline encoding='base64'>KyAgICAgfQ==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyAgICAgTGVhdmVDcml0aWNhbFNlY3Rpb24oICZ0aW1lSW5mby5jcyApOw==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>ICB9</vline><vline encoding='base64'>KioqIC4uL3RjbDguMy4yYmFzZS9zcmMvdGNsOC4zLjIvdGVzdC93aW5UaW1lLnRlc3QgTW9uIEFwciAxMCAxMzoxOTowOCAyMDAw</vline><vline encoding='base64'>LS0tIC4vdGNsOC4zLjIvc3JjL3RjbDguMy4yL3Rlc3Qvd2luVGltZS50ZXN0IFdlZCBTZXAgIDYgMTQ6NTU6MzAgMjAwMA==</vline><vline encoding='base64'>KioqKioqKioqKioqKioq</vline><vline encoding='base64'>KioqIDMzLDM4ICoqKio=</vline><vline encoding='base64'>LS0tIDMzLDY0IC0tLS0=</vline><vline encoding='base64'>ICAgICAgc2V0IHJlc3VsdA==</vline><vline encoding='base64'>ICB9IHsxOTY5fQ==</vline><vline encoding='base64'>ICA=</vline><vline encoding='base64'>KyAjIE5leHQgdGVzdCB0cmllcyB0byBtYWtlIHN1cmUgdGhhdCB0aGUgVGNsIGNsb2NrIHN0YXlzIGluIHN0ZXA=</vline><vline encoding='base64'>KyAjIHdpdGggdGhlIFdpbmRvd3MgY2xvY2suICAzMDAwIGl0ZXJhdGlvbnMgcmVhbGx5IGlzbid0IGVub3VnaCw=</vline><vline encoding='base64'>KyAjIGJ1dCBob3cgbWFueSBkb2VzIGEgdGVzdGVyIGhhdmUgcGF0aWVuY2UgZm9yPw==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>KyB0ZXN0IHdpblRpbWUtMi4xIHtTeW5jaHJvbml6YXRpb24gb2YgVGNsIGFuZCBXaW5kb3dzIGNsb2Nrc30ge3BjT25seX0gew==</vline><vline encoding='base64'>KyAgICAgc2V0IGZhaWxlZCAw</vline><vline encoding='base64'>KyAgICAgZm9yZWFjaCB7IHN5c19zZWMgc3lzX3VzZWMgdGNsX3NlYyB0Y2xfdXNlYyB9IFt0ZXN0d2luY2xvY2tdIHt9</vline><vline encoding='base64'>KyAgICAgc2V0IG9sZGRpZmYgW2V4cHIgeyBhYnMgKCAkdGNsX3NlYyAtICRzeXNfc2Vj</vline><vline encoding='base64'>KyAJCQkgICArIDEuMGUtNiAqICggJHRjbF91c2VjIC0gJHN5c191c2VjICkgKSB9XQ==</vline><vline encoding='base64'>KyAgICAgc2V0IG9rIDE=</vline><vline encoding='base64'>KyAgICAgZm9yIHsgc2V0IGkgMCB9IHsgJGkgPCAzMDAwIH0geyBpbmNyIGkgfSB7</vline><vline encoding='base64'>KyAJZm9yZWFjaCB7IHN5c19zZWMgc3lzX3VzZWMgdGNsX3NlYyB0Y2xfdXNlYyB9IFt0ZXN0d2luY2xvY2tdIHt9</vline><vline encoding='base64'>KyAJc2V0IGRpZmYgW2V4cHIgeyBhYnMgKCAkdGNsX3NlYyAtICRzeXNfc2Vj</vline><vline encoding='base64'>KyAJCQkgICAgICAgKyAxLjBlLTYgKiAoICR0Y2xfdXNlYyAtICRzeXNfdXNlYyApICkgfV0=</vline><vline encoding='base64'>KyAJaWYgeyAoICRkaWZmID4gJG9sZGRpZmYgKyAxMDAwICk=</vline><vline encoding='base64'>KyAJICAgICB8fCAoICRkaWZmID4gMTEwMDAgKSB9IHs=</vline><vline encoding='base64'>KyAJICAgIHNldCBmYWlsZWQgMQ==</vline><vline encoding='base64'>KyAJICAgIGJyZWFr</vline><vline encoding='base64'>KyAJfSBlbHNlIHs=</vline><vline encoding='base64'>KyAJICAgIHNldCBvbGRkaWZmICRkaWZm</vline><vline encoding='base64'>KyAJICAgIGFmdGVyIDE=</vline><vline encoding='base64'>KyAJfQ==</vline><vline encoding='base64'>KyAgICAgfQ==</vline><vline encoding='base64'>KyAgICAgc2V0IGZhaWxlZA==</vline><vline encoding='base64'>KyB9IHswfQ==</vline><vline encoding='base64'>KyA=</vline><vline encoding='base64'>ICAjIGNsZWFudXA=</vline><vline encoding='base64'>ICA6OnRjbHRlc3Q6OmNsZWFudXBUZXN0cw==</vline><vline encoding='base64'>ICByZXR1cm4=</vline></verbatim>
</section>
</body></TIP>

