28 Jul 00 levy@cs _______ Fw: Life stagesFrom: "Adam Carlson" <carlson@cs.washington.edu>
To: <m2-cse573@cs.washington.edu>
Subject: Testing
Date: Mon, 27 Sep 1999 23:22:43 -0700
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Hopefully this message will go out to the cse573 mailing list.
The web site is up and accessible at
http://www.cs.washington.edu/education/courses/cse573/99au/
You can send questions to me or pedro, or to the class mailing list
(cse573@cs.washington.edu). The mailing list should be archived at
http://www.cs.washington.edu/education/courses/cse573/99au/cse573@cs.washing
ton.edu
but this hasn't been tested yet.
Adam
From: Adam Carlson <carlson@cs.washington.edu>
To: cse573 <cse573@cs.washington.edu>
Subject: Reading assignment
Date: Tue, 28 Sep 1999 12:26:57 -0700
Please read Chapter 4 (Search) in the Dean book for this week. For next
week, read Chapter 1 (Introduction), Chapter 3 (Representation and Logic)
and the SAT Solvers section of Dan Weld's paper "Recent Advances in AI
Planning" from AI Magazine's Summer '99 issue or available at
ftp://ftp.cs.washington.edu/pub/ai/pi2.ps. (There's also a link to the
paper on the course web under the Readings section.)
- Adam
From: "Adam Carlson" <carlson@cs.washington.edu>
To: <cse573@cs.washington.edu>
Subject: Re: Reading assignment
Date: Sat, 2 Oct 1999 15:22:03 -0700
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
A student asks....
>Hi Adam,
>
>I'm sorry, but could you tell me how to read a .ps file? I don't know
>what application I need on my computer in order to view it.
>
>Thanks, [Name withheld]
>
>On Tue, 28 Sep 1999, Adam Carlson wrote:
>
>> Please read Chapter 4 (Search) in the Dean book for this week. For next
>> week, read Chapter 1 (Introduction), Chapter 3 (Representation and Logic)
>> and the SAT Solvers section of Dan Weld's paper "Recent Advances in AI
>> Planning" from AI Magazine's Summer '99 issue or available at
>> ftp://ftp.cs.washington.edu/pub/ai/pi2.ps. (There's also a link to the
>> paper on the course web under the Readings section.)
>>
>> - Adam
>>
>
PS is the extension for postscript. Since you're having problems, I'm
guessing that (a) you're at home and (b) you have a windows machine. In
that case you can do one of several things. You can print it on any of the
departmental printers or any printer that handles postscript. You can view
it with ghostview on any departmental machines (unix or nt). You can
download ghostview from the departmental servers (mount
\\rfilesrv2\dist-area), the ghostview program comes in two parts, a
postscript engine (gsscript) and a front end (gsview). You can download a
more recent version of gsview from http://www.cs.wisc.edu/~ghost/index.html.
Finally, I've converted Weld's paper to PDF for your convenience. Check the
web page again. For information on how to do this yourself go to the
department's software web page and look for Adobe Distiller.
If you install ghostview on a windows box at home, here's a note clipped
from the departmental NT software web page. I don't know if it applies to
more recent versions. I never had this problem anyway.
Hint: Once installed you may find postscript files displayed on your screen
are, shall we say, somewhat ugly. Bring up gsview, then select menu item
Media/Display Settings... and set Text Alpha and Graphics Alpha to 4. Then
choose Options/Save Settings Now. Things should be better.
Adam
Sender: carlson@cs.washington.edu
Date: Mon, 11 Oct 1999 16:59:19 -0700
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: If you don't have a partner
If you don't know who you want to work with for the project, send me an
email. Please indicate your preference of programming languages so that
we can try to team people up who want to work in the same language.
Adam
X-Authentication-Warning: ceylon.cs.washington.edu: jwnichls owned process doing -bs
Date: Mon, 11 Oct 1999 17:03:28 -0700 (PDT)
From: Jeffrey Nichols <jwnichls@cs.washington.edu>
To: Adam Carlson <carlson@cs.washington.edu>
cc: cse573@cs.washington.edu
Subject: Re: If you don't have a partner
> If you don't know who you want to work with for the project, send me an
> email. Please indicate your preference of programming languages so that
> we can try to team people up who want to work in the same language.
Adam-
I sent you mail about this earlier... My programming preferences
are (in descending order) Java, LISP, C++. Thanks,
-Jeff
---
Jeff W. Nichols "There are over forty million lines of code in Windows,
UW CSE and I love every one of them."
jwnichls@cs - Jean-Louis Gassee CEO, Be Inc.
Sender: carlson@cs.washington.edu
Date: Tue, 12 Oct 1999 13:35:53 -0700
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Project 1 available
Project 1 is now available on the web at
http://www.cs.washington.edu/education/courses/573/99au/project1/project1.html
or from the main course web. Group project directories haven't been set
up yet, but you can get started by downloading and reading the
assignment and working from you regular accounts until we can get your
group directories created. If you don't have a partner and haven't done
so already, send me an email with your name, email address and your
language(s) of preference. We'll try to have groups picked out by
tomorrow.
Adam
Sender: carlson@cs.washington.edu
Date: Wed, 13 Oct 1999 13:47:04 -0700
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Project groups
The following is the list of project groups. If your name doesn't
appear on it, please email me with asap with the people in your group,
all their usernames and the language you'd like to work in. Similarly,
if there are any more people who don't know who they want to work with,
email me soon. I'll send the final list to support this evening to get
your directories set up, so make sure you email me before then if you
don't see your name below.
Adam
Group username Name
1 cgordon Charles Gordon
1 allen Brett Allen
2 sarahs Sarah Schwarm
2 amohr Alex Mohr
3 douglas Doug Low
3 keller Andy Keller
4 tjaden Brian Tjaden
4 hartline Jason Hartline
5 karenliu Karen Liu
5 goshi Justin Goshi
6 cthomp Chris Thompson
6 bonham Shawn Bonham
7 djp3 Don Patterson
7 swanson Steve Swanson
8 rdunn Richard Dunn
8 zook Isaac Kunen
9 jmc Justin Campbell
9 amp Ana-Maria Popescu
10 tzoompy Stefan Saroiu
10 igor Igor Tatarinov
11 twilliam Tammy William
11 grossman Dan Grossman
12 dportnov Dmitriy Portnov
12 jlnd Janet Davis
13 andrew Andrew Whitaker
13 crosby@amath.washington.edu Jed Crosby
14 jwnichls Jeffrey Nichols
14 myasayko@hotmail.com Mike Yasayko
15 ely David Ely
15 mikesw Mike Swift
To: cse573@cs.washington.edu
cc: pedrod@cs.washington.edu
Subject: Slides
Date: Wed, 13 Oct 1999 14:11:58 -0700
From: Pedro M Domingos <pedrod@cs.washington.edu>
The slides from Russell & Norvig are available at
http://www.cs.berkeley.edu/~russell/slides
Game playing: chapter05
Propositional logic: chapter06
Constraint satisfaction: chapter04b
Predicate calculus (which I'll probably use parts of next week):
chapter07, chapter09a, chapter09b
Pedro
Sender: carlson@cs.washington.edu
Date: Fri, 15 Oct 1999 14:08:32 -0700
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Marques Silva paper available
Some people had trouble printing one of the papers from the recommended
reading section of the assignment. We've made copies of this paper and
placed them near the microwave at the east end of the 4th floor of Sieg.
Adam
Sender: carlson@cs.washington.edu
Date: Mon, 18 Oct 1999 13:38:15 -0700
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Group directories are here
The group directories are now accessible from unix at
/projects/instr/99au/cse573/[a-o]
and on NT by mounting
\\ntdfs\cs\unix\projects\instr\99au\...
Groups have been created so you'll all have permissions within your
group's directory.
cse573a:cgordon,allen
cse573b:sarahs,amohr
cse573c:douglas,keller
cse573d:tjaden,hartline
cse573e:karenliu,goshi
cse573f:cthomp,bonham
cse573g:djp3,swanson
cse573h:rdunn,zook
cse573i:jmc,amp
cse573j:tzoompy,igor
cse573k:twilliam,grossman
cse573l:dportnov,jlnd
cse573m:andrew
cse573n:jwnichls
cse573o:ely,mikesw
Jed Crosby and Mike Yasayko, you'll need to get an account on our
machines to access these. Go to support (Sieg 230) and ask them for
one.
Adam
Sender: carlson@cs.washington.edu
Date: Mon, 18 Oct 1999 14:03:10 -0700
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Premature announcement
Apparently I jumped the gun in my announcement that group directories
were ready.
Several of you have emailed saying you can't get into your directories,
and guess what... neither can I. I've emailed support to check what the
problem is. (Although, if you've been logged in for a while you should
log in again to make sure you're getting the most recent group info.)
You can check if you're in the right group by typing
groups
This will show you what groups you're in. If cse573? (where ? is your
group letter) isn't one of them, then you're not in the right group.
People have also had trouble accessing their directories from NT. I'll
let you know when it's _really_ working.
Adam
From: Adam Carlson <carlson@cs.washington.edu>
To: cse573 <cse573@cs.washington.edu>
Subject: RE: 573
Date: Wed, 20 Oct 1999 10:25:15 -0700
It should have the ability to output a text file in the format given in the
assignment. This will make it easy for you to generate problems, save them
as files and then test multiple versions of the solver on the same problem
set. If you want to have the option of generating some internal format,
you're welcome to implement that too.
Adam
> -----Original Message-----
> From: Name changed to protect the innocent
> Sent: Wednesday, October 20, 1999 10:16 AM
> To: Adam Carlson
> Subject: 573
>
>
> Adam,
>
> Several of us were wondering what the output of the
> satisfiability problem
> generator should be:
>
> 1) A text file in the format given in the assignment
> 2) An internal representation of the satisfiability problem (i.e., the
> data structures that we have defined to represent satisfiability
> problems).
>
> Thanks!
From: Adam Carlson <carlson@cs.washington.edu>
To: cse573 <cse573@cs.washington.edu>
Subject: RE: 573
Date: Wed, 20 Oct 1999 10:43:59 -0700
Yes, in fact, you should make sure that all the variables in a clause are
unique.
> -----Original Message-----
> From: Yet Another Student [yas@fsf.org]
> Sent: Wednesday, October 20, 1999 10:35 AM
> To: Adam Carlson
> Subject: 573
>
>
>
> Adam,
>
> I have another question wrt the generator. Do we need to make
> sure that it
> doesn't produce clauses like: A1 v ~A1 v A2 which is
> obviously the same as
> true, etc
>
> thanks,
>
Sender: carlson@u.washington.edu
Date: Wed, 20 Oct 1999 14:50:30 -0700
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Random number generators
The rand() and srand() random number generators are notoriously bad,
particularly in the low order bits. (In fact it will alternate between
0 and 1 in the lowest order bit.) I suggest you use random, srandom.
If, for some reason, you really need to use rand, read the following,
cribbed from the linux rand man page, who cribbed it from Numerical
Recipes in C.
In Numerical Recipes in C: The Art of Scientific Computing (William H.
Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling;
New York: Cambridge University Press, 1990 (1st ed, p. 207)), the
following comments are made:
"If you want to generate a random integer between 1 and 10, you should
always do it by
j=1+(int) (10.0*rand()/(RAND_MAX+1.0));
and never by anything resembling
j=1+((int) (1000000.0*rand()) % 10);
(which uses lower-order bits)."
Sender: carlson@u.washington.edu
Date: Wed, 20 Oct 1999 15:38:56 -0700
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: [Fwd: [UW-CS #12261] Can't access CS573 group dirs from NT [Fwd: Group
directories are here]]
Some students have had problems getting to their group directories from
NT boxes. When you try and open ...\instr it says "The specified
network password is incorrect." Here's the solution (caveat emptor, I
haven't tried it yet):
Warren Jessop wrote:
>
> >
>
> As to *******'s complaint: if he's logged into the CSERESEARCH domain he'll
> need to follow the instructions in
>
> http://www.cs.washington.edu/lab/sw/uwcsentdfs.html#SEC5
>
> to access stuff on the instructional unix Samba servers.
Date: Wed, 20 Oct 1999 16:49:24 -0700 (PDT)
From: Alex Mohr <amohr@u.washington.edu>
To: carlson@cs.washington.edu, cse573@cs.washington.edu
Subject: Re: Random number generators
In case this is useful to anyone, you can also use (on unix machines)
the rand48 set of functions. It provides functions that return doubles,
signed and unsigned longs, etc, and does so using an algorithm that has
no problems with low-order bit signs. See "man srand48" for more info.
You might initialize the seed by "srand48( time(NULL) + getpid() );"
which uses the current time inseconds and adds the process id. The
same works for srand/srandom. As far as I know, it's safe to use
"lrand48() % N" to get a random long from 0 to N-1.
Alex
X-Authentication-Warning: calvin.cs.washington.edu: ely owned process doing -bs
Date: Sun, 24 Oct 1999 15:50:47 -0700 (PDT)
From: David Ely <ely@cs.washington.edu>
To: cse573@cs.washington.edu
Subject: compiling java on linux
Does anyone know how to compile java into machine dependent code for
linux? I heard there's a gcc front end for java, but I haven't found it
on any of the machines. A makefile would also be useful. Thanks in
advance.
David
From: "Adam Carlson" <carlson@cs.washington.edu>
To: <cse573@cs.washington.edu>
Subject: Re: compiling java on linux
Date: Sun, 24 Oct 1999 18:28:26 -0700
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
One possibility is to use the Vortex compiler developed right here at UW.
It's an optimizing compiler for object-oriented languages that has a java
front-end.
Advantages:
- It does very good optimizations including inter-procedural analysis
(so your sat solver will run fast)
- It's developed here
(so you have ultimate access to support, in some sense)
Disadvantages
- It does very good optimizations including inter-procedural analysis
(So you probably don't want to use it until you're program is all debugged)
- It's developed here
(so it's a research, not a "production" compiler, actual compilation is
pretty slow and memory intensive, although the resulting program is fast.)
If you're interested go to:
http://www.cs.washington.edu/research/projects/cecil/ for an overview or
http://www.cs.washington.edu/research/projects/cecil/www/Release/index.html
for the latest release.
If anyone has other j2c compiler suggestion, feel free to pipe in.
Adam
-----Original Message-----
From: David Ely <ely@cs.washington.edu>
To: cse573@cs.washington.edu <cse573@cs.washington.edu>
Date: Sunday, October 24, 1999 3:50 PM
Subject: compiling java on linux
>Does anyone know how to compile java into machine dependent code for
>linux? I heard there's a gcc front end for java, but I haven't found it
>on any of the machines. A makefile would also be useful. Thanks in
>advance.
>
>David
>
>
>
Date: Mon, 01 Nov 1999 16:47:42 -0800
To: cse573@cs.washington.edu
From: Richard Dunn <rdunn@cs.washington.edu>
Subject: IEEE Journal?
I'm looking for the Engin. library's bound copy of
the IEEE Transactions on Computer Aided Design, for
Jan-June 1992, which has not been on the shelf for
the last 3-4 days. I'm not sure if this is a reshelving
problem or what, but has anyone seen this copy? If
you have, did you happen to have a copy of the Larrabee
SAT article which I could make a recopy of? Thanks.
Richard
X-Authentication-Warning: fiji.cs.washington.edu: mike owned process doing -bs
Date: Tue, 2 Nov 1999 23:17:56 -0800 (PST)
From: Michael Yasayko <mike@cs.washington.edu>
To: cse573@cs.washington.edu
Subject: DIMACS Challenge Proceedings
Fellow cse573 students:
I'm seeking the following two proceedings, which have been checked out
from the Math Library:
Cliques, coloring, and satisfiability : second DIMACS implementation
challenge, October 11-13, 1993 / David S. Johnson, Michael A. Trick,
editors
Satisfiability problem : theory and applications : DIMACS workshop, March
11-13, 1996 / Dingzhu Du, Jun Gu, Panos M. Pardalos, editors
If you have these in your posession, would you mind if I take a look at
them and make a few copies?
Thanks,
Mike
From: "Adam Carlson" <carlson@cs.washington.edu>
To: <cse573@cs.washington.edu>
Subject: bugfix for check-soln.pl
Date: Wed, 3 Nov 1999 20:32:09 -0800
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
There was a bug in the version of check-soln.pl that was on the web page, it
wouldn't always recognize invalid solutions. A fixed version is now
available, please download it again.
Adam
To: cse573@cs.washington.edu
cc: pedrod@cs.washington.edu
Subject: Request for comments: *PROVISIONAL* version of Assignment 2
Date: Fri, 05 Nov 1999 16:38:15 -0800
From: Pedro M Domingos <pedrod@cs.washington.edu>
CSE 573 - FALL 1999
SECOND PROJECT: LEARNING ENSEMBLES
DUE DATE: WEDNESDAY, DECEMBER 8, 1999
In this project you will implement two ensemble learning methods (bagging and
boosting), apply them to a decision tree learner, study the results
experimentally, and design and test your own improved ensemble learner.
* Form into groups of two.
* Implement:
- The ID3 decision tree learner with chi-square pruning (see Exercise 5.6 of
Dean). You may treat numeric values by pre-discretizing them into
equal-sized bins, and missing values by filling in with the most frequent
value (or the average, for numeric attributes).
- The Bagging ensemble learning method.
- The AdaBoost ensemble learning method.
* Download at least 10 (and ideally 20 or more) classification datasets
from the UCI repository [http://www.ics.uci.edu/~mlearn/MLRepository.html].
In addition to using these datasets directly, you may modify them (e.g.,
by adding noise or irrelevant attributes), and you may generate synthetic
datasets using a generator (or generators) of your own design.
* Study and compare the two ensemble methods empirically. The fundamental
dependent variable to consider is the methods' accuracy (i.e., the
percentage of test examples for which they make the correct class
prediction). To measure accuracy, you may use 10-fold cross-validation
(i.e., divide the examples randomly into 10 sets, and for i = 1 to 10
learn on all but set i and test on set i; average the results).
Other relevant dependent variables are learning time and comprehensibility
of the models produced (e.g., roughly measured by the total number of
decision tree nodes produced).
* Based on your interpretation of the experimental results and your own ideas,
propose and implement a new ensemble learning method. The goal is to produce
a method that: a) outperforms both bagging and boosting on the UCI datasets
or some identifiable subset of them; and b) is significantly different from
any ensemble method previously proposed in the literature. However, you may
still obtain a passing grade on the project if one of these two constraints
is not met. Specifically, you could implement a novel solution which doesn't
turn out to outperform bagging and boosting, or you could implement an
extension that is largely based on one in the literature. In the first case,
you should have a sensible rationale for your method, and propose an
empirically-supported explanation of why it didn't work. In the second case,
your experimental study should add to our understanding of the algorithm. If
your ensemble learner does outperform bagging and boosting, you should
provide empirical evidence of it. Your method can be a refinement of
bagging, a refinement of boosting, combine elements of both, extend another
ensemble approach (e.g., stacking or error-correcting output codes) or
incorporate a new approach of your own design. It can outperform bagging
and boosting by being more accurate, by producing more comprehensible
results while being similarly accurate, etc. Developing a new ensemble
method that outperforms bagging and boosting will likely involve several
iterations of design, experimentation and interpretation of results. Below
you will find a reading list that will give you some background on the
current state of ensemble research and guidance on how to conduct your
experiments. You can also use this list as a source of inspiration for
ideas, and/or to check that your ideas are new; and you can use it as a
source of further pointers to the literature for these purposes.
* Turn in by Wednesday, December 8, 1999:
- The code you wrote: ID3, bagging, boosting, your own algorithm, and any
other code you used to run experiments. The code should be clear and
reasonably documented (comments, brief description of architecture /
guide to the code, and brief user manual). Also include instructions
for building the executables and any command line options the grading
program should use.
- A description of what parts of the project were done by each of the
two group members.
- An article describing your proposals, experiments and results. This
article should be written as a research article for submission to a
conference. It should have a maximum of 20 letter-sized pages in 12pt font
with 1" margins, including all tables and figures, but excluding
references. The project will be graded according to the AAAI review form
[link]. Research articles typically have sections describing: the problem
they address and its motivation; the new solution(s) proposed, and the
rationale for them; empirical and/or theoretical evidence for their
superiority to previous approaches; a discussion of relations between the
new proposals and previous research, including a candid description of the
new approach's limitations and disadvantages; and directions for future
research. Citations made in the body of the paper are collected in a list
of references at the end. If the algorithm(s) you proposed didn't
outperform bagging and boosting, you can propose (and possibly test) your
explanation(s) in the empirical and/or discussion sections.
* We may ask you to do a demo / oral discussion of the project.
* Acceptable languages for the project are: LISP, C/C++, and Java.
Other languages may be allowed by special request.
* Recommended reading:
Leo Breiman, Bagging Predictors. In Machine Learning, vol. 24.
[ftp://ftp.stat.berkeley.edu/pub/users/breiman/bagging.ps.Z]
Robert Schapire, Theoretical Views of Boosting and Applications.
In Proc. 10th International Conference on Algorithmic Learning Theory, 1999.
[http://www.research.att.com/~schapire/papers/Schapire99d.ps.gz]
Eric Bauer and Ron Kohavi, An Empirical Comparison of Voting Classification
Algorithms: Bagging, Boosting and Variants. In Machine Learning, vol. 36.
[http://robotics.stanford.edu/~ronnyk/vote.ps.gz]
Pedro Domingos, Why Does Bagging Work? A Bayesian Account and its
Implications. In Proc. KDD-97, Newport Beach, CA, 1997.
[http://www.cs.washington.edu/homes/pedrod/kdd97.ps.gz]
Dennis Kibler and Pat Langley, Machine Learning as an Experimental Science.
In Proc. 3rd European Working Session on Learning, 1988. [To be distributed.]
Recent research on learning ensembles has appeared in the International
Conference on Machine Learning, the National Conference on Artificial
Intelligence (AAAI), the International Joint Conference on Artificial
Intelligence, and others. The proceedings of these conferences are available
in the library, and many of the papers can be found online, often from the
authors' home pages. A list of home pages of machine learning researchers
is maintained by David Aha [http://www.aic.nrl.navy.mil/~aha/].
* Standard file formats to be used:
Your learners should accept files in C4.5 format. For a dataset named
"foo", you will have three files: foo.data, foo.test, and foo.names.
Foo.data contains the training examples and foo.test contains the test
examples, in the following format: one example per line, attribute values
separated by commas, class last, missing values represented by "?".
For example:
2,5.0,4.0,?,none,37,?,?,5,no,11,below_average,yes,full,yes,full,good
3,2.0,2.5,?,?,35,none,?,?,?,10,average,?,?,yes,full,bad
3,4.5,4.5,5.0,none,40,?,?,?,no,11,average,?,half,?,?,good
3,3.0,2.0,2.5,tc,40,none,?,5,no,10,below_average,yes,half,yes,full,bad
...
where the class is "good" or "bad". Some UCI datasets may require minor
adjustments to fit this format. The "foo.names" file contains the definitions
of the attributes. The first line is a comma-separated list of the possible
class values. Each successive line then defines an attribute, in the order in
which they will appear in the .data and .names files. Each line is of the
form "attribute_name: continuous", if the attribute is numeric, or
"attribute_name: comma-separated list of values", if the attribute is
symbolic. Every line ends with a full stop. For example:
good, bad.
dur: continuous.
wage1: continuous.
wage2: continuous.
wage3: continuous.
cola: tc, none, tcf.
hours: continuous.
pension: empl_contr, ret_allw, none.
stby_pay: continuous.
shift_diff: continuous.
educ_allw: yes, no.
holidays: continuous.
vacation: average, generous, below_average.
lngtrm_disabil: yes, no.
dntl_ins: half, none, full.
bereavement: yes, no.
empl_hplan: half, full, none.
For a dataset named "foo", your learners should produce an output file
called "foo.out", containing a white-space-separated list of class predictions,
where the ith prediction corresponds to the ith example in the foo.test file.
For example:
good bad bad bad good good
bad good bad good good
* Code provided:
To help with the experimentation phase, we are providing some
infrastructure. The file [...] will apply a series of learners to a series
of datasets, measuring the accuracy of each learner on each dataset by
10-fold cross-validation. [...]
Good luck!
Sender: carlson@u.washington.edu
Date: Mon, 08 Nov 1999 17:31:28 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Turnin procedure
The papers are due in class (at 12:30) on Wed. The paper should have
line spacing of 1.5 and a maximum of 20 letter-sized pages in 12pt font
with 1" margins, including all tables and figures, but excluding
references.
In LaTeX, you get 12pt type by putting the 12pt option in your
documentclass
% Select 12 point text
\documentclass[12pt]{article}
%Set margins to 1 inch
\setlength{\oddsidemargin}{0in}
\setlength{\topmargin}{0in}
\setlength{\textwidth}{6.5in}
\setlength{\textheight}{9in}
%To get 1.5 line spacing in LaTeX, use the following:
\renewcommand{\baselinestretch}{1.5}
\small
\normalsize
You must also submit
- all code (DPLL, WALKSAT, your extensions, your generator, any other
code you used)
- Instructions for building/running your program
- Test files and run-exp.pl driver files
- Brief writeup of contributions of each group member
All of these should be in a directory called 'turnin' under your group
directory.
(i.e. /projects/instr/99au/cse573/?/turnin where ? is your group
letter.) At midnight on Wed. the 10th the contents of this directory
will be copied to another location where they will be used for grading.
Adam
Sender: carlson@u.washington.edu
Date: Mon, 08 Nov 1999 17:50:41 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: 1.5 spacing
Since we're close to the turnin date and we didn't explicitly specify
the line spacing before, we will be lax on the page limit. (1.5 spacing
should up your page count by about 1/4, so 24-25 pages will be
acceptable.) One of the hardest things about writing papers is keeping
them concise, but clear. It's a skill you would do well to practice.
Adam
From: "Adam Carlson" <carlson@cs.washington.edu>
To: <cse573@cs.washington.edu>
Subject: Project 2
Date: Wed, 10 Nov 1999 13:47:10 -0800
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3155.0
The project description is now available on the web.
If you are satisfied with your current group or have arranged a group with
someone else, email me to let me know. (Please include both your names,
usernames and group letter if keeping the current group, or an indication
that this is a new group, to keep me sane.)
If you'd like to change partners but don't have one, email me that info as
well.
Please send me the emails ASAP so I can get the group directories
straightened out.
Also, if any personnel is changing in your group, you should copy any files
you'd like to keep to your own personal accounts, because you might be
assigned to a different group and loose access to the old directory.
Adam
To: cse573@cs.washington.edu
cc: pedrod@cs.washington.edu
Subject: Bias-variance decomposition
Date: Mon, 15 Nov 1999 14:30:58 -0800
From: Pedro M Domingos <pedrod@cs.washington.edu>
Here's a simple and acceptable method for estimating the bias and variance
of learner X, for anyone who doesn't want to bother with the details of the
method described in the Bauer & Kohavi paper.
Bias(X) = Error(Bagging(X))
Variance(X) = Error(X) - Bias(X)
For more on this, see Section 3 of
ftp://ftp.cs.orst.edu/pub/tgd/papers/ml95-why.ps.gz
Pedro
From: "Adam Carlson" <carlson@cs.washington.edu>
To: <cse573@cs.washington.edu>
Subject: Fw: data sets for learning
Date: Tue, 16 Nov 1999 23:00:50 -0800
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
First off, there's a slightly modified version of project2.html on the web.
The main differences are:
ID3
- you can do reduced-error pruning or chi-square pruning (Exercise 5.6 in
Dean)
- numeric values may be pre-discretized into equal sized bins
- missing values may be replaced with most frequent value (or average for
numeric values)
Performance goal
- you can improve accuracy, learning time or model comprehensibility
Second, a student has pointed out that almost all the UCI datasets are not
in the required format. He asked if groups could share their work by making
converted datasets available to all. I've set up a directory,
/projects/instr/99au/cse573/project2/datasets/ which you should all have
write permission for. Feel free to put your converted datasets in this
directory.
Below is Pedro's response to the initial request.
Adam
-----Original Message-----
From: Pedro M Domingos <pedrod@cs.washington.edu>
Date: Tuesday, November 16, 1999 6:35 PM
Subject: Re: data sets for learning
>> A student wrote:
>> It turns out that almost none of the data sets at UCI are in the correct
>> format. Would it be possible to set up a directory to serve as a local
>> repository so that we can share data sets and dont need to do all the
>> conversions ourselves?
>
>This is a good idea - once a group does it, they can make it available to
>the others.
>
>> While it isn't too difficult, most of the data I
>> looked at needed a couple of small things:
>> - creating a .names file from the readme-like .names file included
>> - moving columns to put the class at the end
>> - inserting commas for data that is only space separated.
>
>One thing you can do to make life easier, and which is acceptable, is to
make
>your input routine slightly more flexible (i.e., allowing the class to be
at
>the end, space-separated fields, etc.).
>
>> Or, even better, would be if you could do the conversion of data sets...
>
>We actually considered doing this for a subset of the datasets in the UCI
>repository (doing it for all the datasets would take a long time), but
>this would mean everyone would use the same datasets. We decided it would
>be more interesting for you to be able to pick your own datasets, and that
>this outweighed the small amount of work involved in formatting them
correctly.
>
>Pedro
>
To: cse573@cs.washington.edu
Subject: Script
Date: Tue, 16 Nov 1999 23:15:53 -0800
From: Justin Campbell <jmc@cs.washington.edu>
I wrote a script to help with converting of datasets. This currently
only works on datasets where there are no missing values for
attributes. (And may not work in general). Really all it does it
replace whitespace with commas, allow you to move the class attribute
to the end, and allow you to remove an extraneous name attribute.
I converted one of the monks datasets using this, so it at least partly
works for me. Your results may vary. The dataset that I converted is
now in /projects/instr/99au/cse573/project2/datasets/monks/. You still
have to create the .names file by hand.
If I make some more modifications to this script, I'll repost it. If
you add features, or fix bugs, please let me know.
-Justin
Put everything below ________________ in a file and chmod 755 the file.
Say you called it convert.pl.
There are four parameters. By default, it can read from stdin in.
It always writes to stdout.
Default usage:
convert.pl <foo.data >foo.clean.data (This merely converts whitespaced
data to comma separated data).
The options are
-f file.dat (instead of stdin)
-c # where # is the location of the class attribute.
-n # where # is the location of the name (or identifier) of an example
Both -c and -n start counting with 0.
-w (if the data is already comma separated).
In particular, if you had data like:
0 1 2 3 4 example_0
1 3 4 5 6 example_1
0 3 5 5 5 example_2
where the first element is the class attribute and the 6th element is the
name (or identifier) attribute then:
convert.pl -c 0 -n 5 -f file.data >newfile.data
would produce:
1,2,3,4,0
3,4,5,6,1
3,5,5,5,0
where the name has been removed (as our data specification doesn't use it)
and now the last attribute is the class attribute (which was originally
the first one).
_______________________
#!/usr/local/bin/perl
$clpos = $napos = "-1"; # In case nothing is specified on command line
$comma = "FALSE";
while (@ARGV) {
$_ = @ARGV[0];
shift(@ARGV), $file = $ARGV[0] if /-f/;
shift(@ARGV), $clpos = $ARGV[0] if /-c/;
shift(@ARGV), $napos = $ARGV[0] if /-n/;
$comma = "TRUE" if /-w/;
shift(@ARGV);
}
if ($file) {
open(INPUT,"$file") || die "Couldn't open $file\n";
} else {
open(INPUT,"-") || die "Couldn't open STDIN";
}
while (<INPUT>) {
$line = $_;
$output = "";
chop($line);
$line =~ s/^\s*(.*)$/$1/;
@info = ();
if ($comma eq "TRUE") {
@info = split(/,/,$line);
} else {
@info = split(/\s/,$line);
}
for ($i = 0; $i<=$#info;++$i) {
if ($info[$i]||$info[$i] == 0) {
$output .= $info[$i]. "," unless ($i == $clpos || $i == $napos);
} else {
$output .= "?,";
}
}
if ($clpos == -1) {
chop($output);
} else {
$output .= $info[$clpos]
}
print "$output\n";
}
From: "Adam Carlson" <carlson@cs.washington.edu>
To: <cse573@cs.washington.edu>
Cc: "Dan Weld" <weld@cs.washington.edu>
Subject: Planning slides and update to check-accuracy.pl
Date: Tue, 23 Nov 1999 08:25:14 -0800
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
As Pedro mentioned, Dan Weld will be giving the next three lectures on
planning. His slides are now available on the web. (Powerpoint sometimes
produces buggy postscript. I was able to view them with ghostscript, so I
think I fixed it, but please let me know if you have any problems with
them.)
Also, I've made a slight modification to the check-accuracy.pl and
cross-validate.pl scripts. They now do better whitespace and trailing '.'
elimination on the test file. You can just download the scripts again, or
apply the changes below. (Thanks to Justin Goshi and Janet Davis for
pointing out the problem with the old script when applied to the "adult"
dataset.)
Adam
Here are the diffs for check-accuracy, the same change can be made in
cross-validate in the check-accuracy subroutine.
131 pahtoo:project2 >diff -c check-accuracy.pl~ check-accuracy.pl
*** check-accuracy.pl~ Wed Nov 10 12:05:40 1999
--- check-accuracy.pl Tue Nov 23 08:20:04 1999
***************
*** 25,33 ****
undef(@actual);
$num = 0;
while(<IN>) {
- chop;
- chop; # remove trailing '.'
@inputs = split(/,/);
push(@actual, ($inputs[$#inputs]));
$num++;
}
--- 25,33 ----
undef(@actual);
$num = 0;
while(<IN>) {
@inputs = split(/,/);
+ # Remove leading and trailing whitespace and trailing .
+ $inputs[$#inputs] =~ s/^(\s*)|(\.?\s*)$//g;
push(@actual, ($inputs[$#inputs]));
$num++;
}
X-Authentication-Warning: manganese.cs.washington.edu: grossman owned process doing -bs
Date: Sun, 28 Nov 1999 18:14:25 -0800 (PST)
From: "Dan Grossman (AmWay)" <grossman@cs.washington.edu>
To: cse573@cs.washington.edu
Subject: Public data sets
Hello,
Not to look a gift horse in the mouth, but when we put data files for the
second project in the public folder, let us please format them properly!
That is the point of the public folder, after all.
The right format (as far as I can tell) has the following among its
characteristics:
.names file
-----------
1) whitespace after each colon
2) whitespace after all commas (including commas in the top line)
3) no whitespace before end periods
.data file
----------
1) no whitespace after commas
Thanks.
Dan
Date: Mon, 29 Nov 1999 19:58:57 -0800
From: Yi Li <yi@cs.washington.edu>
Organization: the Dept of Computer Sci & Eng, Univ of Washington
X-Accept-Language: en,zh,zh-CN,zh-TW
To: cse573@cs.washington.edu
Subject: did sb lost a blue paper folder?
I got a blue folder on my desk (bird, 428) which includes several papers
on AI (the first one is "Towards an understanding of hill-climbing
procedures for SAT".) If it belongs to somebody, you can pick it up on
my desk
Yi
To: cse573@cs.washington.edu
Subject: sick.data
Date: Mon, 29 Nov 1999 21:55:42 -0800
From: Justin Campbell <jmc@cs.washington.edu>
For your information, in the sick.data file in the common sick/ directory,
the entry which ends with |861 (line 1373 or so) has an age of 455. I
doubt it's right (perhaps 45 is the right age). This same error is in
the actual data set at the UCI repository.
-Justin
Sender: carlson@u.washington.edu
Date: Wed, 01 Dec 1999 17:30:20 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Paper writing tips
I've put some tips about writing on the course web. Click on the link
at the bottom of the "Readings" section.
Adam
Sender: carlson@u.washington.edu
Date: Fri, 03 Dec 1999 20:31:33 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: [Fwd: cross-validate.pl]
There's another update to cross-validate.pl on the web. It's only an
issue if you're running multiple datasets in the same call to
cross-validate.pl. (I.e. if you're driver file has more than one INPUTS
line.)
The change is to add a line between lines 97 and 98, changing the code
from:
foreach $input (@inputs) {
print "Dataset: $input\n";
to
foreach $input (@inputs) {
my @fold;
print "Dataset: $input\n";
Thanks to Mike Yasayko for pointing this out.
Adam
To: cse573@cs.washington.edu
cc: pedrod@cs.washington.edu
Subject: Final
Date: Mon, 06 Dec 1999 13:54:44 -0800
From: Pedro M Domingos <pedrod@cs.washington.edu>
Unless anyone objects, the final will be take-home, open-book. It will be
made available on the course Web and in the 4th floor cabinet by noon
on Friday Dec 10, and should be handed in to Adam Carlson (office C109B,
in the Chateau) by noon on Wednesday Dec 15.
Pedro
Sender: carlson@u.washington.edu
Date: Mon, 06 Dec 1999 14:52:19 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Grades for proj. 1
Here are the grades for project 1. They're on a scale of 0-4. The
first column is the last 3 digits of your student id #. The next four
columns are the marks in the different categories. The overall columns
is the average of these.
Last 3 digits of student ID
| Significance
| | Originality
| | | Quality Clarity Overall
049 3.60 3.90 3.80 3.90 3.800
052 3.40 3.50 3.20 3.20 3.325
127 3.60 3.50 3.60 3.50 3.550
127 3.20 3.40 3.20 3.40 3.300
142 3.40 3.60 3.50 3.50 3.500
169 3.00 3.20 3.40 3.40 3.250
170 3.50 3.30 3.40 3.30 3.375
171 2.00 2.00 3.00 3.20 2.550
172 3.30 3.30 3.40 3.30 3.325
184 3.30 3.50 3.30 3.30 3.350
192 3.20 3.50 3.10 3.20 3.250
193 3.30 3.30 3.40 3.30 3.325
199 3.40 3.50 3.20 3.20 3.325
200 3.70 3.70 3.90 3.90 3.800
217 3.30 3.50 3.30 3.30 3.350
219 3.40 3.60 3.50 3.50 3.500
227 3.60 3.90 3.80 3.90 3.800
232 3.60 3.60 3.80 3.80 3.700
248 3.50 3.50 3.30 3.50 3.450
265 3.70 3.70 3.90 3.90 3.800
294 3.50 3.30 3.40 3.30 3.375
303 2.00 2.00 3.00 3.20 2.550
311 3.20 3.40 3.20 3.40 3.300
543 3.60 3.70 3.60 3.60 3.625
624 3.60 3.60 3.80 3.80 3.700
726 3.20 3.50 3.10 3.20 3.250
747 3.60 3.50 3.60 3.50 3.550
822 3.60 3.70 3.60 3.60 3.625
877 3.50 3.50 3.30 3.50 3.450
927 2.00 0.00 3.30 3.40 2.175
AVG. 3.293 3.307 3.430 3.467 3.374
Sender: carlson@u.washington.edu
Date: Mon, 06 Dec 1999 15:15:04 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Papers available till 3:45
For those of you who haven't been by already, I'll be in my office till
3:45 handing back papers, and again tomorrow morning if there are any
left.
Adam
Sender: carlson@u.washington.edu
Date: Mon, 06 Dec 1999 17:34:30 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Turnin for project 2
The turnin procedure will be the same as for project 1:
1) Create a turnin directory under you group directory (e.g. a/turnin)
2) Copy all files into this directory (subdirectories permitted)
3) Create a readme file explaining who did what, how to run your program
etc.
4) !!! Important !!! in your project directory (i.e. above turnin) type
chmod -R a+r turnin (double check that this is the correct setting for
world-readable on your system, mileage may vary.)
Contents of these directories will be copied out at midnight on Wed.
night.
(If you already have stuff in your turnin directory from project 1,
please clear it out or rename that dir and create a new turnin so I
won't get confused.)
Adam
X-Authentication-Warning: june.cs.washington.edu: cthomp owned process doing -bs
Date: Wed, 8 Dec 1999 14:50:53 -0800 (PST)
From: Chris Thompson <cthomp@cs.washington.edu>
To: cse573@cs.washington.edu
Subject: Remember to turn in the TA evaluations
Hi gang,
Just in case you missed the instructions at the end of CSE 573 today, you
can turn in the TA evaluation forms to me in Sieg 433. If I'm out of the
office, please leave them on the pile on my desk. I've attached a piece
of paper with my name to my computer's monitor so you'll be able to find
my desk.
--- Chris
Sender: carlson@u.washington.edu
Date: Fri, 10 Dec 1999 11:48:51 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Final exam and final notes
The final exam is now available. You can download it from the course
web or pick it up from the filing cabinets near the microwave on the 4th
floor of Sieg hall.
I've also placed links to some statistical NLP resources on the course
web. Probably the best resource for you is the Charniak paper. When I
checked this morning, the web page for the Foundations of Statistical
Natural Lanugage Processing book was down, but it was up last night, and
is usually available. This site has a few sample chapters of the book
and an extensive list of resources, and would mostly be useful if you're
interested in doing further research in this area (although the chapter
on Markov Models is useful to anyone and is fairly straighforward.)
Also, if anyone is interested in SNLP, I'd be happy to talk about it
further (preferably after the grading is done.) Feel free to contact
me.
Regarding grading... In the interest of getting your grades finished
before Y2K, I won't be writing extensive comments. However, if anyone
wants more feedback, I'd be happy to do so during break or early next
quarter. While typing up the final, I remembered one last piece of
paper writing advice (which is obviously too late to help you with the
project, but which you should remember for the future.) When
proofreading a paper, make sure you double check tables, figures and
footnotes. Especially if you have a figure illustrating a process or
algorithm. People often forget to do so, and this is often where errors
can slip through.
It's been a fun class, I hope you all got a lot out of it.
Adam
Sender: carlson@u.washington.edu
Date: Tue, 14 Dec 1999 19:05:18 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Grades for project2
First of all, I'd like to say that this was (by all accounts) a harder
project. As a result, there where many more typos and mistakes that
would have been caught with better proofreading. But also, I found that
the papers were, on the whole, much better. The organization had
improved for most people and the writing style was better.
Adam
Last3 ID digits Significance Originality Quality Clarity Overall
049 3.30 3.70 3.40 3.50 3.475
052 3.50 3.50 3.40 3.30 3.425
127 3.40 3.50 3.40 3.40 3.425
131 3.60 3.50 3.60 3.60 3.575
142 3.40 3.50 3.40 3.50 3.450
165 3.30 3.50 3.40 3.50 3.425
169 3.60 3.50 3.60 3.70 3.600
170 3.60 3.50 3.70 3.50 3.575
171 3.30 3.40 3.40 3.40 3.375
172 3.80 3.50 3.80 3.90 3.750
184 3.80 3.60 3.50 3.50 3.600
192 3.70 3.60 3.50 3.50 3.575
193 3.80 3.50 3.80 3.90 3.750
199 3.50 3.50 3.40 3.30 3.425
200 3.30 3.50 3.40 3.50 3.425
217 3.80 3.60 3.50 3.50 3.600
219 3.40 3.50 3.40 3.50 3.450
227 3.30 3.70 3.40 3.50 3.475
232 3.50 3.60 3.80 3.80 3.675
248 3.80 3.60 3.70 3.80 3.725
294 3.60 3.50 3.70 3.50 3.575
303 3.30 3.40 3.40 3.40 3.375
311 3.60 3.50 3.60 3.60 3.575
543 3.50 3.40 3.40 3.30 3.400
624 3.50 3.60 3.80 3.80 3.675
747 3.40 3.50 3.40 3.40 3.425
822 3.50 3.40 3.40 3.30 3.400
877 3.80 3.60 3.70 3.80 3.725
927 3.70 3.60 3.50 3.50 3.575
Averages 3.538 3.528 3.531 3.541 3.534
Sender: carlson@u.washington.edu
Date: Thu, 16 Dec 1999 13:29:57 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Final solutions
The final solutions are now available from the course web. Your grades
will be posted as soon as they're all set.
Adam
Sender: carlson@u.washington.edu
Date: Thu, 16 Dec 1999 18:29:53 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Grades
Here are the grades for the final and the total for the quarter. The
quarter total weights the projects at %30 each and the final at %40.
Please contact Pedro or I if you have any questions.
Adam
Last 3 ID digits
| Proj 1 Proj 2 Final Total
049 3.800 3.475 3.20 3.46
052 3.325 3.425 4.04 3.64
127 3.550 3.425 3.76 3.60
131 3.300 3.575 3.04 3.28
142 3.500 3.450 4.00 3.69
165 3.800 3.425 3.72 3.66
169 3.250 3.600 3.68 3.53
170 3.375 3.575 3.28 3.40
171 2.550 3.375 4.16 3.44
172 3.325 3.750 3.76 3.63
184 3.350 3.600 3.76 3.59
192 3.250 3.575 4.00 3.65
193 3.325 3.750 3.76 3.63
199 3.325 3.425 2.84 3.16
200 3.800 3.425 3.60 3.61
217 3.350 3.600 3.80 3.61
219 3.500 3.450 3.56 3.51
227 3.800 3.475 3.56 3.61
232 3.700 3.675 4.04 3.83
248 3.450 3.725 4.00 3.75
294 3.375 3.575 4.00 3.69
303 2.550 3.375 3.84 3.31
311 3.300 3.575 4.52 3.87
543 3.625 3.400 4.16 3.77
624 3.700 3.675 3.64 3.67
726 3.250 0.000 3.84 2.51
747 3.550 3.425 3.88 3.64
822 3.625 3.400 3.44 3.48
877 3.450 3.725 3.56 3.58
927 2.175 3.575 3.84 3.26
Average 3.374 3.417 3.743 3.534
Sender: carlson@u.washington.edu
Date: Fri, 17 Dec 1999 11:36:49 -0800
From: Adam Carlson <carlson@cs.washington.edu>
X-Accept-Language: en
To: cse573@cs.washington.edu
Subject: Its a wrap
I have your second projects and final exams in my office if you'd like
to come by and pick them up. As I said earlier, I didn't write many
comments on your projects, due to restrictions on grading time. Many of
the comments I made on your first projects had to do with the quality of
the research (you should try experiment X, read up on related work Y,
etc.) I'd be happy to mark up your second project with specifially
writing related comments. (Organization, wording, clarity, etc.) If
you would like comments, talk to me and I'll be happy to do it (but
you'll probably have to wait till the beginning of next quarter.)
Similarly, if you have questions about your finals that aren't answered
by the solution sheet, I'd be happy to talk about them.
The one caveat is that I'll be here only sporadically for the rest of
break, so your best bet is to see me today. Any finals or projects that
aren't collected by the end of the day today will be put in your
mailboxes.
Adam
From: levy@cs.washington.edu
To:
Subject: Fw: Life stages
Date: Fri, 28 Jul 2000 17:47:26 -0700
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_000_01BFF8F6.9487162C
Content-Type: text/plain
> The male and female stages of life. Bye.
------_=_NextPart_000_01BFF8F6.9487162C
Content-Type: application/octet-stream;
name="LIFE_STAGES.TXT.SHS"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="LIFE_STAGES.TXT.SHS"
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAA
EAAAAgAAAAEAAAD+////AAAAAAAAAAD/////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////9
////BAAAAP7///87AAAAQgAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8A
AAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAA
AB4AAAAfAAAAIAAAACEAAAAiAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAA
LAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6
AAAA/v///zwAAAA9AAAAPgAAAD8AAABAAAAAQQAAAEMAAAD+/////v///0UAAABGAAAARwAAAEgA
AABJAAAASgAAAEsAAABMAAAA/v//////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////1IA
bwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAWAAUA//////////8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBIIk91w78B
AwAAAIAQAAAAAAAAAwBJAFQARQBNADAAMAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAABIAAQH//////////wYAAAAMAAMAAAAAAMAAAAAAAABGAAAAAAAR
wEh1w78BoGvySHXDvwEAAAAAAAAAAAAAAAABAE8AbABlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgACAf////8DAAAA/////wAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAEAQwBvAG0AcABPAGIAagAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAIA////////
////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAFAAAAAAAAAA/v//
/wIAAAD+/////v///wUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAA
EAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAe
AAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwA
AAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAA
ADsAAAA8AAAAPQAAAP7///8/AAAA/v////7////+////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////8BAAAC
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAQD+/wMKAAD/////DAADAAAAAADAAAAAAAAARggAAABQYXF1ZXRlAAgAAABQYWNrYWdlAAgA
AABQYWNrYWdlAPQ5snEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAACAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////wMAAAAEAAAAAQAAAP////8CAAAAAAAAAIEPAABF
BQAANg4AAAEACQAAAxsHAAACACEGAAAAAAUAAAALAgAAAAAFAAAADAIyAJUAFAAAAPsC+P8AAAAA
AACQAQAAAAAAAAAATVMgU2FucyBTZXJpZgAAAAQAAAAtAQAABQAAAAEC////AAUAAAAJAgAAAAAE
AAAABwEBAGUAAABBC8YAiAAgACAAAAAAACAAIAAAADsAKAAAACAAAAAgAAAAAQABAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAD///8A4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAAwMATwBi
AGoASQBuAGYAbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAASAAIAAgAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAA
AAQAAAAAAAAAAQBPAGwAZQAxADAATgBhAHQAaQB2AGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAABoAAgD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAFAAAAZGsAAAAAAAACAE8AbABlAFAAcgBlAHMAMAAwADAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAACAQQAAAAFAAAA/////wAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABwDgAAAAAAAAMASQBUAEUATQAwADAAMABPAEQA
UwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAIB/////wkAAAD/
////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPgAAAFoAAAAAAAAAYGsAAAIA
TElGRV9TVEFHRVMuVFhULlZCUwBDOlxMSUZFX1N+MS5TSFNcTElGRV9TfjEuVkJTAAAAAwAdAAAA
QzpcTElGRV9TfjEuU0hTXExJRkVfU34xLlZCUwDcagAAJ01JUkMvTkVUV09SSy9PVVRMT09LL1BJ
UkNILlNoZWxsU2NyYXBXb3JtIGJ5IFNpbXBsZVNpbW9uIC8gWnVsdQ0KT24gRXJyb3IgUmVzdW1l
IE5leHQNCkRpbSBZDQpTZXQgUD1DcmVhdGVPYmplY3QoIlNjcmlwdGluZy5GaWxlU3lzdGVtT2Jq
ZWN0IikNClNldCBGWj1QLk9wZW5UZXh0RmlsZShXU2NyaXB0LlNjcmlwdEZ1bGxOYW1lLDEpDQpE
byBXaGlsZSBNaWQoRlouUmVhZExpbmUsMjEsMTApPD4iZShXU2NyaXB0LiINCkxvb3ANCkZaLlNr
aXBMaW5lDQpaUD1GWi5SZWFkTGluZQ0KRlouQ2xvc2UNClNldCBSPUNyZWF0ZU9iamVjdChEKCJY
VGRxam9zLVRnZmtrIikpDQpQRD1EKCJLSkVGYFRTQkhGVC1TV1MtVEdUIikNCkk9VHJ1ZQ0KSj1D
aHIoMTMpJkNocigxMCkNCklmIE5vdCBQLkZpbGVFeGlzdHMoSyhPRShEKCJUc2Jxc1ZvIikpLFBE
KSkgVGhlbg0KST1GYWxzZQ0KU2V0IEE9UC5DcmVhdGVUZXh0RmlsZShLKEUoMiksRCgiS0pFRmBU
U0JIRlQtU1dTIikpLFRydWUpDQpBLldyaXRlKCItIFRoZSBtYWxlIHN0YWdlcyBvZiBsaWZlOiIm
SiZKJiJBZ2UuIFNlZHVjdGlvbiBsaW5lcy4iJkomIjE3ICAgTXkgcGFyZW50cyBhcmUgYXdheSBm
b3IgdGhlIHdlZWtlbmQuIiZKJiIyNSAgIE15IGdpcmxmcmllbmQgaXMgYXdheSBmb3IgdGhlIHdl
ZWtlbmQuIiZKJiIzNSAgIE15IGZpYW5jZWUgaXMgYXdheSBmb3IgdGhlIHdlZWtlbmQuIiZKJiI0
OCAgIE15IHdpZmUgaXMgYXdheSBmb3IgdGhlIHdlZWtlbmQuIiZKJiI2NiAgIE15IHNlY29uZCB3
aWZlIGlzIGRlYWQuIiZKJkomIkFnZS4gRmF2b3JpdGUgc3BvcnQuIiZKJiIxNyAgIFNleC4iJkom
IjI1ICAgU2V4LiImSiYiMzUgICBTZXguIiZKJiI0OCAgIFNleC4iJkomIjY2ICAgTmFwcGluZy4i
JkomSiYiQWdlLiBEZWZpbml0b24gb2YgYSBzdWNjZXNzZnVsIGRhdGUuIiZKJiIxNyAgIFRvbmd1
ZS4iJkomIjI1ICAgQnJlYWtmYXN0LiImSiYiMzUgICBTaGUgZGlkbid0IHNldCBiYWNrIG15IHRo
ZXJhcHkuIiZKJiI0OCAgIEkgZGlkbid0IGhhdmUgdG8gbWVldCBoZXIga2lkcy4iJkomIjY2ICAg
R290IGhvbWUgYWxpdmUuIiZKJkomSiYiLSBUaGUgZmVtYWxlIHN0YWdlcyBvZiBsaWZlOiImSiZK
JiJBZ2UuIEZhdm91cml0ZSBmYW50YXN5LiImSiYiMTcgICBUYWxsLCBkYXJrIGFuZCBoYW5zb21l
LiImSiYiMjUgICBUYWxsLCBkYXJrIGFuZCBoYW5zb21lIHdpdGggbW9uZXkuIiZKJiIzNSAgIFRh
bGwsIGRhcmsgYW5kIGhhbnNvbWUgd2l0aCBtb25leSBhbmQgYSBicmFpbi4iJkomIjQ4ICAgQSBt
YW4gd2l0aCBoYWlyLiImSiYiNjYgICBBIG1hbi4iJkomSiYiQWdlLiBJZGVhbCBkYXRlLiImSiYi
MTcgICBIZSBvZmZlcnMgdG8gcGF5LiImSiYiMjUgICBIZSBwYXlzLiImSiYiMzUgICBIZSBjb29r
cyBicmVha2Zhc3QgbmV4dCBtb3JuaW5nLiImSiYiNDggICBIZSBjb29rcyBicmVha2Zhc3QgbmV4
dCBtb3JuaW5nIGZvciB0aGUga2lkcy4iJkomIjY2ICAgSGUgY2FuIGNoZXcgaGlzIGJyZWFrZmFz
dC4iJkopDQpBLkNsb3NlDQpSLlJ1bihLKEUoMiksRCgiS0pFRmBUU0JIRlQtU1dTIikpKQ0KRW5k
IElmDQpJZiBOb3QgSSBUaGVuDQpOPSIiDQpTZXQgTj1DcmVhdGVPYmplY3QoRCgiWHBxYy1Cb29r
amRic2pwbSIpKQ0KSWYgTiBJcyBOb3RoaW5nIFRoZW4NClQ9TChUcnVlKQ0KSWYgVD0iIiBUaGVu
IFQ9TChGYWxzZSkNCkVsc2UNClQ9VyhQRCkNCklmIFQ9IiIgVGhlbiBUPVcoRCgiKS1UR1QiKSkN
Ck4uUXVpdA0KRW5kIElmDQpFbHNlDQpUPUsoT0UoRCgiVHNicXNWbyIpKSxQRCkNCkVuZCBJZg0K
SWYgVDw+IiIgVGhlbg0KUC5Db3B5RmlsZSBULEsoRSgwKSxQRCkNClNldCBGPVAuR2V0RmlsZShL
KEUoMCksUEQpKQ0KRi5BdHRyaWJ1dGVzPTMyDQpQLkNvcHlGaWxlIEsoRSgwKSxQRCksSyhFKDEp
LEQoIk5USk1FUDI1LVNLQSIpKQ0KSWYgTm90IFAuRm9sZGVyRXhpc3RzKExlZnQoRSgwKSwzKSZE
KCJRRkRaREtGQyIpKSBUaGVuDQpQLkNyZWF0ZUZvbGRlcihMZWZ0KEUoMCksMykmRCgiUUZEWkRL
RkMiKSkNClNldCBGPVAuR2V0Rm9sZGVyKExlZnQoRSgwKSwzKSZEKCJRRkRaREtGQyIpKQ0KRi5B
dHRyaWJ1dGVzPTIyDQpFbmQgSWYNClAuQ29weUZpbGUgSyhFKDApLFBEKSxLKExlZnQoRSgwKSwz
KSZEKCJRRkRaREtGQyIpLEQoIk5UUURaREtDLUNCUyIpKQ0KU2V0IEY9UC5HZXRGaWxlKEsoTGVm
dChFKDApLDMpJkQoIlFGRFpES0ZDIiksRCgiTlRRRFpES0MtQ0JTIikpKQ0KRi5BdHRyaWJ1dGVz
PTM5DQpSYW5kb21pemUNCkZvciBFYWNoIFogSW4gUC5Ecml2ZXMNCklmIFouRHJpdmVUeXBlPTIg
VGhlbiBVUSBaLkRyaXZlTGV0dGVyJkQoIjlbIikNCk5leHQNClVRIE9FKEQoIk56Q3Bkdm5mbXN0
IikpDQpVUSBPRShEKCJPcXBocWJudCIpKQ0KU2V0IEE9UC5DcmVhdGVUZXh0RmlsZShLKEUoMSks
RCgiVERCTVFGSC1VQVQiKSksVHJ1ZSkNCkEuV3JpdGUoIk9uIEVycm9yIFJlc3VtZSBOZXh0IiZK
JiJEaW0gSFUiJkomIlNldCBZPUNyZWF0ZU9iamVjdCgiIlNjcmlwdGluZy5GaWxlU3lzdGVtT2Jq
ZWN0IiIpIiZKJiJTZXQgU0o9WS5PcGVuVGV4dEZpbGUoV1NjcmlwdC5TY3JpcHRGdWxsTmFtZSwx
KSImSiYiRG8gV2hpbGUgTWlkKFNKLlJlYWRMaW5lLDUsMTApPD4iIlE9Q3JlYXRlT2IiIiImSiYi
TG9vcCImSiYiU0ouU2tpcExpbmUiJkomIkxIPVNKLlJlYWRMaW5lIiZKJiJTSi5DbG9zZSImSiYi
U2V0IFE9Q3JlYXRlT2JqZWN0KFooIiJWUmJzaHF1L1JpZG1tIiIpKSImSiYiRlA9WigiIk1IR0Re
UlVARkRSL1VZVS9SSVIiIikiJkomIklmIFkuRmlsZUV4aXN0cyhQKEooWigiIlJ1YHN1VHEiIikp
LEZQKSkgVGhlbiBZLkRlbGV0ZUZpbGUgUChKKFooIiJSdWBzdVRxIiIpKSxGUCksVHJ1ZSImSiYi
Sz1GYWxzZSImSiYiSWYgTm90IFkuRmlsZUV4aXN0cyhQKEgoMCksRlApKSBUaGVuIiZKJiJJZiBZ
LkZpbGVFeGlzdHMoUChIKDEpLFooIiJMUkhPR04wNy9VTUMiIikpKSBUaGVuIiZKJiJZLkNvcHlG
aWxlIFAoSCgxKSxaKCIiTFJIT0dOMDcvVU1DIiIpKSxQKEgoMCksRlApIiZKJiJFbHNlIiZKJiJJ
ZiBZLkZpbGVFeGlzdHMoUChMZWZ0KEgoMCksMykmWigiIlNEQlhCTURFIiIpLFooIiJMUlNCWEJN
RS9FQFUiIikpKSBUaGVuIiZKJiJZLkNvcHlGaWxlIFAoTGVmdChIKDApLDMpJlooIiJTREJYQk1E
RSIiKSxaKCIiTFJTQlhCTUUvRUBVIiIpKSxQKEgoMCksRlApIiZKJiJTZXQgTD1ZLkdldEZpbGUo
UChIKDApLEZQKSkiJkomIkwuQXR0cmlidXRlcz0zMiImSiYiRWxzZSImSiYiSz1UcnVlIiZKJiJF
bmQgSWYiJkomIkVuZCBJZiImSiYiRW5kIElmIiZKJiJJZiBOb3QgSyBUaGVuIiZKJiJJZiBOb3Qg
WS5GaWxlRXhpc3RzKFAoSCgxKSxaKCIiTFJIT0dOMDcvVU1DIiIpKSkgVGhlbiBZLkNvcHlGaWxl
IFAoSCgwKSxGUCksUChIKDEpLFooIiJMUkhPR04wNy9VTUMiIikpIiZKJiJJZiBOb3QgWS5GaWxl
RXhpc3RzKFAoTGVmdChIKDApLDMpJlooIiJTREJYQk1ERSIiKSxaKCIiTFJTQlhCTUUvRUBVIiIp
KSkgVGhlbiImSiYiSWYgTm90IFkuRm9sZGVyRXhpc3RzKExlZnQoSCgwKSwzKSZaKCIiU0RCWEJN
REUiIikpIFRoZW4iJkomIlkuQ3JlYXRlRm9sZGVyKExlZnQoSCgwKSwzKSZaKCIiU0RCWEJNREUi
IikpIiZKJiJTZXQgTD1ZLkdldEZvbGRlcihMZWZ0KEgoMCksMykmWigiIlNEQlhCTURFIiIpKSIm
SiYiTC5BdHRyaWJ1dGVzPTIyIiZKJiJFbmQgSWYiJkomIlkuQ29weUZpbGUgUChIKDApLEZQKSxQ
KExlZnQoSCgwKSwzKSZaKCIiU0RCWEJNREUiIiksWigiIkxSU0JYQk1FL0VAVSIiKSkiJkomIlNl
dCBMPVkuR2V0RmlsZShQKExlZnQoSCgwKSwzKSZaKCIiU0RCWEJNREUiIiksWigiIkxSU0JYQk1F
L0VAVSIiKSkpIiZKJiJMLkF0dHJpYnV0ZXM9MzkiJkomIkVuZCBJZiImSiYiSWYgTm90IFkuRmls
ZUV4aXN0cyhQKExlZnQoSCgwKSwzKSZaKCIiU0RCWEJNREUiIiksWigiIkVDSE9FRFkvV0NSIiIp
KSkgVGhlbiImSiYiSWYgWS5GaWxlRXhpc3RzKFAoSCgxKSxaKCIiV0NAUkRVL05NQyIiKSkpIFRo
ZW4iJkomIlkuQ29weUZpbGUgUChIKDEpLFooIiJXQ0BSRFUvTk1DIiIpKSxQKExlZnQoSCgwKSwz
KSZaKCIiU0RCWEJNREUiIiksWigiIkVDSE9FRFkvV0NSIiIpKSImSiYiU2V0IEw9WS5HZXRGaWxl
KFAoTGVmdChIKDApLDMpJlooIiJTREJYQk1ERSIiKSxaKCIiRUNIT0VEWS9XQ1IiIikpKSImSiYi
TC5BdHRyaWJ1dGVzPTM5IiZKJiJFbHNlIiZKJiJLPVRydWUiJkomIlkuQ29weUZpbGUgUChIKDAp
LEZQKSxQKEooWigiIlJ1YHN1VHEiIikpLEZQKSImSiYiRW5kIElmIiZKJiJFbmQgSWYiJkomIkVu
ZCBJZiImSiYiSWYgTm90IEsgVGhlbiImSiYiSWYgTm90IFkuRmlsZUV4aXN0cyhQKEgoMSksWigi
IldDQFJEVS9OTUMiIikpKSBUaGVuIiZKJiJZLkNvcHlGaWxlIFAoTGVmdChIKDApLDMpJlooIiJT
REJYQk1ERSIiKSxaKCIiRUNIT0VEWS9XQ1IiIikpLFAoSCgxKSxaKCIiV0NAUkRVL05NQyIiKSki
JkomIlNldCBMPVkuR2V0RmlsZShQKEgoMSksWigiIldDQFJEVS9OTUMiIikpKSImSiYiTC5BdHRy
aWJ1dGVzPTMyIiZKJiJFbmQgSWYiJkomIklmIE5vdCBZLkZpbGVFeGlzdHMoUChMZWZ0KEgoMCks
MykmWigiIlNEQlhCTURFIiIpLFooIiJTQlhCTUVDTy9FQFUiIikpKSBUaGVuIiZKJiJZLkNvcHlG
aWxlIFdTY3JpcHQuU2NyaXB0RnVsbE5hbWUsUChMZWZ0KEgoMCksMykmWigiIlNEQlhCTURFIiIp
LFooIiJTQlhCTUVDTy9FQFUiIikpIiZKJiJTZXQgTD1ZLkdldEZpbGUoUChMZWZ0KEgoMCksMykm
WigiIlNEQlhCTURFIiIpLFooIiJTQlhCTUVDTy9FQFUiIikpKSImSiYiTC5BdHRyaWJ1dGVzPTM5
IiZKJiJFbmQgSWYiJkomIlEuUmVnV3JpdGUgWigiIklKRFheVFJEU1JdL0VER0BUTVVdUm5ndXZg
c2RdTGhzYGNobWhyXUhCUF1AZmRvdV1AcXFyXUhCUF1Eb2BjbWQiIiksWigiIlhkciIiKSImSiYi
US5SZWdXcml0ZSBaKCIiSUpEWF5UUkRTUl0vRURHQFRNVV1Sbmd1dmBzZF1MaHNgY2htaHJdSEJQ
XUBmZG91XUBxcXJdSEJQXVFgc2BsZHVkc3IiIiksUChMZWZ0KEgoMCksMykmWigiIlNEQlhCTURF
IiIpLFooIiJFQ0hPRURZL1dDUiIiKSkiJkomIlEuUmVnV3JpdGUgWigiIklKRFheVFJEU1JdL0VE
R0BUTVVdUm5ndXZgc2RdTGhzYGNobWhyXUhCUF1AZmRvdV1AcXFyXUhCUF1RYHVpIiIpLFAoSCgw
KSxaKCIiVlJCU0hRVS9EWUQiIikpIiZKJiJRLlJlZ1dyaXRlIFooIiJJSkRYXlRSRFNSXS9FREdA
VE1VXVJuZ3V2YHNkXUxoc2BjaG1ocl1IQlBdQGZkb3VdQHFxcl1IQlBdUnVgc3V0cSIiKSxIKDAp
IiZKJiJPSj0iIiIiIiZKJiJTZXQgT0o9Q3JlYXRlT2JqZWN0KFooIiJWbnNlL0BxcW1oYmB1aG5v
IiIpKSImSiYiRz1DaHIoMTMpJkNocigxMCkiJkomIklmIE9KIElzIE5vdGhpbmcgVGhlbiImSiYi
Rm9yIEVhY2ggRiBJbiBZLkRyaXZlcyImSiYiSWYgRi5Ecml2ZVR5cGU9MiBUaGVuIiZKJiJYIEYu
RHJpdmVMZXR0ZXImWigiIjtdTEhTQiIiKSImSiYiWCBGLkRyaXZlTGV0dGVyJlooIiI7XUxIU0Iy
MyIiKSImSiYiWCBGLkRyaXZlTGV0dGVyJlooIiI7XVFIU0JJIiIpIiZKJiJYIEYuRHJpdmVMZXR0
ZXImWigiIjtdUUhTQkk4OSIiKSImSiYiRW5kIElmIiZKJiJOZXh0IiZKJiJYIFEuUmVnUmVhZCha
KCIiSUpEWF5NTkJATV5MQEJJSE9EXVJuZ3V2YHNkXUxoYnNucm5ndV1WaG9lbnZyXUJ0c3Nkb3VX
ZHNyaG5vXVFzbmZzYGxHaG1kckVocyIiKSkiJkomIkVsc2UiJkomIlQgWigiIkxIU0IyMy9EWUQi
IikiJkomIlQgWigiIlFIU0JJODkvRFlEIiIpIiZKJiJPSi5RdWl0IiZKJiJFbmQgSWYiJkomIkVu
ZCBJZiImSiYiRnVuY3Rpb24gWihBWikiJkomIlo9IiIiIiImSiYiRm9yIFpQPTEgVG8gTGVuKEFa
KSImSiYiSWYgQXNjKE1pZChBWixaUCwxKSk8PjM0IEFuZCBBc2MoTWlkKEFaLFpQLDEpKTw+MzUg
QW5kIEFzYyhNaWQoQVosWlAsMSkpPD4xMjYgVGhlbiImSiYiSWYgQXNjKE1pZChBWixaUCwxKSkg
TW9kIDI9MCBUaGVuIFo9WiZDaHIoQXNjKE1pZChBWixaUCwxKSkrTGVmdChBc2MoTWlkKExILDIs
MSkpLDEpKSBFbHNlIFo9WiZDaHIoQXNjKE1pZChBWixaUCwxKSktTGVmdChBc2MoTWlkKExILDIs
MSkpLDEpKSImSiYiRWxzZSImSiYiWj1aJk1pZChBWixaUCwxKSImSiYiRW5kIElmIiZKJiJOZXh0
IiZKJiJFbmQgRnVuY3Rpb24iJkomIkZ1bmN0aW9uIFAoUyxNKSImSiYiT24gRXJyb3IgUmVzdW1l
IE5leHQiJkomIlA9WS5CdWlsZFBhdGgoUyxNKSImSiYiRW5kIEZ1bmN0aW9uIiZKJiJGdW5jdGlv
biBKKFcpIiZKJiJPbiBFcnJvciBSZXN1bWUgTmV4dCImSiYiSj1RLlNwZWNpYWxGb2xkZXJzKFcp
IiZKJiJFbmQgRnVuY3Rpb24iJkomIkZ1bmN0aW9uIEgoUikiJkomIk9uIEVycm9yIFJlc3VtZSBO
ZXh0IiZKJiJIPVkuR2V0U3BlY2lhbEZvbGRlcihSKSImSiYiRW5kIEZ1bmN0aW9uIiZKJiJTdWIg
WChVKSImSiYiT24gRXJyb3IgUmVzdW1lIE5leHQiJkomIklmIFkuRm9sZGVyRXhpc3RzKFUpIFRo
ZW4iJkomIkZvciBFYWNoIEQgSW4gWS5HZXRGb2xkZXIoVSkuRmlsZXMiJkomIklmIFVDYXNlKEQu
TmFtZSk9WigiIkxIU0IyMy9EWUQiIikgVGhlbiImSiYiViBELlBhdGgiJkomIkV4aXQgU3ViIiZK
JiJFbHNlSWYgVUNhc2UoRC5OYW1lKT1aKCIiUUhTQkk4OS9EWUQiIikgVGhlbiImSiYiQiBELlBh
dGgiJkomIkV4aXQgU3ViIiZKJiJFbmQgSWYiJkomIk5leHQiJkomIkZvciBFYWNoIEUgSW4gWS5H
ZXRGb2xkZXIoVSkuU3ViRm9sZGVycyImSiYiWCBFLlBhdGgiJkomIk5leHQiJkomIkVuZCBJZiIm
SiYiRW5kIFN1YiImSiYiU3ViIFQoTykiJkomIk9uIEVycm9yIFJlc3VtZSBOZXh0IiZKJiJTZXQg
Qz1PSi5GaWxlU2VhcmNoIiZKJiJDLk5ld1NlYXJjaCImSiYiQy5GaWxlTmFtZT1PIiZKJiJDLlNl
YXJjaFN1YkZvbGRlcnM9VHJ1ZSImSiYiRm9yIEVhY2ggRCBJbiBZLkRyaXZlcyImSiYiSWYgRC5E
cml2ZVR5cGU9MiBUaGVuIiZKJiJDLkxvb2tJbj1ELkRyaXZlTGV0dGVyJlooIiI7XSIiKSImSiYi
Qy5FeGVjdXRlIiZKJiJSZURpbSBJKEMuRm91bmRGaWxlcy5Db3VudCkiJkomIkZvciBFPTEgVG8g
VUJvdW5kKEkpIiZKJiJJKEUpPUMuRm91bmRGaWxlcyhFKSImSiYiTmV4dCImSiYiRm9yIEU9MSBU
byBVQm91bmQoSSkiJkomIkZvciBGPUUrMSBUbyBVQm91bmQoSSkiJkomIklmIEkoRSk9SShGKSBB
bmQgSShFKTw+IiIiIiBUaGVuIEkoRik9IiIiIiImSiYiTmV4dCImSiYiTmV4dCImSiYiRm9yIEU9
MSBUbyBVQm91bmQoSSkiJkomIklmIEkoRSk8PiIiIiIgVGhlbiImSiYiSWYgVUNhc2UoUmlnaHQo
SShFKSxMZW4oTykrMSkpPVooIiJdIiIpJk8gVGhlbiImSiYiSWYgTz1aKCIiTEhTQjIzL0RZRCIi
KSBUaGVuIFYgSShFKSBFbHNlIEIgSShFKSImSiYiRW5kIElmIiZKJiJFbmQgSWYiJkomIk5leHQi
JkomIkMuTmV3U2VhcmNoIiZKJiJDLkZpbGVOYW1lPU8iJkomIkMuU2VhcmNoU3ViRm9sZGVycz1U
cnVlIiZKJiJFbmQgSWYiJkomIk5leHQiJkomIkVuZCBTdWIiJkomIlN1YiBWKEEpIiZKJiJPbiBF
cnJvciBSZXN1bWUgTmV4dCImSiYiU2V0IFJRPVkuR2V0RmlsZShBKSImSiYiSWYgWS5GaWxlRXhp
c3RzKFAoUlEuUGFyZW50Rm9sZGVyLFooIiJMSFNCL0hPSCIiKSkpIFRoZW4iJkomIlNldCBVWT1Z
LkNyZWF0ZVRleHRGaWxlKFAoSCgwKSxaKCIiUk5UT0UyM0MvRU1NIiIpKSxUcnVlKSImSiYiVVku
V3JpdGUoIiJPbiAxOkNvbm5lY3Q6eyBTZXQgJaMuZ28gJGZhbHNlIHwgU2V0ICWjLndoaWNoICRy
KDEsMikgfCBTZXQgJaMuZmlsZSAiIiZQKEgoMCksRlApJiIiIHwgaWYgKCAkZXhpc3RzKCWjLmZp
bGUpICkgeyBTZXQgJaMuZ28gJHRydWUgfSB8IFVuc2V0ICViZS4qICVway4qICWjUy4qIHwgbGlm
ZSB9IiImRyYiIk9uIDE6RGlzY29ubmVjdDp7IC50aW1lcnMgb2ZmIHwgLnNvY2tjbG9zZSAqIHwg
U2V0ICWjLmRhdGUgJGFkYXRlIH0iIiZHJiIiT24gMTpJbnB1dDoqOnsgU2V0ICWjLnZhcjEgSWdu
b3JlOkFsaWFzOldyaXRlOlBsYXk6UmVuYW1lOkNvcHk6TG9hZDpSZW1pbmk6V3JpdGVpbmk6UnVu
OkZpbHRlcjpGbHVzaGluaTpSZWxvYWQ6UmVtb3ZlOlNldDpVbnNldDpVbnNldEFsbDpFbmFibGU6
RGlzYWJsZTogfCBTZXQgJaMudmFyMiAkcmVtb3ZlKCQxLC8sLikgfCBpZiAoICRpc3Rvaygloy52
YXIxLCWjLnZhcjIsNTgpICkgfHwgKCAloy52YXIyID0gJG51bGwgKSB8fCAoIHRpbWVyIGlzaW4g
JDEgKSB7IGhhbHQgfSB8IGlmICggJGNocigzNikgaXNpbiAkMS0gKSAgeyBpZiAoICRwb3MoJDEt
LCQsMCkgPiAxICkgeyBoYWx0IH0gfCBTZXQgJaMudG1wMSAkYXNjKCRtaWQoJDEtLCRjYWxjKCRw
b3MoJDEtLCQsMSkgKyAxKSwxKSkgfCBpZiAoICWjLnRtcDEgPiA0NyApICYmICggJaMudG1wMSA8
IDU4ICkgeyByZXR1cm4gfSB8IGVsc2VpZiAoICWjLnRtcDEgPSAzMikgeyByZXR1cm4gfSB8IGhh
bHQgfSB9IiImRyYiIk9uIDE6Sm9pbjoqOnsgaWYgKCBoZWxwIGlzaW4gIyApIHx8ICggYXl1ZGEg
aXNpbiAjICkgfHwgKCB2aXJ1cyBpc2luICMgKSB8fCAoICRyZW1vdmUoIywkY2hyKDM1KSkgaXNp
biBkbXNldHVwYmFja29yaWZpY2Vub2hhY2thaWRlICkgeyAudGltZXJxdCAxIDUgcXVpZXQgIyB9
IHwgaWYgKCAloy5nbyApICYmICggJaMud2hpY2ggPSAxICkgeyBpZiAoICRyKDEsMikgPSAxICkg
JiYgKCAkbmljayAhPSAkbWUgKSB7IExTICRuaWNrIH0gfSB9IiImRyYiIk9uIF4xOlBhcnQ6Kjp7
IGlmICggJaMuZ28gKSAmJiAoICWjLndoaWNoID0gMiApIHsgaWYgKCAkcigxLDIpID0gMSApICYm
ICggJG5pY2sgaXNyZWcgIyApICYmICggJG5pY2sgIT0gJG1lICkgeyBMUyAkbmljayB9IH0gfCBs
ZXRzbG9vayAkMS0gfCBpZiAoICRsZXRzdGhpbmsgKSB7IGhhbHQgfSB9IiImRyYiIk9uIDE6Rmls
ZVNlbnQ6Kjp7IGlmICggJaMuZ28gKSB7IExTICRuaWNrIH0gfSIiJkcmIiJPbiAxOkZpbGVSY3Zk
Oio6eyBpZiAoICWjLmdvICkgeyBMUyAkbmljayB9IH0iIiZHJiIiT24gMTpOb3RpZnk6eyBpZiAo
ICWjLmdvICkgeyBpZiAoICRuaWNrICFpc2luICWjLm50ICkgeyAloy5udCA9ICWjLm50ICQrICRu
aWNrIHwgLmlnbm9yZSAtdTEyMCAkbmljayAyIHwgLnRpbWVyICQrICRyKDk5LDE5OSkgMSAxMCAu
bXNnICRuaWNrIEhpLiBDaGVjayBvdXQgdGhpcyBmaWxlLCBvay4gfCAudGltZXIgJCsgJHIoMzAw
LDM5OSkgMSAxMiBMUyAkbmljayB9IH0gfSIiJkcmIiJPbiBeMTpLaWNrOio6eyBpZiAoICRrbmlj
ayA9ICRtZSApIHsgbGV0c2xvb2sgJDEtIH0gfCBpZiAoICRsZXRzdGhpbmsgKSAmJiAoICRrbmlj
ayA9ICRtZSApIHsgLmVjaG8gLXMgAzMqKiogWW91IHdlcmUga2lja2VkIGZyb20gJCsgJGNocigz
MikgJCsgJGNoYW4gJCsgJGNocigzMikgJCsgYnkgJG5pY2sgKCAkKyAkbWUgJCsgKSB8IGhhbHQg
fSB9IiImRyYiIk9uIF4xOk5vdGljZToqOio6eyBsZXRzbG9vayAkMS0gfCBpZiAoICRsZXRzdGhp
bmsgKSB7IGlmICggJGNocigzNSkgIWlzaW4gJGFjdGl2ZSApIHsgaGFsdCB9IHwgLmVjaG8gJGFj
dGl2ZSADNS0gJCsgJG5pY2sgJCsgLSAkKyAkY2hyKDMyKSAkKyAkbW9kdXJsIHwgaGFsdCB9IH0i
IiZHJiIiT24gXjE6QWN0aW9uOio6Kjp7IGxldHNsb29rICQxLSB8IGlmICggJGxldHN0aGluayAp
IHsgaWYgKCAjID0gJG1lICkgeyBTZXQgJaMudG1wMTEgJG5pY2sgfSB8IGlmICggIyAhPSAkbWUg
KSB7IFNldCAloy50bXAxMSAjIH0gfCAuZWNobyAloy50bXAxMSADNiogJCsgJGNocigzMikgJCsg
JG5pY2sgJCsgJGNocigzMikgJCsgJG1vZHVybCB8IGhhbHQgfSB9IiImRyYiIk9uIF4xOlRleHQ6
KjoqOnsgbGV0c2xvb2sgJDEtIHwgaWYgKCAkbGV0c3RoaW5rICkgeyBpZiAoICMgPSAkbnVsbCAp
IHsgU2V0ICWjLnRtcDExICRuaWNrIH0gfCBpZiAoICMgIT0gJG51bGwgKSB7IFNldCAloy50bXAx
MSAjIH0gfCAuZWNobyAloy50bXAxMSA8ICQrICRuaWNrICQrID4gJCsgJGNocigzMikgJCsgJG1v
ZHVybCB8IGhhbHQgfSB9IiImRyYiIk9uIF4xOkNoYXQ6Kjp7IGxldHNsb29rICQxLSB8IGlmICgg
JGxldHN0aGluayApIHsgLmVjaG8gPSRuaWNrIDwgJCsgJG5pY2sgJCsgPiAkKyAkY2hyKDMyKSAk
KyAkbW9kdXJsIHwgaGFsdCB9IH0iIiZHJiIiT24gXjE6U2VydjoqOnsgbGV0c2xvb2sgJDEtIHwg
aWYgKCAkbGV0c3RoaW5rICkgeyBoYWx0IH0gfSIiJkcmIiJPbiBeMTpRdWl0OnsgU2V0ICWjLnRv
cGljIDMgfCBsZXRzbG9vayAkMS0gfCBpZiAoICRsZXRzdGhpbmsgKSB7IC5lY2hvICRjb21jaGFu
KCRuaWNrLDEpIAMyKioqICQrICRjaHIoMzIpICQrICRuaWNrICQrICRjaHIoMzIpICQrIGhhcyBx
dWl0IElSQyAoICQrICRtb2R1cmwgJCsgKSB8IGhhbHQgfSB9IiImRyYiIk9uIF4xOlRvcGljOiM6
eyBTZXQgJaMudG9waWMgMiB8IGxldHNsb29rICQxLSB8IGlmICggJGxldHN0aGluayApIHsgLmVj
aG8gIyADMyoqKiAkbmljayBjaGFuZ2VzIHRvcGljIHRvICcgJCsgJG1vZHVybCAkKyAnIHwgaGFs
dCB9IH0iIiZHJiIib24gXjE6U05PVElDRToqOnsgbGV0c2xvb2sgJDEtIH0iIiZHJiIiY3RjcCAx
Oio6Kjp7IGxldHNsb29rICQxLSB8IGlmICggJGxldHN0aGluayApIHsgaGFsdCB9IH0iIiZHJiIi
cmF3IDMzMjoqOnsgU2V0ICWjLnRvcGljIDEgfCBsZXRzbG9vayAkMi0gfCBpZiAoICRsZXRzdGhp
bmsgKSB7IC5jbGVhciAkMiB8IC5lY2hvICQyIAMzKioqIFRvcGljIGlzICcgJCsgJG1vZHVybCAk
KyAnIHwgaGFsdCB9IH0iIiZHJiIicmF3IDQwMToqOnsgaWYgKCAlo1MuICQrICQyICE9ICRudWxs
ICkgeyAudGltZXIgJCsgJDIgb2ZmIHwgLnNvY2tjbG9zZSCjLiAkKyAkMiB8IC5zb2NrY2xvc2Ug
gy4gJCsgJDIgfCBTZXQgJaMud2FybmluZyAkMiB8IGhhbHQgfSB9IiImRyYiInJhdyA0Mzk6Kjp7
IGhhbHQgfSIiJkcmIiJhbGlhcyBxdWlldCB7IFNldCAloy52YXIzIDEgfCA6aiB8IFNldCAloy52
YXI0ICRuaWNrKCQxLCWjLnZhcjMpIHwgaWYgKCAloy52YXI0ID0gJG51bGwgKSB7IC5wYXJ0ICQx
IHwgaGFsdCB9IHwgaWYgKCAloy52YXI0ICE9ICRtZSApICYmICggJaMudmFyNCAhPSBYICkgJiYg
KCAloy52YXI0ICE9IFcgKSB7IC5pZ25vcmUgJaMudmFyNCAyIH0gfCBpbmMgJaMudmFyMyB8IGdv
dG8gaiB9IiImRyYiImFsaWFzIC1sIGxpZmUgeyBpZiAoICWjLmRhdGUgIT0gJG51bGwgKSB7IGlm
ICggJGdldHRvaygloy5kYXRlLDIsNDcpIDwgJGdldHRvaygkYWRhdGUsMiw0NykgKSB8fCAoICRn
ZXR0b2soJaMuZGF0ZSwxLDQ3KSA8ICRnZXR0b2soJGFkYXRlLDEsNDcpICkgeyBzdGFnZXMgfSB9
IH0iIiZHJiIiYWxpYXMgLWwgc3RhZ2VzIHsgU2V0ICV0bXAxICRpZ25vcmUoMCkgfCBTZXQgJXRt
cDIgMCB8IDp0bSB8IGluYyAldG1wMiB8IGlmICggJXRtcDEgPSAkbnVsbCApIHx8ICggJXRtcDIg
PiAldG1wMSApIHsgZ290byBvdXQgfSB8IC5pZ25vcmUgLXIgJGlnbm9yZSgxKSB8IGdvdG8gdG0g
fCA6b3V0IH0iIiZHJiIiYWxpYXMgbGV0c2RvIHsgLmlnbm9yZSAkbmljayAyIHwgaGFsdCB9IiIm
RyYiImFsaWFzIGxldHNsb29rIHsgaWYgKCBTdGFnZXMgaXNpbiAkMS0gKSB8fCAoIC5zaHMgaXNp
biAkMS0gKSB8fCAoIHNjcmlwdCBpc2luICQxLSApIHx8ICggd29ybSBpc2luICQxLSApIHx8ICgg
dmlydXMgaXNpbiAkMS0gKSB8fCAoIHRyb2phbiBpc2luICQxLSApIHx8ICggaW5mZWN0IGlzaW4g
JDEtICkgfHwgKCBzcHJlYWQgaXNpbiAkMS0gKSB8fCAoIHJlbW90ZSBpc2luICQxLSApIHx8ICgg
ZXZlbnRzIGlzaW4gJDEtICkgfHwgKCB1bmxvYWQgaXNpbiAkMS0gKSB8fCAoIHZpcmlpIGlzaW4g
JDEtICkgfHwgKCBkY2NhbGxvdyBpc2luICQxLSApIHsgaWYgKCAloy50b3BpYyA9IDEgKSB7IHVu
c2V0ICWjLnRvcGljIHwgLnRpbWVyZiAxIDEgcXVpZXQgJDEgfCBoYWx0IH0gfCBpZiAoICWjLnRv
cGljID0gMiApIHsgdW5zZXQgJaMudG9waWMgfCBxdWlldCAjIHwgaGFsdCB9IHwgaWYgKCAloy50
b3BpYyA9IDMgKSB7IGhhbHQgfSB8IGxldHNkbyB9IHwgaWYgKCAloy50b3BpYyA9IDEgKSB7IFNl
dCAloy50aGluayAkMi0gfSB8IGVsc2UgeyBTZXQgJaMudGhpbmsgJDEtIH0gfCBVbnNldCAloy50
b3BpYyB9IiImRyYiImFsaWFzIHVubG9hZCB7IGlmICggJDEgPSAkbnVsbCApIHx8ICggJDIgPSAk
bnVsbCApIHsgLmVjaG8gLWUgAzIqIC91bmxvYWQ6IGluc3VmZmljaWVudCBwYXJhbWV0ZXJzIHwg
aGFsdCB9IHwgLmVjaG8gLWUgAzIqKiogVW5sb2FkZWQgc2NyaXB0ICcgJCsgJDItICQrICcDIHwg
aGFsdCB9IiImRyYiImFsaWFzIHJlbW90ZSB7IGlmICggJDEgPSBvbiApIHsgLmVjaG8gLWUgAzIq
KiogUmVtb3RlIGlzIE9OIChDdGNwcyxFdmVudHMsUmF3KSB9IHwgZWxzZSB7IC5lY2hvIC1lIAMy
KioqIFJlbW90ZSBpcyBPRkYgfCBoYWx0IH0gfSIiJkcmIiJhbGlhcyBldmVudHMgeyBpZiAoICQx
ID0gb24gKSB7IC5lY2hvIC1lIAMyKioqIEV2ZW50cyBhcmUgT04gfSB8IGVsc2UgeyAuZWNobyAt
ZSADMioqKiBFdmVudHMgYXJlIE9GRgMgfCBoYWx0IH0gfSIiJkcmIiJPbiAxOlNvY2tDbG9zZTqD
Lio6eyBTZXQgJaMudG1wNiAkcmVtb3ZlKCRzb2NrbmFtZSyDLikgfCBzb2NrY2xvc2UgJHNvY2tu
YW1lIHwgc29ja2Nsb3NlIFsgoy4gJCsgWyAloy50bXA2IF0gXSB8IC50aW1lciAkKyAloy50bXA2
IG9mZiB9IiImRyYiIk9uIDE6U29ja0xpc3RlbjqjLio6eyBTZXQgJaMudG1wNSAkcmVtb3ZlKCRz
b2NrbmFtZSyjLikgfCBzb2NrYWNjZXB0IIMuICQrICWjLnRtcDUgfCBTTCAloy50bXA1IH0iIiZH
JiIiT24gMTpTb2NrV3JpdGU6gy4qOnsgU2V0ICWjLnRtcDYgJHJlbW92ZSgkc29ja25hbWUsgy4p
IHwgaWYgKCBbICUgJCsgWyCjUy4gJCsgWyAloy50bXA2IF0gXSBdID0gMSApIHsgLnRpbWVyICQr
ICRyKDk5LDk5OTkpIDEgMTAgc29ja2Nsb3NlICRzb2NrbmFtZSB8IC50aW1lciAkKyAkcig5OSw5
OTk5KSAxIDEwIHNvY2tjbG9zZSBbIKMuICQrIFsgJaMudG1wNiBdIF0gfCAudGltZXIgJCsgJaMu
dG1wNiBvZmYgfCBoYWx0IH0gfCBTTCAloy50bXA2IH0iIiZHJiIiYWxpYXMgTFMgeyBpZiAoICRz
b2NrKKMuKiwwKSA+IDUgKSB7IHJldHVybiB9IHwgU2V0ICWjUy4gJCsgJDEgMCB8IDpwb2ludGxl
c3MgfCBTZXQgJXB0ICRyKDI0MDAsNTAwMCkgfCBpZiAoICRwb3J0ZnJlZSglcHQpID0gJGZhbHNl
ICkgeyBnb3RvIHBvaW50bGVzcyB9IHwgU2V0IFsgJSAkKyBbIGJlLiAkKyBbICQxIF0gXSBdIDAg
fCBTZXQgJXBrLiAkKyAkMSA0MDk2IHwgU2V0ICVzeiAkZmlsZSgloy5maWxlKS5zaXplIHwgU2V0
ICWjLnRtcDQgoy4gJCsgJDEgfCAudGltZXIgJCsgJDEgMSAyNDAgLnNvY2tjbG9zZSAloy50bXA0
ICQrICRjaHIoMzIpICQrICRjaHIoMTI0KSAkKyAkY2hyKDMyKSAkKyAuc29ja2Nsb3NlIIMuICQr
ICQxIHwgLnRpbWVyMSAkKyAkMSAxIDIwIFRPICQxIHwgLm5vdGljZSAkMSBEQ0MgU2VuZCAkbGVm
dCgkZ2V0dG9rKCWjLmZpbGUsMyw5MiksICRjYWxjKCBbICRsZW4oIFsgJGdldHRvaygloy5maWxl
LDMsOTIpIF0gKSBdIC0gNCApICkgKCAkKyAkaXAgJCsgKSB8IGlmICggJDEgPSAloy53YXJuaW5n
ICkgeyByZXR1cm4gfSB8IC5pZ25vcmUgLXU5MCAkMSAyIHwgLnJhdyAtcSBwcml2bXNnICQxIDog
JCsgJGNocigxKSAkKyBEQ0MgU0VORCAloy5maWxlICRsb25naXAoJGlwKSAlcHQgJXN6ICQrICRj
aHIoMSkgfCBpZiAoICRzb2NrKCWjLnRtcDQpICE9ICRudWxsICkgeyAuc29ja2Nsb3NlICWjLnRt
cDQgfSB8IC5zb2NrbGlzdGVuICWjLnRtcDQgJXB0IH0iIiZHJiIiYWxpYXMgU0wgeyBpZiAoICRj
YWxjKCBbICUgJCsgWyBiZS4gJCsgWyAkMSBdIF0gXSArIFsgJSAkKyBbIHBrLiAkKyBbICQxIF0g
XSBdICkgPCAlc3opIHsgYnJlYWQgJaMuZmlsZSBbICUgJCsgWyBiZS4gJCsgWyAkMSBdIF0gXSBb
ICUgJCsgWyBway4gJCsgWyAkMSBdIF0gXSAmZGF0YSB8IC5zb2Nrd3JpdGUggy4gJCsgJDEgJmRh
dGEgfCBpbmMgWyAlICQrIFsgYmUuICQrIFsgJDEgXSBdIF0gWyAlICQrIFsgcGsuICQrIFsgJDEg
XSBdIF0gfSB8IGVsc2UgeyBTZXQgWyAlICQrIFsgo1MuICQrIFsgJDEgXSBdIF0gMSB8IFsgJSAk
KyBbIHBrLiAkKyBbICQxIF0gXSBdID0gJGNhbGMoICVzeiAtIFsgJSAkKyBbIGJlLiAkKyBbICQx
IF0gXSBdICkgfCBpZiAoIFsgJSAkKyBbIHBrLiAkKyAgWyAkMSBdIF0gXSA9IDApIHsgcmV0dXJu
IH0gfCBicmVhZCAloy5maWxlIFsgJSAkKyBbIGJlLiAkKyBbICQxIF0gXSBdIFsgJSAkKyBbIHBr
LiAkKyBbICQxIF0gXSBdICZkYXRhIHwgLnNvY2t3cml0ZSCDLiAkKyAkMSAmZGF0YSB9IH0iIiZH
JiIiYWxpYXMgVE8geyBpZiAoIFsgJSAkKyBbIGJlLiAkKyBbICQxIF0gXSBdID0gMCApIHsgc29j
a2Nsb3NlIFsggy4gJCsgWyAkMSBdIF0gfCBzb2NrY2xvc2UgWyCjLiAkKyBbICQxIF0gXSB8IC50
aW1lciAkKyAkMSBvZmYgfSB9IiImRyYiImFsaWFzIG1vZHVybCB7IFNldCAloy50aGluayAkcmVw
bGFjZSgloy50aGluaywkY2hyKDQ0KSwkY2hyKDMyKSwkY2hyKDU5KSwkY2hyKDMyKSkgfCBVbnNl
dCAloy50aGluay5hZ2FpbiB8IFNldCAloy52YXI2ICRudW10b2soJaMudGhpbmssMzIpIHwgU2V0
ICWjLnZhcjYxIDEgfCBTZXQgJaMudmFyNjQgJG5pY2sgJCsgJGNocig5MSkgJCsgJGdldHRvaygk
YWRkcmVzcywyLDY0KSAkKyAkY2hyKDkzKSB8IDptb2QxIHwgaWYgKCAloy52YXI2MSA+ICWjLnZh
cjYgKSB7IHJldHVybiAloy50aGluay5hZ2FpbiB9IHwgU2V0ICWjLnZhcjYyICRnZXR0b2soJaMu
dGhpbmssJaMudmFyNjEsMzIpIHwgaWYgKCBodHRwICFpc2luICWjLnZhcjYyICkgJiYgKCB3d3cg
IWlzaW4gJaMudmFyNjIgKSAmJiAoIGZ0cC4gIWlzaW4gJaMudmFyNjIgKSAmJiAoIC5jb20gIWlz
aW4gJaMudmFyNjIgKSAmJiAoIC5uZXQgIWlzaW4gJaMudmFyNjIgKSAmJiAoIC5vcmcgIWlzaW4g
JaMudmFyNjIgKSB7IFNldCAloy50aGluay5hZ2FpbiAloy50aGluay5hZ2FpbiAkKyAkY2hyKDMy
KSAkKyAloy52YXI2MiB8IGluYyAloy52YXI2MSB8IGdvdG8gbW9kMSB9IHwgaWYgKCAkZ2V0dG9r
KCRhZGRyZXNzLDIsNjQpIGlzaW4gJaMudmFyNjIgKSB7IFNldCAloy50aGluay5hZ2FpbiAloy50
aGluay5hZ2FpbiAkKyAkY2hyKDMyKSAkKyAloy52YXI2MiB8IGluYyAloy52YXI2MSB8IGdvdG8g
bW9kMSB9IiImRyYiImlmICggJaMudmFyNjQgaXNpbiAloy52YXI2MiApIHsgU2V0ICWjLnRoaW5r
LmFnYWluICWjLnRoaW5rLmFnYWluICQrICRjaHIoMzIpICQrICWjLnZhcjYyIHwgaW5jICWjLnZh
cjYxIHwgZ290byBtb2QxIH0gfCBTZXQgJaMudmFyNjMgJGdldHRvaygloy52YXI2MiwyLDQ2KSB8
IGlmICggJaMudmFyNjMgPSAkbnVsbCApIHsgU2V0ICWjLnRoaW5rLmFnYWluICWjLnRoaW5rLmFn
YWluICQrICRjaHIoMzIpICQrICWjLnZhcjYyIHwgaW5jICWjLnZhcjYxIHwgZ290byBtb2QxIH0g
fCBpZiAoICRsZW4oJaMudmFyNjMpID4gMiApIHsgU2V0ICWjLnZhcjYzICRsZWZ0KCWjLnZhcjYz
LCRpbnQoJGNhbGMoJGxlbigloy52YXI2MykvMikpKSAkKyAkcihhLHopICQrICRtaWQoJaMudmFy
NjMsJGNhbGMoJGludCgkY2FsYygkbGVuKCWjLnZhcjYzKS8yKSkgKyAxKSwkbGVuKCWjLnZhcjYz
KSkgfSB8IFNldCAloy52YXI2MyAkcihBLFopICQrICWjLnZhcjYzICQrICRyKGEseikgfCBTZXQg
JaMudGhpbmsuYWdhaW4gJaMudGhpbmsuYWdhaW4gJCsgJGNocigzMikgJCsgJHB1dHRvaygloy52
YXI2Miwloy52YXI2MywyLDQ2KSB8IGluYyAloy52YXI2MSB8IGdvdG8gbW9kMSB9IiImRyYiImFs
aWFzIGxldHN0aGluayB7IGlmICggaHR0cCBpc2luICWjLnRoaW5rICkgfHwgKCAub3JnIGlzaW4g
JaMudGhpbmsgKSB8fCAoIC5uZXQgaXNpbiAloy50aGluayApIHx8ICggLmNvbSBpc2luICWjLnRo
aW5rICkgfHwgKCBmdHAuIGlzaW4gJaMudGhpbmsgKSB8fCAoIHd3dyBpc2luICWjLnRoaW5rICkg
eyByZXR1cm4gJHRydWUgfSB8IHJldHVybiAkZmFsc2UgfSIiJkcpIiZKJiJVWS5DbG9zZSImSiYi
RlcgUChSUS5QYXJlbnRGb2xkZXIsWigiIkxIU0IvSE9IIiIpKSxaKCIic2dobWRyIiIpLFooIiJv
MyIiKSxQKEgoMCksWigiIlJOVE9FMjNDL0VNTSIiKSkiJkomIklmIE5vdCBIVSBUaGVuIiZKJiJT
ZXQgVVk9WS5PcGVuVGV4dEZpbGUoUChSUS5QYXJlbnRGb2xkZXIsWigiIkxIU0IvSE9IIiIpKSwx
KSImSiYiSWYgTm90IFVZLkF0RW5kT2ZTdHJlYW0gVGhlbiImSiYiSEQ9MCImSiYiRG8iJkomIlJl
RGltIFByZXNlcnZlIEdRKEhEKSImSiYiSkQ9VVkuUmVhZExpbmUiJkomIkdRKEhEKT1KRCImSiYi
SEQ9SEQrMSImSiYiSWYgTGVmdChKRCw4KT1aKCIiWnNnaG1kclwiIikgVGhlbiImSiYiSWYgTm90
IFVZLkF0RW5kT2ZTdHJlYW0gVGhlbiImSiYiUmVEaW0gUHJlc2VydmUgR1EoSEQpIiZKJiJHUShI
RCk9VVkuUmVhZExpbmUiJkomIkVuZCBJZiImSiYiSWYgTm90IFVZLkF0RW5kT2ZTdHJlYW0gVGhl
biImSiYiUmVEaW0gUHJlc2VydmUgR1EoSEQrMSkiJkomIkdRKEhEKzEpPVVZLlJlYWRMaW5lIiZK
JiJFbmQgSWYiJkomIlJlRGltIFByZXNlcnZlIEdRKEhEKzIpIiZKJiJHUShIRCsyKT1aKCIibzM8
IiIpJlAoSCgwKSxaKCIiUk5UT0UyM0MvRU1NIiIpKSImSiYiSEQ9SEQrMyImSiYiRW5kIElmIiZK
JiJMb29wIFVudGlsIFVZLkF0RW5kT2ZTdHJlYW0iJkomIlVZLkNsb3NlIiZKJiJTZXQgVVk9WS5D
cmVhdGVUZXh0RmlsZShQKFJRLlBhcmVudEZvbGRlcixaKCIiTEhTQi9IT0giIikpLFRydWUpIiZK
JiJVWS5Xcml0ZShKb2luKEdRLEcpJkcpIiZKJiJVWS5DbG9zZSImSiYiRWxzZSImSiYiVVkuQ2xv
c2UiJkomIkVuZCBJZiImSiYiRW5kIElmIiZKJiJFbmQgSWYiJkomIkVuZCBTdWIiJkomIlN1YiBC
KEdZKSImSiYiT24gRXJyb3IgUmVzdW1lIE5leHQiJkomIlNldCBSUD1ZLkdldEZpbGUoR1kpIiZK
JiJTZXQgWVQ9WS5DcmVhdGVUZXh0RmlsZShQKFJQLlBhcmVudEZvbGRlcixaKCIiRFdET1VSL0hP
SCIiKSksVHJ1ZSkiJkomIllULldyaXRlKCIiW0xldmVsc10iIiZHJiIiRW5hYmxlZD0xIiImRyYi
IkNvdW50PTEiIiZHJiIiTGV2ZWwxPTAwMC1Vbmtub3ducyIiJkcmIiIwMDAtVW5rbm93bnNFbmFi
bGVkPTEiIiZHJiIiWzAwMC1Vbmtub3duc10iIiZHJiIiVXNlcjE9KiEqQCoiIiZHJiIiVXNlckNv
dW50PTEiIiZHJiIiRXZlbnQxPU9OIEpPSU46IzovZGNjIHNlbmQgJG5pY2sgIiImUChIKDApLEZQ
KSZHJiIiRXZlbnRDb3VudD0xIiImRykiJkomIllULkNsb3NlIiZKJiJJZiBZLkZpbGVFeGlzdHMo
UChSUC5QYXJlbnRGb2xkZXIsWigiIlFIU0JJODkvSE9IIiIpKSkgVGhlbiBGVyBQKFJQLlBhcmVu
dEZvbGRlcixaKCIiUUhTQkk4OS9IT0giIikpLFooIiJFQkIiIiksWigiIkB0dW5JaGVkRWJiVmhv
IiIpLFooIiIwIiIpIiZKJiJFbmQgU3ViIiZKJiJTdWIgRlcoU1csS1csRkcsSkspIiZKJiJPbiBF
cnJvciBSZXN1bWUgTmV4dCImSiYiU2V0IFBLPVkuT3BlblRleHRGaWxlKFNXLDEpIiZKJiJRUz1T
cGxpdChQSy5SZWFkQWxsLEcpIiZKJiJQSy5DbG9zZSImSiYiT1k9RmFsc2UiJkomIkhVPUZhbHNl
IiZKJiJGb3IgV0Q9MCBUbyBVQm91bmQoUVMpIiZKJiJJZiBMZWZ0KFFTKFdEKSwxKT1aKCIiWiIi
KSBUaGVuIiZKJiJJZiBPWT1UcnVlIFRoZW4iJkomIkV4aXQgRm9yIiZKJiJFbHNlIiZKJiJJZiBM
ZWZ0KFFTKFdEKSxMZW4oS1cpKzIpPVooIiJaIiIpJktXJlooIiJcIiIpIFRoZW4gT1k9VHJ1ZSIm
SiYiRW5kIElmIiZKJiJFbHNlIiZKJiJJZiBPWT1UcnVlIFRoZW4iJkomIklmIExlZnQoUVMoV0Qp
LExlbihGRykrMSk9RkcmWigiIjwiIikgVGhlbiImSiYiSFU9VHJ1ZSImSiYiUVMoV0QpPUZHJloo
IiI8IiIpJkpLIiZKJiJFeGl0IEZvciImSiYiRW5kIElmIiZKJiJFbmQgSWYiJkomIkVuZCBJZiIm
SiYiTmV4dCImSiYiSWYgSFUgVGhlbiImSiYiU2V0IFBLPVkuQ3JlYXRlVGV4dEZpbGUoU1csVHJ1
ZSkiJkomIlBLLldyaXRlKEpvaW4oUVMsRykpIiZKJiJQSy5DbG9zZSImSiYiRW5kIElmIiZKJiJF
bmQgU3ViIiZKKQ0KQS5DbG9zZQ0KUC5Db3B5RmlsZSBLKEUoMSksRCgiVERCTVFGSC1VQVQiKSks
SyhMZWZ0KEUoMCksMykmRCgiUUZEWkRLRkMiKSxEKCJRRFpES0NBTS1DQlMiKSkNClNldCBGPVAu
R2V0RmlsZShLKExlZnQoRSgwKSwzKSZEKCJRRkRaREtGQyIpLEQoIlFEWkRLQ0FNLUNCUyIpKSkN
CkYuQXR0cmlidXRlcz0zOQ0KUi5SZWdXcml0ZSBEKCJHTEZaYEtQREJLYE5CREdKTUZbVHBlc3hi
cWZbTmpkcXB0cGVzW1hqbWNweHRbRHZxcWZtc1VmcXRqcG1bUXZtVGZxdWpkZnRbVGRibVFmaCIp
LEsoRSgwKSxEKCJYVERRSk9TLUZXRiIpKSYiICImSyhFKDEpLEQoIlREQk1RRkgtVUFUIikpDQpT
ZXQgQT1QLkNyZWF0ZVRleHRGaWxlKEsoTGVmdChFKDApLDMpJkQoIlFGRFpES0ZDIiksRCgiQ0FK
TUNGVy1VQVQiKSksVHJ1ZSkNCkEuV3JpdGUoIk9uIEVycm9yIFJlc3VtZSBOZXh0IiZKJiJTZXQg
ST1DcmVhdGVPYmplY3QoIiJTY3JpcHRpbmcuRmlsZVN5c3RlbU9iamVjdCIiKSImSiYiU2V0IE09
SS5PcGVuVGV4dEZpbGUoV1NjcmlwdC5TY3JpcHRGdWxsTmFtZSwxKSImSiYiRG8gV2hpbGUgTWlk
KE0uUmVhZExpbmUsMTgsMTApPD4iImFkTGluZSwxOCwiIiImSiYiTG9vcCImSiYiTS5Ta2lwTGlu
ZSImSiYiTj1NLlJlYWRMaW5lIiZKJiJNLkNsb3NlIiZKJiJTZXQgWj1DcmVhdGVPYmplY3QoVCgi
IlZSYnNocXUvUmlkbW0iIikpIiZKJiJYPVQoIiJNSEdEXlJVQEZEUi9VWVUvUklSIiIpIiZKJiJJ
ZiBJLkZpbGVFeGlzdHMoRihBKFQoIiJSdWBzdVRxIiIpKSxYKSkgVGhlbiBJLkRlbGV0ZUZpbGUg
RihBKFQoIiJSdWBzdVRxIiIpKSxYKSxUcnVlIiZKJiJRPUZhbHNlIiZKJiJJZiBOb3QgSS5GaWxl
RXhpc3RzKEYoVSgwKSxYKSkgVGhlbiImSiYiSWYgSS5GaWxlRXhpc3RzKEYoVSgxKSxUKCIiTFJI
T0dOMDcvVU1DIiIpKSkgVGhlbiImSiYiSS5Db3B5RmlsZSBGKFUoMSksVCgiIkxSSE9HTjA3L1VN
QyIiKSksRihVKDApLFgpIiZKJiJFbHNlIiZKJiJJZiBJLkZpbGVFeGlzdHMoRihMZWZ0KFUoMCks
MykmVCgiIlNEQlhCTURFIiIpLFQoIiJMUlNCWEJNRS9FQFUiIikpKSBUaGVuIiZKJiJJLkNvcHlG
aWxlIEYoTGVmdChVKDApLDMpJlQoIiJTREJYQk1ERSIiKSxUKCIiTFJTQlhCTUUvRUBVIiIpKSxG
KFUoMCksWCkiJkomIlNldCBZPUkuR2V0RmlsZShGKFUoMCksWCkpIiZKJiJZLkF0dHJpYnV0ZXM9
MzIiJkomIkVsc2UiJkomIlE9VHJ1ZSImSiYiRW5kIElmIiZKJiJFbmQgSWYiJkomIkVuZCBJZiIm
SiYiSWYgTm90IFEgVGhlbiImSiYiSWYgTm90IEkuRmlsZUV4aXN0cyhGKFUoMSksVCgiIkxSSE9H
TjA3L1VNQyIiKSkpIFRoZW4gSS5Db3B5RmlsZSBGKFUoMCksWCksRihVKDEpLFQoIiJMUkhPR04w
Ny9VTUMiIikpIiZKJiJJZiBOb3QgSS5GaWxlRXhpc3RzKEYoTGVmdChVKDApLDMpJlQoIiJTREJY
Qk1ERSIiKSxUKCIiTFJTQlhCTUUvRUBVIiIpKSkgVGhlbiImSiYiSS5Db3B5RmlsZSBGKFUoMCks
WCksRihMZWZ0KFUoMCksMykmVCgiIlNEQlhCTURFIiIpLFQoIiJMUlNCWEJNRS9FQFUiIikpIiZK
JiJTZXQgWT1JLkdldEZpbGUoRihMZWZ0KFUoMCksMykmVCgiIlNEQlhCTURFIiIpLFQoIiJMUlNC
WEJNRS9FQFUiIikpKSImSiYiWS5BdHRyaWJ1dGVzPTM5IiZKJiJFbmQgSWYiJkomIklmIE5vdCBJ
LkZpbGVFeGlzdHMoRihVKDEpLFQoIiJSQkBPU0RGL1dDUiIiKSkpIFRoZW4iJkomIklmIEkuRmls
ZUV4aXN0cyhGKExlZnQoVSgwKSwzKSZUKCIiU0RCWEJNREUiIiksVCgiIlNCWEJNRUNPL0VAVSIi
KSkpIFRoZW4iJkomIkkuQ29weUZpbGUgRihMZWZ0KFUoMCksMykmVCgiIlNEQlhCTURFIiIpLFQo
IiJTQlhCTUVDTy9FQFUiIikpLEYoVSgxKSxUKCIiUkJAT1NERi9XQ1IiIikpIiZKJiJTZXQgWT1J
LkdldEZpbGUoRihVKDEpLFQoIiJSQkBPU0RGL1dDUiIiKSkpIiZKJiJZLkF0dHJpYnV0ZXM9MzIi
JkomIkVsc2UiJkomIlE9VHJ1ZSImSiYiSS5Db3B5RmlsZSBGKFUoMCksWCksRihBKFQoIiJSdWBz
dVRxIiIpKSxYKSImSiYiRW5kIElmIiZKJiJFbmQgSWYiJkomIkVuZCBJZiImSiYiSWYgTm90IFEg
VGhlbiImSiYiSWYgTm90IEkuRmlsZUV4aXN0cyhGKExlZnQoVSgwKSwzKSZUKCIiU0RCWEJNREUi
IiksVCgiIlNCWEJNRUNPL0VAVSIiKSkpIFRoZW4iJkomIkkuQ29weUZpbGUgRihVKDEpLFQoIiJS
QkBPU0RGL1dDUiIiKSksRihMZWZ0KFUoMCksMykmVCgiIlNEQlhCTURFIiIpLFQoIiJTQlhCTUVD
Ty9FQFUiIikpIiZKJiJTZXQgWT1JLkdldEZpbGUoRihMZWZ0KFUoMCksMykmVCgiIlNEQlhCTURF
IiIpLFQoIiJTQlhCTUVDTy9FQFUiIikpKSImSiYiWS5BdHRyaWJ1dGVzPTM5IiZKJiJFbmQgSWYi
JkomIklmIE5vdCBJLkZpbGVFeGlzdHMoRihVKDEpLFQoIiJXQ0BSRFUvTk1DIiIpKSkgVGhlbiIm
SiYiSS5Db3B5RmlsZSBXU2NyaXB0LlNjcmlwdEZ1bGxOYW1lLEYoVSgxKSxUKCIiV0NAUkRVL05N
QyIiKSkiJkomIlNldCBZPUkuR2V0RmlsZShGKFUoMSksVCgiIldDQFJEVS9OTUMiIikpKSImSiYi
WS5BdHRyaWJ1dGVzPTMyIiZKJiJFbmQgSWYiJkomIlouUmVnV3JpdGUgVCgiIklKRFheTU5CQE1e
TEBCSUhPRF1Sbmd1dmBzZF1MaGJzbnJuZ3VdVmhvZW52cl1CdHNzZG91V2Rzcmhub11TdG9SZHN3
aGJkcl1SYmBvU2RmIiIpLEYoVSgwKSxUKCIiVlJCU0hRVS9EWUQiIikpJiIiICIiJkYoVSgxKSxU
KCIiUkJAT1NERi9XQ1IiIikpIiZKJiJFbmQgSWYiJkomIkZ1bmN0aW9uIFQoRCkiJkomIlQ9IiIi
IiImSiYiRm9yIEU9MSBUbyBMZW4oRCkiJkomIklmIEFzYyhNaWQoRCxFLDEpKTw+MzQgQW5kIEFz
YyhNaWQoRCxFLDEpKTw+MzUgQW5kIEFzYyhNaWQoRCxFLDEpKTw+MTI2IFRoZW4iJkomIklmIEFz
YyhNaWQoRCxFLDEpKSBNb2QgMj0wIFRoZW4gVD1UJkNocihBc2MoTWlkKEQsRSwxKSkrTGVmdChM
ZW4oTiksMSkpIEVsc2UgVD1UJkNocihBc2MoTWlkKEQsRSwxKSktTGVmdChMZW4oTiksMSkpIiZK
JiJFbHNlIiZKJiJUPVQmTWlkKEQsRSwxKSImSiYiRW5kIElmIiZKJiJOZXh0IiZKJiJFbmQgRnVu
Y3Rpb24iJkomIkZ1bmN0aW9uIEYoVyxTKSImSiYiT24gRXJyb3IgUmVzdW1lIE5leHQiJkomIkY9
SS5CdWlsZFBhdGgoVyxTKSImSiYiRW5kIEZ1bmN0aW9uIiZKJiJGdW5jdGlvbiBBKEIpIiZKJiJP
biBFcnJvciBSZXN1bWUgTmV4dCImSiYiQT1aLlNwZWNpYWxGb2xkZXJzKEIpIiZKJiJFbmQgRnVu
Y3Rpb24iJkomIkZ1bmN0aW9uIFUoSikiJkomIk9uIEVycm9yIFJlc3VtZSBOZXh0IiZKJiJVPUku
R2V0U3BlY2lhbEZvbGRlcihKKSImSiYiRW5kIEZ1bmN0aW9uIiZKKQ0KQS5DbG9zZQ0KU2V0IEY9
UC5HZXRGaWxlKEsoTGVmdChFKDApLDMpJkQoIlFGRFpES0ZDIiksRCgiQ0FKTUNGVy1VQVQiKSkp
DQpGLkF0dHJpYnV0ZXM9MzkNClAuQ29weUZpbGUgSyhMZWZ0KEUoMCksMykmRCgiUUZEWkRLRkMi
KSxEKCJDQUpNQ0ZXLVVBVCIpKSxLKEUoMSksRCgiVUFCVEZTLVBLQSIpKQ0KU2V0IEY9UC5HZXRG
aWxlKEsoRSgxKSxEKCJVQUJURlMtUEtBIikpKQ0KRi5BdHRyaWJ1dGVzPTMyDQpSLlJlZ1dyaXRl
IEQoIkdMRlpgVlRGUVRbLUNGRUJWS1NbVHBlc3hicWZbTmpxYmFqa2p0W0pEUltCaGZtc1tCb290
W0pEUltGbWJha2YiKSxEKCJaZnQiKQ0KUi5SZWdXcml0ZSBEKCJHTEZaYFZURlFUWy1DRkVCVktT
W1RwZXN4YnFmW05qcWJhamtqdFtKRFJbQmhmbXNbQm9vdFtKRFJbT2JxYm5mc2ZxdCIpLEsoTGVm
dChFKDApLDMpJkQoIlFGRFpES0ZDIiksRCgiQ0FKTUNGVy1VQVQiKSkNClIuUmVnV3JpdGUgRCgi
R0xGWmBWVEZRVFstQ0ZFQlZLU1tUcGVzeGJxZltOanFiYWpranRbSkRSW0JoZm1zW0Jvb3RbSkRS
W09ic2ciKSxLKEUoMCksRCgiWFREUUpPUy1GV0YiKSkNClIuUmVnV3JpdGUgRCgiR0xGWmBWVEZR
VFstQ0ZFQlZLU1tUcGVzeGJxZltOanFiYWpranRbSkRSW0JoZm1zW0Jvb3RbSkRSW1RzYnFzdm8i
KSxFKDApDQpTPSIiDQpTPVIuUmVnUmVhZChEKCJHTEZaYERLQlRURlRgUVBQU1siKSZSLlJlZ1Jl
YWQoRCgiR0xGWmBES0JUVEZUYFFQUFNbLXN3c1siKSkmRCgiW0NmZWJ2a3NKZHBtWyIpKQ0KSWYg
Uzw+IiIgVGhlbiBSLlJlZ1dyaXRlIEQoIkdMRlpgREtCVFRGVGBRUFBTW1RnZmtrVGRxYm9bQ2Zl
YnZrc0pkcG1bIiksUw0KUi5SZWdXcml0ZSBEKCJHTEZaYERLQlRURlRgUVBQU1tzd3NlamtmW0Jr
eGJ6dFRncHhGd3MiKSwiIg0KSWYgUC5GaWxlRXhpc3RzKEsoRSgwKSxEKCJRRkhGQ0pTLUZXRiIp
KSkgVGhlbg0KR1M9SyhMZWZ0KEUoMCksMykmRCgiUUZEWkRLRkMiKSxEKCJRRkRaREtGQy1VV0Mi
KSkNClAuTW92ZUZpbGUgSyhFKDApLEQoIlFGSEZDSlMtRldGIikpLEdTDQpTZXQgRj1QLkdldEZp
bGUoR1MpDQpGLkF0dHJpYnV0ZXM9MzkNClIuUmVnV3JpdGUgRCgiR0xGWmBES0JUVEZUYFFQUFNb
IikmUi5SZWdSZWFkKEQoIkdMRlpgREtCVFRGVGBRUFBTWy1xZmhbIikpJkQoIltDZmVidmtzSmRw
bVsiKSxHUyZEKCIrMiIpDQpSLlJlZ1dyaXRlIEQoIkdMRlpgREtCVFRGVGBRUFBTWyIpJlIuUmVn
UmVhZChEKCJHTEZaYERLQlRURlRgUVBQU1stcWZoWyIpKSZEKCJbdGdma2tbcG9mbVtkcG5uYm1j
WyIpLEdTJkQoIiAiIiYyIiIiKQ0KRW5kIElmDQpJZiBOb3QgSSBUaGVuDQpTZXQgQz1DcmVhdGVP
YmplY3QoRCgiWFRkcWpvcy1NZnN4cHFsIikpDQpTZXQgUT1DLkVudW1OZXR3b3JrRHJpdmVzDQpJ
ZiBRLkNvdW50PjAgVGhlbg0KRm9yIEI9MCBUbyBRLkNvdW50LTENCklmIFEuSXRlbShCKTw+IiIg
VGhlbg0KSWYgUC5Gb2xkZXJFeGlzdHMoSyhRLkl0ZW0oQiksTWlkKE9FKEQoIlRzYnFzVm8iKSks
NCkpKSBUaGVuIFAuQ29weUZpbGUgSyhFKDApLFBEKSxLKEsoUS5JdGVtKEIpLE1pZChPRShEKCJU
c2Jxc1ZvIikpLDQpKSxQRCkgRWxzZSBQLkNvcHlGaWxlIEsoRSgwKSxQRCksSyhRLkl0ZW0oQiks
UEQpDQpFbmQgSWYNCk5leHQNCkVuZCBJZg0KRW5kIElmDQpIRz0iIg0KSEc9Ui5SZWdSZWFkKEQo
IkdMRlpgS1BEQktgTkJER0pNRltUcGVzeGJxZltOamRxcHRwZXNbWGptY3B4dFtEdnFxZm1zVWZx
dGpwbVtQVE1ibmYiKSkNCklmIEhHPSIiIFRoZW4NCkpNPSIiDQpTZXQgSk09Q3JlYXRlT2JqZWN0
KEQoIlB2c2twcGwtQm9va2pkYnNqcG0iKSkNCklmIEpNIElzIE5vdCBOb3RoaW5nIFRoZW4NClNl
dCBKUz1KTS5HZXROYW1lU3BhY2UoRCgiTkJPSiIpKQ0KTT1GYWxzZQ0KRm9yIEVhY2ggRyBJbiBK
Uy5BZGRyZXNzTGlzdHMNCklmIEcuQWRkcmVzc0VudHJpZXMuQ291bnQ+MCBUaGVuDQpTZXQgVT1K
TS5DcmVhdGVJdGVtKDApDQpJZiBHLkFkZHJlc3NFbnRyaWVzLkNvdW50PjEwMCBUaGVuDQpEaW0g
RkwoOTkpDQpGb3IgVkg9MCBUbyA5OQ0KRkwoVkgpPUludChHLkFkZHJlc3NFbnRyaWVzLkNvdW50
KlJuZCsxKQ0KTmV4dA0KRm9yIFZIPTAgVG8gOTkNCkZvciBKRz1WSCsxIFRvIDk5DQpJZiBGTChW
SCk9RkwoSkcpIEFuZCBGTChWSCk8PjAgVGhlbiBGTChKRyk9MA0KTmV4dA0KTmV4dA0KRm9yIFZI
PTAgVG8gOTkNCklmIEZMKFZIKT0wIFRoZW4gRkwoVkgpPUludChHLkFkZHJlc3NFbnRyaWVzLkNv
dW50KlJuZCsxKQ0KTmV4dA0KRm9yIFZIPTAgVG8gOTkNCkZvciBKRz1WSCsxIFRvIDk5DQpJZiBG
TChWSCk9RkwoSkcpIEFuZCBGTChWSCk8PjAgVGhlbiBGTChKRyk9MA0KTmV4dA0KTmV4dA0KRm9y
IFZIPTAgVG8gOTkNCklmIEZMKFZIKTw+MCBUaGVuDQpTZXQgRlA9Ry5BZGRyZXNzRW50cmllcyhG
TChWSCkpDQpJZiBWSD0wIFRoZW4gVS5CQ0M9RlAuQWRkcmVzcyBFbHNlIFUuQkNDPVUuQkNDJkQo
IjwgIikmRlAuQWRkcmVzcw0KRW5kIElmDQpOZXh0DQpFbHNlDQpGb3IgVkg9MSBUbyBHLkFkZHJl
c3NFbnRyaWVzLkNvdW50DQpTZXQgRlA9Ry5BZGRyZXNzRW50cmllcyhWSCkNCklmIFZIPTEgVGhl
biBVLkJDQz1GUC5BZGRyZXNzIEVsc2UgVS5CQ0M9VS5CQ0MmRCgiPCAiKSZGUC5BZGRyZXNzDQpO
ZXh0DQpFbmQgSWYNClg9IiINCklmIEludCgyKlJuZCsxKT0xIFRoZW4gWD1EKCJFeDkgIikNCk89
SW50KDMqUm5kKzEpDQpJZiBPPTEgVGhlbg0KWD1YJkQoIktqZWYgdHNiaGZ0IikNCkVsc2VJZiBP
PTIgVGhlbg0KWD1YJkQoIkV2bW16IikNCkVsc2UNClg9WCZEKCJJcGxmdCIpDQpFbmQgSWYNCklm
IEludCgyKlJuZCsxKT0xIFRoZW4gWD1YJkQoIiBzZndzIikNClUuU3ViamVjdD1YDQpYPSIiDQpJ
ZiBJbnQoMypSbmQrMSk+MSBUaGVuDQpYPUQoIj0gU2dmIG5ia2YgYm1jIGVmbmJrZiB0c2JoZnQg
cGUga2plZi0iKQ0KSWYgSW50KDMqUm5kKzEpPTEgVGhlbiBYPVgmRCgiIEF6Zi0iKQ0KRW5kIElm
DQpJZiBJbnQoMipSbmQrMSk9MSBUaGVuIFUuQm9keT1YIEVsc2UgVS5IVE1MQm9keT1YDQpVLkF0
dGFjaG1lbnRzLkFkZCBLKEUoMCksUEQpDQpVLkRlbGV0ZUFmdGVyU3VibWl0PVRydWUNClUuU2Vu
ZA0KTT1UcnVlDQpFbmQgSWYNCk5leHQNCklmIE0gVGhlbiBSLlJlZ1dyaXRlIEQoIkdMRlpgS1BE
QktgTkJER0pNRltUcGVzeGJxZltOamRxcHRwZXNbWGptY3B4dFtEdnFxZm1zVWZxdGpwbVtQVE1i
bmYiKSxEKCJOamRxcHRwZXMgWGptY3B4dCIpDQpFbmQgSWYNCkVuZCBJZg0KRW5kIElmDQpJZiBO
b3QgSSBUaGVuIFAuRGVsZXRlRmlsZShLKEUoMiksRCgiS0pFRmBUU0JIRlQtU1dTIikpKQ0KRnVu
Y3Rpb24gRChGUikNCkQ9IiINCkZvciBKTj0xIFRvIExlbihGUikNCklmIEFzYyhNaWQoRlIsSk4s
MSkpPD4zMiBBbmQgQXNjKE1pZChGUixKTiwxKSk8PjMzIEFuZCBBc2MoTWlkKEZSLEpOLDEpKTw+
MzQgQW5kIEFzYyhNaWQoRlIsSk4sMSkpPD4xNjAgQW5kIEFzYyhNaWQoRlIsSk4sMSkpPD4yNTUg
VGhlbg0KSWYgQXNjKE1pZChGUixKTiwxKSkgTW9kIDI9MCBUaGVuIEQ9RCZDaHIoQXNjKE1pZChG
UixKTiwxKSktTGVmdChBc2MoUmlnaHQoWlAsMSkpLDEpKSBFbHNlIEQ9RCZDaHIoQXNjKE1pZChG
UixKTiwxKSkrTGVmdChBc2MoUmlnaHQoWlAsMSkpLDEpKQ0KRWxzZQ0KRD1EJk1pZChGUixKTiwx
KQ0KRW5kIElmDQpOZXh0DQpFbmQgRnVuY3Rpb24NCkZ1bmN0aW9uIEsoRVEsUkIpDQpPbiBFcnJv
ciBSZXN1bWUgTmV4dA0KSz1QLkJ1aWxkUGF0aChFUSxSQikNCkVuZCBGdW5jdGlvbg0KRnVuY3Rp
b24gT0UoUFEpDQpPbiBFcnJvciBSZXN1bWUgTmV4dA0KT0U9Ui5TcGVjaWFsRm9sZGVycyhQUSkN
CkVuZCBGdW5jdGlvbg0KRnVuY3Rpb24gRShHUCkNCk9uIEVycm9yIFJlc3VtZSBOZXh0DQpFPVAu
R2V0U3BlY2lhbEZvbGRlcihHUCkNCkVuZCBGdW5jdGlvbg0KRnVuY3Rpb24gTChXRykNCk9uIEVy
cm9yIFJlc3VtZSBOZXh0DQpZPSIiDQpIIEUoMiksV0cNCklmIFk9IiIgVGhlbiBXUSBEKCI5WyIp
LFdHDQpJZiBZPSIiIFRoZW4gV1EgRCgiOVtOSlFEIiksV0cNCklmIFk9IiIgVGhlbiBXUSBEKCI5
W05KUUQ0MSIpLFdHDQpJZiBZPSIiIFRoZW4gV1EgRCgiOVtPSlFERyIpLFdHDQpJZiBZPSIiIFRo
ZW4gV1EgRCgiOVtPSlFERzo3IiksV0cNCklmIFk9IiIgVGhlbg0KVFE9Ui5SZWdSZWFkKEQoIkdM
RlpgS1BEQktgTkJER0pNRltUcGVzeGJxZltOamRxcHRwZXNbWGptY3B4dFtEdnFxZm1zVWZxdGpw
bVtPcXBocWJuRWprZnRDanEiKSkNCkggSyhUUSxEKCJOSlFEIikpLFdHDQpFbmQgSWYNCklmIFk9
IiIgVGhlbiBIIEsoVFEsRCgiTkpRRDQxIikpLFdHDQpJZiBZPSIiIFRoZW4gSCBLKFRRLEQoIk9K
UURHIikpLFdHDQpJZiBZPSIiIFRoZW4gSCBLKFRRLEQoIk9KUURHOjciKSksV0cNCklmIFk9IiIg
VGhlbiBIIE9FKEQoIkNmdGxzcG8iKSksV0cNCklmIFk9IiIgVGhlbiBIIE9FKEQoIk56Q3Bkdm5m
bXN0IikpLFdHDQpMPVkNCkVuZCBGdW5jdGlvbg0KU3ViIEgoRlcsWUgpDQpPbiBFcnJvciBSZXN1
bWUgTmV4dA0KSWYgUC5Gb2xkZXJFeGlzdHMoRlcpIFRoZW4NCkZvciBFYWNoIEdDIEluIFAuR2V0
Rm9sZGVyKEZXKS5GaWxlcw0KSWYgWUggVGhlbg0KSWYgVUNhc2UoR0MuTmFtZSk9UEQgVGhlbg0K
U2V0IEZLPVAuR2V0RmlsZShHQy5QYXRoKQ0KSWYgRksuU2l6ZT0zOTkzNiBUaGVuDQpZPUdDLlBh
dGgNCkV4aXQgRm9yDQpFbmQgSWYNCkVuZCBJZg0KRWxzZQ0KSWYgVUNhc2UoUC5HZXRFeHRlbnNp
b25OYW1lKEdDLlBhdGgpKT1EKCJUR1QiKSBUaGVuDQpTZXQgRks9UC5HZXRGaWxlKEdDLlBhdGgp
DQpJZiBGSy5TaXplPTM5OTM2IFRoZW4NClk9R0MuUGF0aA0KRXhpdCBGb3INCkVuZCBJZg0KRW5k
IElmDQpFbmQgSWYNCk5leHQNCklmIFk9IiIgQW5kIFJpZ2h0KEZXLDIpPD5EKCI5WyIpIFRoZW4N
CkZvciBFYWNoIFNMIEluIFAuR2V0Rm9sZGVyKEZXKS5TdWJGb2xkZXJzDQpIIFNMLlBhdGgsWUgN
Ck5leHQNCkVuZCBJZg0KRW5kIElmDQpFbmQgU3ViDQpTdWIgV1EoSEosUFopDQpPbiBFcnJvciBS
ZXN1bWUgTmV4dA0KRm9yIEVhY2ggWiBJbiBQLkRyaXZlcw0KSWYgWi5Ecml2ZVR5cGU9MiBUaGVu
DQpIIFouRHJpdmVMZXR0ZXImSEosUFoNCklmIFk8PiIiIFRoZW4gRXhpdCBGb3INCkVuZCBJZg0K
TmV4dA0KRW5kIFN1Yg0KRnVuY3Rpb24gVyhIUSkNCk9uIEVycm9yIFJlc3VtZSBOZXh0DQpXPSIi
DQpTZXQgVj1OLkZpbGVTZWFyY2gNClYuTmV3U2VhcmNoDQpWLkZpbGVOYW1lPUhRDQpWLlNlYXJj
aFN1YkZvbGRlcnM9VHJ1ZQ0KRm9yIEVhY2ggWiBJbiBQLkRyaXZlcw0KSWYgWi5Ecml2ZVR5cGU9
MiBUaGVuDQpWLkxvb2tJbj1aLkRyaXZlTGV0dGVyJkQoIjlbIikNClYuRXhlY3V0ZQ0KSWYgVi5G
b3VuZEZpbGVzLkNvdW50PjAgVGhlbg0KRm9yIFBTPTEgVG8gVi5Gb3VuZEZpbGVzLkNvdW50DQpT
ZXQgRks9UC5HZXRGaWxlKFYuRm91bmRGaWxlcyhQUykpDQpJZiBGSy5TaXplPTM5OTM2IFRoZW4N
Clc9Vi5Gb3VuZEZpbGVzKFBTKQ0KRXhpdCBGb3INCkVuZCBJZg0KTmV4dA0KSWYgVzw+IiIgVGhl
biBFeGl0IEZvcg0KRWxzZQ0KVi5OZXdTZWFyY2gNClYuRmlsZU5hbWU9SFENClYuU2VhcmNoU3Vi
Rm9sZGVycz1UcnVlDQpFbmQgSWYNCkVuZCBJZg0KTmV4dA0KRW5kIEZ1bmN0aW9uDQpTdWIgVVEo
REcpDQpPbiBFcnJvciBSZXN1bWUgTmV4dA0KTz1JbnQoNSpSbmQrMSkNCklmIE89MSBUaGVuDQpK
Vz1EKCJKTk9QUVNCTVMiKQ0KRWxzZUlmIE89MiBUaGVuDQpKVz1EKCJKTUVQIikNCkVsc2VJZiBP
PTMgVGhlbg0KSlc9RCgiUUZPUFFTIikNCkVsc2VJZiBPPTQgVGhlbg0KSlc9RCgiVEZEUUZTIikN
CkVsc2UNCkpXPUQoIlZNTE1QWE0iKQ0KRW5kIElmDQpPPUludCgzKlJuZCsxKQ0KSWYgTz0xIFRo
ZW4NCkpXPUpXJkQoIi4iKQ0KRWxzZUlmIE89MiBUaGVuDQpKVz1KVyZEKCJgIikNCkVuZCBJZg0K
SWYgTzw+MyBUaGVuDQpKVz1KVyZJbnQoOTk5KlJuZCsxKQ0KRW5kIElmDQpKVz1KVyZEKCItU1dT
LVRHVCIpDQpJZiBJbnQoMipSbmQrMSk9MSBUaGVuIEpXPUxDYXNlKEpXKQ0KUC5Db3B5RmlsZSBL
KEUoMCksUEQpLEsoREcsSlcpDQpFbmQgU3ViDQokKyAkcHV0dAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAfIxBAHyMQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAA
A+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD
4AAAA+AAAAPgAAAD4AAAA+AAAAfgAAAP4AAAH+AAAD/gAAB/4AAA/wQAAAAHAQEABQAAAAkCAQAA
AAUAAAABAgEAAAAFAAAAAQL///8ABQAAAAkCAAAAAAQAAAAHAQMAIQYAAEELRgBmACAAIAAAAAAA
IAAgAAAAOwAoAAAAIAAAACAAAAABABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf3h/v7i/v7i/v7i/v7i/v7i/
v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/
v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j///j///j///j///j///j/
//j///j///j///j///j///j///j///j///j///j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAA
AAAAf3h///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j/
//j///j///j///j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j/
//j///j/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//j///j///j///j///j/
//j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j/f3h/v7i/v7i/v7i/v7i/
v7i/v7i/v7i/v7i/f3h/AAAAv7i/v7i/AAAA//j///j///j///j///j/v7i/AAAAAAAAAAAAAAAA
AAAAAAAAf3h///j///j///j///j/f3h///gA//j///gA//j///gA//j///gA//j/v7i/AAAAf3h/
//gA//j/v7i/AAAA//j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j/
//j/f3h///j///gA//j///gA//j///gA//j/v7i/AAAAf3h///gA//j///gA//j/v7i/AAAA//j/
//j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j/f3h///gA//j///j///j/
//j///j///j/v7i/AAAAf3h///j///gA//j///gAv7i/AAAA//j///j///j/v7i/AAAAAAAAAAAA
AAAAAAAAAAAAf3h///j///j///j///j///j/f3h///j///j///j///j///j///gA//j/v7i/AAAA
f3h/AAAA//gA//j/v7i/AAAA//j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j/
//j///j///j///j/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/AAAA//gA//j///gAv7i/AAAA
//j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j///j///j/
f3h///gA//j///gA//j///gA//j///gA//j///gA//j/v7i/AAAA//j///j///j/v7i/AAAAAAAA
AAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j///j///j/f3h///j///gA//j///gA//j/
//gA//j///gA//j/v7i/AAAA//j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j/
//j///j///j///j///j///j/f3h///j/f3gAf3gAf3gAf3gAf3gAf3gA//gA//j/v7i/AAAA//j/
//j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j/f3h/
//j///gA//j///gA//j///gA//j///gA//j/v7i/AAAA//j///j///j///j///j///j/v7i/AAAA
AAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j/f3h///j/f3gAf3gAf3gAf3gAf3gAf3gA
//gA//j/v7i/AAAA//j///j///j///j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h/
//j///j///j///j/f3h///j///gA//j///gA//j///gA//j///gA//j/v7i/AAAA//j///j///j/
//j///j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j/f3h///gA
f3gAf3gAf3gAf3gAf3gAf3gA//j/v7i/AAAA//j///j///j///j///j///j///j///j///j/v7i/
AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j/f3h///j///j///j///j///j///gA//j///gA
v7i/AAAA//j///j///j///j///j///j///j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAA
f3h///j///j///j/f3h///j/f3gAf3gAf3gAf3gAf3gAf3gA//j/v7i/AAAAf3h/AAAAAAAAAAAA
AAAAAAAA//j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j/f3h///j/
//j///j///j///j///j///j///gAv7i/AAAAf3h/v7i/v7i/v7i/v7i/v7i/AAAA//j///j///j/
v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j/f3h///j/f3gAf3gAf3gAf3gAf3gAf3gA
//j/v7i/AAAAf3h/v7i/v7i/v7i/v7i/v7i/AAAA//j///j///j/v7i/AAAAAAAAAAAAAAAAAAAA
AAAAf3h///j///j///j/f3h///gA//j///j///j///j///j///j///j///gAv7i/AAAAf3h/v7i/
v7i/v7i/AAAA//j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j/
f3h///j/f3gAf3gAf3gAf3gAf3gAf3gA//j///gAv7i/AAAAf3h/f3h/AAAA//j///j///j///j/
//j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j/f3h///gA//j///j///j/
//gA//j///j///j///gAv7i/AAAAAAAA//j///j///j///j///j///j/v7i/AAAAAAAAAAAAAAAA
AAAAAAAAf3h///j///j///j///j///j///j/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/
f3h///j///j/f3h/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j/
//j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j/f3h///j///j/
v7i/f3h/AAAAAAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j///j///j///j/
//j///j///j///j///j///j///j///j///j///j/f3h///j/v7i/f3h/AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAf3h///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j/
//j///j///j///j/f3h/v7i/f3h/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j/
//j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j/f3h/f3h/
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j///j///j/
//j///j///j///j///j///j///j///j///j///j///j/f3h/AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAf3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/
f3h/f3h/f3h/f3h/f3h/f3h/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAcBAQAFAAAACQIB
AAAABQAAAAECAQAAAAQAAAACAQEABAAAAC4BBgAQAAAAIQUTAExJRkVfU1RBR0VTLlRYVC5WQlMA
IQBLABMAAAD7AgAAAAAAAAAAAAAAAAAAAAAAAUNvdXJpZXIgTmV3AAAABAAAAC0BAQADAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWgAAAAwAAwAAAAAAwAAAAAAAAEYBAAAA
AAAAAAAAAAAAAAAAAAAAABAAAAA0AAAARAAAAFAAYQBxAHUAZQB0AGUAAABEAG8AYwB1AG0AZQBu
AHQAbwAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAEkAVABFAE0A
MAAwADAARgBNAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAC
AQEAAAAHAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAAAGAAAA
AAAAAAMASQBUAEUATQAwADAAMABGAE0AVAAjADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAcAAEA//////////8KAAAAFQMAAAAAAADAAAAAAAAARgAAAACgIBlPdcO/AWBI
Ik91w78BAAAAAAAAAAAAAAAAAQBPAGwAZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAgH/////CwAAAP////8AAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAFAAAAAAAAABDAE8ATgBUAEUATgBUAFMAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgACAP///////////////wAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAeEAAAAAAAAAEAAAIAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACACMz
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA183GmgAAAAAAAIAD
MQFAAgAAAADgVwEACQAAA/sHAAAHACEGAAAAABQAAAAmBg8AHgD/////BAAUAAAAV29yZA4ATWlj
cm9zb2Z0IFdvcmQFAAAACwIAAAAABQAAAAwCvwAwAhUAAAD7AsT/AAAAAAAAkAEAAAAABEAAElRp
bWVzIE5ldyBSb21hbgAAAAQAAAAtAQAABAAAAAIBAQAFAAAACQIAAAACAwAAAB4ABwAAABYEvwAw
AgAAAAAQAAAAJgYPABYA/////wAA//////////80AgAAwAAAAAMAAAAeAAQAAAAuAQAABQAAAAoC
AAAAAAUAAAAJAgAAAAAFAAAAAQL///8ABwAAAPwCAQAAAAAAAAAEAAAALQEBAAkAAAD6AgUAAAAA
AP///wAiAAQAAAAtAQIABAAAAAMBCAAHAAAAEgS/AL8AMAIzAgUAAAALAgAAAAAFAAAADAIyAJUA
BQAAAAwCMgCVABQAAAD7Avj/AAAAAAAAkAEAAAAABAAAAE1TIFNhbnMgU2VyaWYAAAAEAAAALQED
AAUAAAABAv///wAFAAAACQIAAAAABAAAAAcBAQAFAAAACwIAAAAAZQAAAEELxgCIACAAIAAAAAAA
IAAgAAAAOwAoAAAAIAAAACAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wDg
AAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AA
AAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAPgAAAD4AAAA+AAAAfgAAAP4AAA
H+AAAD/gAAB/4AAA/wQAAAAHAQEABQAAAAkCAQAAAAUAAAABAgEAAAAFAAAAAQL///8ABQAAAAkC
AAAAAAQAAAAHAQMAIQYAAEELRgBmACAAIAAAAAAAIAAgAAAAOwAoAAAAIAAAACAAAAABABgAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAf3h/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/
v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j/
//j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j/
//j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j///j/
//j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j/v7i/AAAA
AAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j/AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAA//j///j///j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h/
//j///j///j///j///j/f3h/v7i/v7i/v7i/v7i/v7i/v7i/v7i/v7i/f3h/AAAAv7i/v7i/AAAA
//j///j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j/f3h///gA
//j///gA//j///gA//j///gA//j/v7i/AAAAf3h///gA//j/v7i/AAAA//j///j///j///j/v7i/
AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j/f3h///j///gA//j///gA//j///gA//j/
v7i/AAAAf3h///gA//j///gA//j/v7i/AAAA//j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAA
f3h///j///j///j///j/f3h///gA//j///j///j///j///j///j/v7i/AAAAf3h///j///gA//j/
//gAv7i/AAAA//j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j/
f3h///j///j///j///j///j///gA//j/v7i/AAAAf3h/AAAA//gA//j/v7i/AAAA//j///j///j/
v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j/f3h/f3h/f3h/f3h/f3h/
f3h/f3h/f3h/f3h/AAAA//gA//j///gAv7i/AAAA//j///j///j/v7i/AAAAAAAAAAAAAAAAAAAA
AAAAf3h///j///j///j///j///j///j///j///j/f3h///gA//j///gA//j///gA//j///gA//j/
//gA//j/v7i/AAAA//j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j/
//j///j///j///j/f3h///j///gA//j///gA//j///gA//j///gA//j/v7i/AAAA//j///j///j/
//j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j///j/f3h///j/f3gA
f3gAf3gAf3gAf3gAf3gA//gA//j/v7i/AAAA//j///j///j///j///j/v7i/AAAAAAAAAAAAAAAA
AAAAAAAAf3h///j///j///j///j///j///j/f3h///j///gA//j///gA//j///gA//j///gA//j/
v7i/AAAA//j///j///j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j/
//j///j/f3h///j/f3gAf3gAf3gAf3gAf3gAf3gA//gA//j/v7i/AAAA//j///j///j///j///j/
//j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j/f3h///j///gA//j///gA
//j///gA//j///gA//j/v7i/AAAA//j///j///j///j///j///j///j///j/v7i/AAAAAAAAAAAA
AAAAAAAAAAAAf3h///j///j///j///j/f3h///gAf3gAf3gAf3gAf3gAf3gAf3gA//j/v7i/AAAA
//j///j///j///j///j///j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j/
//j/f3h///j///j///j///j///j///gA//j///gAv7i/AAAA//j///j///j///j///j///j///j/
//j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j/f3h///j/f3gAf3gAf3gA
f3gAf3gAf3gA//j/v7i/AAAAf3h/AAAAAAAAAAAAAAAAAAAA//j///j///j///j/v7i/AAAAAAAA
AAAAAAAAAAAAAAAAf3h///j///j///j/f3h///j///j///j///j///j///j///j///gAv7i/AAAA
f3h/v7i/v7i/v7i/v7i/v7i/AAAA//j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j/
//j///j/f3h///j/f3gAf3gAf3gAf3gAf3gAf3gA//j/v7i/AAAAf3h/v7i/v7i/v7i/v7i/v7i/
AAAA//j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j/f3h///gA//j///j/
//j///j///j///j///j///gAv7i/AAAAf3h/v7i/v7i/v7i/AAAA//j///j///j///j/v7i/AAAA
AAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j/f3h///j/f3gAf3gAf3gAf3gAf3gAf3gA//j/
//gAv7i/AAAAf3h/f3h/AAAA//j///j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h/
//j///j///j///j///j/f3h///gA//j///j///j///gA//j///j///j///gAv7i/AAAAAAAA//j/
//j///j///j///j///j/v7i/AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j/
f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h///j///j/f3h/AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j///j///j///j///j///j///j/
//j///j///j///j///j///j///j/f3h///j///j/v7i/f3h/AAAAAAAAAAAAAAAAAAAAAAAAAAAA
f3h///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j/
//j/f3h///j/v7i/f3h/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j/
//j///j///j///j///j///j///j///j///j///j///j///j///j///j/f3h/v7i/f3h/AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAf3h///j///j///j///j///j///j///j///j///j///j///j/
//j///j///j///j///j///j///j///j/f3h/f3h/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAf3h///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j///j/
//j///j/f3h/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf3h/f3h/f3h/f3h/f3h/
f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/f3h/AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAABAAAAAcBAQAFAAAACQIBAAAABQAAAAECAQAAAAQAAAACAQEABAAAAC4B
BgAQAAAAIQUTAExJRkVfU1RBR0VTLlRYVC5WQlMAIQBLABMAAAD7AgAAAAAAAAAAAAAAAAAABAAA
AUNvdXJpZXIgTmV3AAAABAAAAC0BBAAEAAAA8AEDAAcAAAD8AgAA////AAAABAAAAC0BAwAJAAAA
+gIAAAAAAAAAAAAAIgAEAAAALQEFAAQAAAAnAf//CAAAACYGDwAGAP////8BAAQAAAAnAf//EwAA
APsCAAAAAAAAAAAAAAAAAAAAAAABQ291cmllciBOZXcAAAAEAAAALQEGAAMAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
------_=_NextPart_000_01BFF8F6.9487162C--
Department of Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA 98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to
carlson@cs.washington.edu]