(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 3.0, MathReader 3.0, or any compatible application. The data for the notebook starts with the line of stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. ***********************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 206900, 4300]*) (*NotebookOutlinePosition[ 254373, 5881]*) (* CellTagsIndexPosition[ 252616, 5830]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell[TextData[StyleBox["Mathematica", FontSlant->"Italic"]], "Title"], Cell["Programming", "Subtitle"], Cell[TextData[{ "Paul Abbott\nDepartment of Physics\nUniversity of Western Australia\n\ Nedlands, WA 6907, Australia\n", ButtonBox["http://physics.uwa.edu.au/~paul", ButtonData:>{ URL[ "http://physics.uwa.edu.au/~paul"], None}, ButtonStyle->"Hyperlink"] }], "Author"], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Abstract" }], "Section"], Cell[TextData[{ "In this Notebook simple functions are used to illustrate the elements of ", StyleBox["Mathematica", FontSlant->"Italic"], " programming style. Aspects of the language including function \ definitions, transformation and replacement rules, pattern-matching, \ functional operations, and association are also discussed." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Introduction" }], "Section"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " includes a wide array of programming constructs and it can be daunting \ for a new user to know where to start. Before even considering the style of \ programming most appropriate for a given problem, you should always check \ whether the functions or operations you require already exist in the system. \ Built-in objects are usually fast and implemented in the most general way \ possible. They mesh well with other objects and their properties \[Dash] \ derivatives, integrals, series, special cases, numerical evaluation (for \ arbitrary complex parameters), ", StyleBox["etc", FontSlant->"Italic"], ". \[Dash] are incorporated into the kernel. The ", StyleBox[ButtonBox["Mathematica", ButtonData:>"C", ButtonStyle->"MainBookLink"], FontSlant->"Italic"], ButtonBox[" book", ButtonData:>"C", ButtonStyle->"MainBookLink"], " contains an excellent cross-referenced index, often helping the user \ quickly find what they are after." }], "Text", CellTags->{"Kernel", "Built-in functions"}], Cell[TextData[{ "So, since there are over 1000 built-in functions, many times a user does \ not have to write a program (in the standard sense) but can solve problems by \ a sequence of simple built-in operations. The Programming Section in the ", StyleBox[ButtonBox["Tour of Mathematica", ButtonData:>"Mathematica as a Programming Language", ButtonStyle->"GettingStartedLink"], FontSlant->"Italic"], " hints at the power of this approach. Not only are these programs elegant \ and compact but they are also efficient and modular and can serve as building \ blocks for robust large programs. Another source of short programs is ", StyleBox["In and Out", FontSlant->"Italic"], " and ", StyleBox["Tricks of the Trade", FontSlant->"Italic"], " in ", ButtonBox["The ", ButtonData:>{ URL[ "http://www.mathematica-journal.com"], None}, ButtonStyle->"Hyperlink"], StyleBox[ButtonBox["Mathematica", ButtonData:>{ URL[ "http://www.mathematica-journal.com"], None}, ButtonStyle->"Hyperlink"], FontSlant->"Italic"], ButtonBox[" Journal", ButtonData:>{ URL[ "http://www.mathematica-journal.com"], None}, ButtonStyle->"Hyperlink"], ". These examples show you what can be done with just a few lines of code \ and help give a sense of the power of the programming language; a number of \ such examples are presented in this overview. " }], "Text", CellTags->{ "Tour of Mathematica", "The Mathematica Journal", "Tricks of the Trade", "In and Out"}], Cell[TextData[{ "And this is only the kernel; In addition there are the extensive packages \ distributed with each copy of ", StyleBox["Mathematica", FontSlant->"Italic"], " \[Dash] see the ", StyleBox[ButtonBox["Guide to Standard Mathematica Packages", ButtonData:>"5.0.1", ButtonStyle->"AddOnsLink"], FontSlant->"Italic"], ". Both the functions and the packages are searchable using the Help \ Browser." }], "Text", CellTags->{"Packages", "Function Browser", "Reference Guide", "Version 3"}], Cell[TextData[{ "Programming in ", StyleBox["Mathematica", FontSlant->"Italic"], " is different to most other languages. In general, commands are ", StyleBox["interpreted", FontSlant->"Italic"], " rather than compiled which is usually very convenient. Morever, with the \ Notebook front end, one can do a lot of computation without writing a \ collection of functions longer than a couple of lines each. By changing the \ parameters and selecting a range of cells, one can get ", StyleBox["Mathematica", FontSlant->"Italic"], " to update all the cells \[Dash] similar to working with a spreadsheet \ \[Dash] and this is, for many purposes, all the programming needed to get the \ answer to a wide range of problems." }], "Text", CellTags->{"Interpreted code", "Compiled code", "Spreadsheet"}], Cell[TextData[{ "In this Notebook I have tried to include a number of points which are \ applicable to ", StyleBox["Mathematica", FontSlant->"Italic"], " programs of all sizes. Time spent writing few-line programs is rarely \ wasted because it is more likely to lead to code that is elegant, efficient, \ robust, maintainable, understandable, verifiable, and extensible. So, \ hopefully, all ", StyleBox["Mathematica", FontSlant->"Italic"], " programmers will find something of interest in this chapter." }], "Text", CellTags->{ "Programming principles", "Program verification", "Efficiency", "Generalisation"}], Cell[TextData[{ "In the following sections the range and flavor of ", StyleBox["Mathematica", FontSlant->"Italic"], " programming styles are illustrated using simple examples: First, a \ factorial exposition outlines the different styles available. Two sections on \ the fundamental tools \[Dash] functional programming, pattern-matching and \ replacement rules \[Dash] follow. These tools are demonstrated using a \ number of practical examples. The section on association \[Dash] an area not \ generally appreciated by many ", StyleBox["Mathematica", FontSlant->"Italic"], " users \[Dash] highlights the advantages and pitfalls of association. A \ brief discussion on numerical compilation is then followed by some basic \ suggestions for writing programs by collecting together code fragments." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Factorial!" }], "Section"], Cell["\<\ In this section the factorial function will be used to illustrate \ aspects of the language and the various programming styles available. \ Function definitions, transformation and replacement rules, pattern-matching, \ and the Object-Oriented Programming (OOP) idea of association are also \ briefly examined.\ \>", "Text"], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Built-in" }], "Subsection"], Cell[CellGroupData[{ Cell["The factorial function is, of course, built-in:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`\(10!\)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`3628800\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Alternatively, one can use the Gamma function which generalises \ factorial to non-integer, negative, and complex values:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`\[CapitalGamma](11)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`3628800\)], "Output"] }, Closed]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Procedural" }], "Subsection"], Cell[CellGroupData[{ Cell["\<\ A Fortran, Pascal, or C programmer will probably understand the \ following code without any explanation:\ \>", "Text"], Cell[BoxData[ \(facProcedural[n_] := \n\t Block[\n\t\t{i = 1, s = 1}, \n\t\t While[i < n, \n\t\t\t\(i++\); \n\t\t\ts = s\ i\n\t\t]; \n\t\t Return[s]\n\t]\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`facProcedural(10)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`3628800\)], "Output"] }, Closed]] }, Open ]], Cell[TextData[{ "The only syntactical subleties are the use of ", Cell[BoxData[ FormBox[ StyleBox["n_", "Input"], TraditionalForm]]], " (read as \"n blank\") to denote a generic variable ", Cell[BoxData[ FormBox[ StyleBox["n", "Input"], TraditionalForm]]], " whose value is passed to the procedure and ", Cell[BoxData[ FormBox[ StyleBox[":=", "Input"], TraditionalForm]]], " (", StyleBox["delayed assignment", FontSlant->"Italic"], ") which prevents execution of the right-hand side until ", Cell[BoxData[ FormBox[ StyleBox["n", "Input"], TraditionalForm]]], " is assigned a value." }], "Text"], Cell[CellGroupData[{ Cell[TextData[{ "To help understand the difference between ", Cell[BoxData[ FormBox[ StyleBox["=", "Input"], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ StyleBox[":=", "Input"], TraditionalForm]]], " consider the following example:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`rand = Random[]\)], "Input"], Cell[BoxData[ \(TraditionalForm\`0.7489074325004765`\)], "Output"] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`Table[rand, {3}]\)], "Input"], Cell[BoxData[ \(TraditionalForm \`{0.7489074325004765`, 0.7489074325004765`, 0.7489074325004765`}\)], "Output"] }, Closed]], Cell[BoxData[ \(TraditionalForm\`rand := Random[]\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`Table[rand, {3}]\)], "Input"], Cell[BoxData[ \(TraditionalForm \`{0.3070368493797559`, 0.15115252121583936`, 0.8468681932486877`}\)], "Output"] }, Closed]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Recursive" }], "Subsection"], Cell[CellGroupData[{ Cell["\<\ Because of the recursive nature of the factorial function, a \ recursive program may be more natural:\ \>", "Text"], Cell[BoxData[ \(TraditionalForm \`facRecursive(n_) := If[n \[Equal] 1, 1, n\ \(facRecursive(n - 1)\)]\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`facRecursive(10)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`3628800\)], "Output"] }, Closed]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Functional" }], "Subsection"], Cell[CellGroupData[{ Cell[TextData[{ "Since the factorial function can be defined by multiplying all numbers \ from 1 to ", Cell[BoxData[ \(TraditionalForm\`n\)]], ", one can use ", Cell[BoxData[ FormBox[ StyleBox["Range", "Input"], TraditionalForm]]], ", say" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`Range[10]\)], "Input"], Cell[BoxData[ \(TraditionalForm\`{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "and then ", Cell[BoxData[ FormBox[ StyleBox["Apply", "Input"], TraditionalForm]]], " (", Cell[BoxData[ FormBox[ StyleBox["@@", "Input"], TraditionalForm]]], ")the operation of ", Cell[BoxData[ FormBox[ StyleBox["Times", "Input"], TraditionalForm]]], " to multiply these numbers:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`Times @@ %\)], "Input"], Cell[BoxData[ \(TraditionalForm\`3628800\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["This is easily converted into a procedure:", "Text"], Cell[BoxData[ \(TraditionalForm\`facFunctional(n_) := Times @@ Range[n]\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`facFunctional(10)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`3628800\)], "Output"] }, Closed]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Rule-based" }], "Subsection"], Cell[CellGroupData[{ Cell["\<\ For many situations, rule-based programming is often the simplest \ and most elegant. Specifying the initial condition:\ \>", "Text"], Cell[BoxData[ \(TraditionalForm\`\(facRule(0) = 1;\)\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["and the general recursive rule:", "Text"], Cell[BoxData[ \(TraditionalForm\`facRule(n_) := n\ \(facRule(n - 1)\)\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " automatically applies the recursive definition:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`facRule(10)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`3628800\)], "Output"] }, Closed]] }, Open ]], Cell["\<\ The advantage of this style of programming is that it is often \ similar to the actual problem specification for a wide range of problems in \ science and engineering. \ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Programming and Tracing Computations" }], "Subsection"], Cell[CellGroupData[{ Cell["\<\ As it stands, the above code for facRule is somewhat inefficient. \ Entering\ \>", "Text"], Cell[BoxData[ \(TraditionalForm\`\(?facRule\)\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "one finds that, after computing ", Cell[BoxData[ FormBox[ StyleBox[\(facRule[10]\), "Input"], TraditionalForm]]], ", the intermediate values have not been saved. This can be addressed by \ using dynamic programming, ", StyleBox["i.e.", FontSlant->"Italic"], ", saving the intermediate results. This is easily implemented:" }], "Text"], Cell[BoxData[ \(TraditionalForm \`facRule(n_) := \(facRule(n) = n\ \(facRule(n - 1)\)\)\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["Now, after computing the factorial of 3:", "Text"], Cell[BoxData[ \(TraditionalForm\`facRule(3)\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "a check on ", Cell[BoxData[ FormBox[ StyleBox["facRule", "Input"], TraditionalForm]]], " reveals that the intermediate values have been recorded:" }], "Text"], Cell[BoxData[ \(TraditionalForm\`\(?facRule\)\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "The next defect is that the code for ", Cell[BoxData[ FormBox[ StyleBox["facRule", "Input"], TraditionalForm]]], " only makes sense for positive integer arguments. After removing the \ previous definition:" }], "Text"], Cell[BoxData[ \(TraditionalForm\`Remove[facRule]\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["\<\ the code can be made more rigorous by checking that the argument of \ the recursive rule is a positive integer:\ \>", "Text"], Cell[BoxData[ \(TraditionalForm\`\(\(facRule(0) = 1\)\(;\)\)\)], "Input"], Cell[BoxData[ \(TraditionalForm \`facRule(n_Integer?Positive) := \(facRule(n) = n\ \(facRule(n - 1)\)\)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`facRule(10)\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " includes a ", Cell[BoxData[ FormBox[ StyleBox["Trace", "Input"], TraditionalForm]]], " operation for tracing a computation. This can be used to verify that \ intermediate factorial values are being saved and not recomputed. For \ example, when computing ", Cell[BoxData[ FormBox[ StyleBox[\(facRule[12]\), "Input"], TraditionalForm]]], ", only ", Cell[BoxData[ FormBox[ StyleBox[\(facRule[11]\), "Input"], TraditionalForm]]], " has to be computed as ", Cell[BoxData[ FormBox[ StyleBox[\(facRule[10]\), "Input"], TraditionalForm]]], " is already known:" }], "Text"], Cell[BoxData[ \(TraditionalForm\`Trace[facRule(12), facRule(_)]\)], "Input"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Replacement Rules and Pattern-matching" }], "Subsection"], Cell[TextData[{ "When simplifying expressions by hand one naturally tends to apply \ transformation rules as required. In addition, humans are excellent at \ pattern-recognition. ", StyleBox["Mathematica", FontSlant->"Italic"], " attempts to include the basics of these concepts in a natural way." }], "Text"], Cell[CellGroupData[{ Cell["\<\ Consider the following orthogonality integral which arises when \ computing Fourier series:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm \`sincos = \[Integral]\_0\%\(2\ \[Pi]\)\(\(sin(n\ x)\)\ \(cos(m\ x)\)\) \[DifferentialD]x\)], "Input"], Cell[BoxData[ \(TraditionalForm \`\(cos(2\ \((m - n)\)\ \[Pi])\)\/\(2\ \((m - n)\)\) - \(cos(2\ \((m + n)\)\ \[Pi])\)\/\(2\ \((m + n)\)\) - 1\/\(2\ \((m - n)\)\) + 1\/\(2\ \((m + n)\)\)\)], "Output"] }, Closed]] }, Open ]], Cell[TextData[{ "At first, one may be surprised the result is not automatically simplified. \ However, one should note that ", StyleBox["Mathematica", FontSlant->"Italic"], " does not assume that ", Cell[BoxData[ \(TraditionalForm\`m\)]], " or ", Cell[BoxData[ \(TraditionalForm\`n\)]], " are integers (or even that they are real!). " }], "Text"], Cell[CellGroupData[{ Cell[TextData[{ "A human would recognise that both ", Cell[BoxData[ \(TraditionalForm\`cos(2\ \((m + n)\)\ \[Pi])\)]], " and ", Cell[BoxData[ \(TraditionalForm\`cos(2\ \((m - n)\)\ \[Pi])\)]], " in ", Cell[BoxData[ FormBox[ StyleBox["sincos", "Input"], TraditionalForm]]], " are unity for any integral value of ", Cell[BoxData[ \(TraditionalForm\`n\)]], ". Since ", Cell[BoxData[ \(TraditionalForm\`n\)]], " and ", Cell[BoxData[ \(TraditionalForm\`m\)]], " are both integers then so is ", Cell[BoxData[ \(TraditionalForm\`\((n + m)\)\)]], " and ", Cell[BoxData[ \(TraditionalForm\`\((n - m)\)\)]], ". All this information is encapsulated in the following ", StyleBox["replacement rule", FontSlant->"Italic"], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm \`sincos /. \[InvisibleSpace]cos(2\ n_\ \[Pi]) \[Rule] 1\)], "Input"], Cell[BoxData[ \(TraditionalForm\`0\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "Note that this replacement operation is ", StyleBox["literal", FontSlant->"Italic"], ", ", StyleBox["i.e.", FontSlant->"Italic"], ", no care is taken to check the limiting behaviour of the expression. In \ fact, taking the limit as ", Cell[BoxData[ \(TraditionalForm\`n \[Rule] m\)]], ", one finds:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`lim\+\(m \[Rule] n\)\[ThinSpace]sincos\)], "Input"], Cell[BoxData[ \(TraditionalForm\`\(\(sin\^2\)(2\ n\ \[Pi])\)\/\(2\ n\)\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "Since ", Cell[BoxData[ \(TraditionalForm\`sin(n\ \[Pi])\)]], " is zero for integral values of ", Cell[BoxData[ \(TraditionalForm\`n\)]], ", " }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`% /. \[InvisibleSpace]sin(n_\ \[Pi]) \[Rule] 0\)], "Input"], Cell[BoxData[ \(TraditionalForm\`0\)], "Output"] }, Closed]] }, Open ]], Cell[TextData[{ "(The limit as ", Cell[BoxData[ \(TraditionalForm\`n \[Rule] 0\)]], " is not required because ", Cell[BoxData[ \(TraditionalForm\`sin(n\ x)\)]], " in the integral above is trivially zero)." }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Association" }], "Section"], Cell[CellGroupData[{ Cell["\<\ Often, a definition or rule should be associated with a particular \ object. For example,\ \>", "Text"], Cell[BoxData[ \(TraditionalForm\`g /: g(a_) + g(b_) := g(a + b)\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "The rule is associated with ", Cell[BoxData[ FormBox[ StyleBox["g", "Input"], TraditionalForm]]], " (instead of being associated with +) using the syntax ", Cell[BoxData[ FormBox[ StyleBox[\(g /: \), "Input"], TraditionalForm]]], ". This rule is applied repeatedly to expressions until they no longer \ change. For example," }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`g(a) + g(b) + g(c)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`g(a + b + c)\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "This uses pattern-matching (and the associativity property of +) since the \ rule above was only defined for the sum of two terms. ", Cell[BoxData[ FormBox[ StyleBox["Trace", "Input"], TraditionalForm]]], " reveals something of the \"inner workings\" of ", StyleBox["Mathematica", FontSlant->"Italic"], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`Trace[g(a) + g(b) + g(c)]\)], "Input"], Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ TagBox[\(g(a) + g(b) + g(c)\), HoldForm], ",", TagBox[\(g(a + b) + g(c)\), HoldForm], ",", TagBox[\(g(a + b) + g(c)\), HoldForm], ",", TagBox[\(g(\((a + b)\) + c)\), HoldForm], ",", RowBox[{"{", RowBox[{ TagBox[\(\((a + b)\) + c\), HoldForm], ",", TagBox[\(a + b + c\), HoldForm]}], "}"}], ",", TagBox[\(g(a + b + c)\), HoldForm]}], "}"}], TraditionalForm]], "Output"] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Numerical Compilation" }], "Section"], Cell[TextData[{ "Compilation is used internally by ", StyleBox["Mathematica", FontSlant->"Italic"], " for graphical and numerical functions such as ", Cell[BoxData[ FormBox[ StyleBox["Plot", "Input"], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ StyleBox["NIntegrate", "Input"], TraditionalForm]]], ". It can dramatically speed up repetitive or iterative numerical \ computations. See ", ButtonBox["Compile", ButtonData:>"Compile", ButtonStyle->"RefGuideLink"], " for more on compilation." }], "Text", CellTags->"Compiled code"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " pseudo-compiles a range of procedural programming constructs including ", Cell[BoxData[ FormBox[ StyleBox["Block", "Input"], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ StyleBox["Modlue", "Input"], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ StyleBox["Do", "Input"], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ StyleBox["If", "Input"], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ StyleBox["While", "Input"], TraditionalForm]]], ", and code involving vectors, matrices (tensors). Hence using a \ procedural style to permit speed gains through compilation is no longer the \ only way to proceed. Moreover conversion from functional to compiled code is \ generally straightforward." }], "Text", CellTags->"Version 3"], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Typed Compiling" }], "Subsection", CellTags->"Typed Compiling"], Cell[CellGroupData[{ Cell["\<\ Consider the following iterative compiled function for computing \ the Mandlebrot set:\ \>", "Text", CellTags->"Mandlebrot set"], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"Mandelbrot", "=", RowBox[{"Compile", "[", RowBox[{ RowBox[{"(", "\[NoBreak]", GridBox[{ {"c", "_Complex"}, {"m", "_Integer"} }], "\[NoBreak]", ")"}], ",", \(Module[{z = \[ImaginaryI], n = 0}, z = 0; While[\[LeftBracketingBar]z\[RightBracketingBar] < 2 \[And] n < m, z = z\^2 + c; \(n++\)]; n]\)}], "]"}]}], ";"}], TraditionalForm]], "Input"] }, Open ]], Cell[TextData[{ "Unlike many other languages, the heart of the underlying algorithm \[Dash] \ ", Cell[BoxData[ \(TraditionalForm\`z \[RightArrow] z\^2 + c\)]], " \[Dash] is clearly visible in the code. ", Cell[BoxData[ FormBox[ StyleBox["Compile", "Input"], TraditionalForm]]], " assumes its arguments should be compiled as machine-precision numbers \ unless it is directed to do otherwise by variable declarations \[Dash] such \ as ", Cell[BoxData[ FormBox[ StyleBox[\({c, \ _Complex}\), "Input"], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ StyleBox[\({m, \ _Integer}\), "Input"], TraditionalForm]]], " above." }], "Text", CellTags->{"Underlying algorithm", "Machine numbers"}], Cell[TextData[{ "In general, variable types are guessed based on the first time they are \ set. In ", Cell[BoxData[ FormBox[ StyleBox["Mandelbrot", "Input"], TraditionalForm]]], ", the local variable ", Cell[BoxData[ FormBox[ StyleBox["z", "Input"], TraditionalForm]]], " is first initialized to ", StyleBox[Cell[BoxData[ \(TraditionalForm\`\[ImaginaryI]\)], "Input"], "Input"], " so that ", Cell[BoxData[ FormBox[ StyleBox["Compile", "Input"], TraditionalForm]]], " knows it is a complex variable. If ", Cell[BoxData[ FormBox[ StyleBox["z", "Input"], TraditionalForm]]], " were initialized to ", Cell[BoxData[ FormBox[ StyleBox["0", "Input"], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ StyleBox["Compile", "Input"], TraditionalForm]]], " would consider it to be an integer and would complain when it tried to \ set ", Cell[BoxData[ \(TraditionalForm\`z = z\^2 + c\)]], ", since ", Cell[BoxData[ FormBox[ StyleBox["c", "Input"], TraditionalForm]]], " is declared to be complex. " }], "Text", CellTags->"Complex variables"], Cell[TextData[{ StyleBox["Exercise ", FontWeight->"Bold", FontSlant->"Plain"], StyleBox[CounterBox["Section"], FontWeight->"Bold", FontSlant->"Plain"], StyleBox[".", FontWeight->"Bold", FontSlant->"Plain"], StyleBox[CounterBox["Exercise"], FontWeight->"Bold", FontSlant->"Plain"], " Lookup and use ", Cell[BoxData[ FormBox[ StyleBox["DensityPlot", "Input"], TraditionalForm]]], " to visualise the Mandlebrot set" }], "Exercise"] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Logistic Map" }], "Subsection"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], "'s graphics capabilities greatly assist visualization. In addition, sound \ can also be used for \"visualization\". The following example also shows how \ to use ", Cell[BoxData[ FormBox[ StyleBox["Compile", "Input"], TraditionalForm]]], " to speed up operations involving lists." }], "Text", CellTags->{"Sound", "Compiled code"}], Cell[CellGroupData[{ Cell[TextData[{ "The logistic mapping ", Cell[BoxData[ \(TraditionalForm\`x \[RightArrow] \[Mu]\ x\ \((1 - x)\)\)]], " where ", Cell[BoxData[ \(TraditionalForm\`0 \[LessEqual] \[Mu] \[LessEqual] 4\)]], " and ", Cell[BoxData[ \(TraditionalForm\`0 \[LessEqual] x \[LessEqual] 1\)]], StyleBox[" ", FontSlant->"Italic"], "has the efficient iterative implementation:" }], "Text", CellTags->{"Logistic mapping", "Iterative programming"}], Cell[BoxData[ \(TraditionalForm \`logistic[n_Integer, start_] := Module[{f, t, x}, f = Compile[{x, t}, \((t\/n + 3)\)\ x\ \((1 - x)\)]; FoldList[f, N[start], Range[0, n]]]\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Exercise ", FontWeight->"Bold", FontSlant->"Plain"], StyleBox[CounterBox["Section"], FontWeight->"Bold", FontSlant->"Plain"], StyleBox[".", FontWeight->"Bold", FontSlant->"Plain"], StyleBox[CounterBox["Exercise"], FontWeight->"Bold", FontSlant->"Plain"], " Play the following sound:" }], "Exercise"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm \`\(ListPlay[logistic(32000, 2/3), SampleRate \[Rule] 2000];\)\)], "Input"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .61803 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.952381 0.0147151 0.588604 [ [ 0 0 0 0 ] [ 1 .61803 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 .61803 L 0 .61803 L closepath clip newpath % Start of sampled sound 1 string 2000 32002 8 { currentfile 1 index readhexstring pop } false 1 sampledsound AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAA ABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAA ABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAABAA ABAAABAAABAAABAAABAAABAAABAAABAAABAAABAAACAAACA9ACA9ACA9ACA9ACA9ACA9ACA9ACA9 ACA9ACA9ACA9ACA9ACA9ACA9ACA9ADA9ADA8ADA8ADA8ADA8ADA8ADA8ADA8ADA8ADA8AEA7AEA7 AEA7AEA7AEA7AEA7AFA6AFA6AFA6AFA6AFA6AFA5B0A5B0A5B0A5B0A4B1A4B1A4B1A4B1A3B1A3 B2A3B2A3B2A2B2A2B3A2B3A1B3A1B3A1B4A0B4A0B4A0B4A0B59FB59FB59FB59FB59EB69EB69E B69EB69EB69DB69DB69DB79DB79DB79DB79CB79CB79CB79CB79CB79CB79CB79CB79CB79CB89C B89CB89CB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89B B89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89BB89B B89BB89BB89BB89BB89BB89AB89AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99A B99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99A B99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99AB99A B99AB99AB99AB99AB99AB99AB99AB99AB99AB999B999B999B999B999B999B999B999B999B999 BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99 BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99 BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA99BA98BA98 BA98BA98BA98BA98BA98BA98BA98BA98BA98BA98BA98BA98BA98BA98BA98BA98BA98BA98BB98 BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98 BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98 BB98BB98BB98BB98BB98BB98BB98BB98BB98BB98BB97BB97BB97BB97BB97BB97BB97BB97BB97 BB97BB97BB97BB97BB97BB97BB97BB97BB97BB97BB97BB97BB97BB97BB97BB97BB97BB97BB97 BB97BB97BB97BB97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97 BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97BC97 BC97BC97BC97BC97BC97BC97BC97BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96 BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96 BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BC96BD96BD96BD96BD96 BD96BD96BD96BD96BD96BD96BD96BD96BD96BD96BD96BD96BD96BD96BD96BD96BD96BD96BD96 BD96BD96BD96BD96BD96BD96BD96BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95 BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95 BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95 BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BD95BE95BE95BE95BE95BE95BE95BE95 BE95BE95BE95BE95BE95BE95BE95BE95BE95BE95BE95BE95BE94BE94BE94BE94BE94BE94BE94 BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94 BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94 BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94 BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BE94BF94BF94BF94 BF94BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93 BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93 BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93 BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93 BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF93BF92BF92BF92BF92BF92BF92 BF92BF92BF92BF92BF92BF92BF92C092C092C092C092C092C092C092C092C092C092C092C092 C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092 C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092 C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092C092 C092C092C092C092C092C092C092C092C092C092C092C091C091C091C091C091C091C091C091 C091C091C091C091C091C091C091C091C091C091C091C091C091C091C091C091C091C091C091 C091C091C091C091C191C191C191C191C191C191C191C191C191C191C191C191C191C191C191 C191C191C191C191C191C191C191C191C191C191C191C191C191C191C191C191C191C191C191 C191C191C191C191C191C191C191C191C191C191C191C191C191C191C191C191C191C191C191 C191C191C191C191C191C191C191C191C191C191C191C191C190C190C190C190C190C190C190 C190C190C190C190C190C190C190C190C190C190C190C190C190C190C190C190C190C190C190 C190C190C190C190C190C190C190C190C190C190C190C190C190C190C190C190C190C190C190 C190C190C190C190C190C190C190C190C290C290C290C290C290C290C290C290C290C290C290 C290C290C290C290C290C290C290C290C290C290C290C290C290C290C290C290C290C290C290 C290C290C290C290C290C290C290C290C290C290C290C290C290C290C290C290C28FC28FC28F C28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28F C28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28F C28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28F C28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC28FC38F C38FC38FC38FC38FC38FC38FC38FC38FC38FC38FC38FC38FC38FC38FC38FC38FC38FC38FC38F C38FC38FC38FC38FC38FC38FC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38E C38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38E C38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38E C38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38E C38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38E C38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC38EC48EC48E C48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48D C48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48D C48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48D C48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48D C48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48D C48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48DC48CC48C C48CC48CC48CC48CC48CC48CC48CC48CC48CC48CC48CC48CC48CC48CC48CC48CC48CC48CC48C C48CC48CC48CC48CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58C C58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58C C58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58C C58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58C C58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58CC58B C58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58B C58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58B C58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC58BC68BC68B C68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68B C68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68B C68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68BC68B C68BC68BC68BC68BC68BC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68A C68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68A C68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68A C68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68A C68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68AC68A C78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78A C78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC78AC789C789C789C789 C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789 C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789 C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789 C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789 C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789 C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789C789 C789C789C789C789C789C789C789C789C789C789C888C888C888C888C888C888C888C888C888 C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888 C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888 C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888 C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888 C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888 C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888C888 C888C888C888C888C888C888C888C888C888C887C887C887C887C887C887C887C887C887C887 C887C887C887C887C887C887C887C887C887C887C887C887C887C887C887C887C887C887C887 C887C887C887C887C887C887C887C887C887C987C987C987C987C987C987C987C987C987C987 C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987 C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987 C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987 C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987C987 C987C987C987C987C987C987C987C987C987C987C987C987C986C986C986C986C986C986C986 C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986 C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986 C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986 C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986C986CA86CA86 CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86 CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86 CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86CA86 CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85 CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85 CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85 CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85 CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85 CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85 CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CA85CB85CB85CB85CB85 CB85CB85CB85CB85CB85CB85CB85CB85CB85CB85CB85CB84CB84CB84CB84CB84CB84CB84CB84 CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84 CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84 CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84 CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84 CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84 CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84 CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84CB84 CB84CB84CB84CB84CB84CB84CB84CB84CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83 CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83CB83 CB83CB83CB83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83 CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83 CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83 CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83 CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83 CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83CC83 CC83CC83CC83CC83CC83CC83CC83CC83CC83CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82 CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82 CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82 CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82 CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82CC82 CC82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82 CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82 CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82 CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD82CD81CD81CD81CD81 CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81 CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81 CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81 CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81 CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81 CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81 CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81CD81 CD81CD81CD81CD81CD81CD81CD81CD81CE81CE81CE81CE81CE81CE81CE81CE81CE81CE81CE81 CE81CE81CE81CE81CE81CE81CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80 CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80 CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80 CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80 CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80 CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80 CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80 CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80 CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80CE80 CE80CE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7F CE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7F CE7FCE7FCE7FCE7FCE7FCE7FCE7FCE7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7F CF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7F CF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7F CF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7F CF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7F CF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7F CF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7FCF7F CF7FCF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7E CF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7E CF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7E CF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7E CF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7E CF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ECF7ED07E D07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07E D07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07E D07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07ED07E D07ED07ED07ED07ED07ED07ED07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07D D07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07D D07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07D D07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07D D07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07D D07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07D D07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07D D07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07D D07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07D D07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07DD07CD07CD07CD07C D07CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17C D17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17C D17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17C D17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17C D17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17C D17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17C D17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17C D17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17C D17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17C D17CD17CD17CD17CD17CD17CD17CD17CD17CD17CD17BD17BD17BD17BD17BD17BD17BD17BD17B D17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17B D17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17B D17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17B D17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD17BD27BD27BD27B D27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27B D27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27B D27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27B D27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27B D27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27B D27BD27BD27BD27BD27BD27BD27BD27BD27BD27BD27AD27AD27AD27AD27AD27AD27AD27AD27A D27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27A D27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27A D27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27A D27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27A D27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27A D27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27A D27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27A D27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27AD27A D27AD27AD27AD27AD27AD37AD37AD37AD37AD37AD37AD37AD37AD37AD37AD37AD37AD37AD37A D37AD37AD37AD37AD37AD37AD37AD37AD37AD37AD37AD37AD37AD37AD379D379D379D379D379 D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379 D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379 D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379 D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379 D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379 D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379 D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379 D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379 D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379 D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379D379 D379D379D379D379D379D378D378D378D378D378D378D378D378D378D378D378D378D378D378 D378D378D378D378D378D378D378D378D378D378D378D378D378D378D378D378D378D378D378 D378D378D378D378D378D378D378D378D378D378D378D378D378D378D378D378D378D378D378 D378D378D378D378D378D378D378D478D478D478D478D478D478D478D478D478D478D478D478 D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478 D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478 D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478 D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478 D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478 D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478 D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478D478 D478D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477 D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477 D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477 D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477 D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477 D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477 D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477 D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477D477 D477D477D477D477D577D577D577D577D577D577D577D577D577D577D577D577D577D577D577 D577D577D577D577D577D577D577D577D577D577D577D577D577D577D577D577D577D577D577 D577D577D577D577D577D577D577D577D577D577D577D577D577D577D577D577D577D577D577 D577D577D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576 D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576 D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576 D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576 D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576 D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576 D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576 D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576 D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576 D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576 D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576D576 D576D576D576D576D576D576D576D576D575D575D575D575D575D575D575D575D575D575D575 D575D575D575D575D575D575D575D575D575D575D575D575D575D575D575D575D575D575D575 D575D575D575D575D575D575D575D575D575D575D575D575D575D575D575D575D675D675D675 D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675 D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675 D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675 D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675 D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675 D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675 D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675 D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675 D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675D675 D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674 D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674 D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674 D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674 D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674 D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674 D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674 D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674D674 D674D674D674D674D674D774D774D774D774D774D774D774D774D774D774D774D774D774D774 D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774 D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774 D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774D774D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773D773 D773D773D772D772D772D772D772D772D772D772D772D772D772D772D772D772D772D772D772 D772D772D772D772D772D772D772D772D772D772D772D772D772D772D772D772D772D772D772 D772D772D772D772D772D772D772D772D772D772D872D872D872D872D872D872D872D872D872 D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872 D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872 D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872 D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872 D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872 D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872 D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872 D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872 D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872D872 D872D872D872D872D872D872D872D872D872D872D872D871D871D871D871D871D871D871D871 D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871 D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871 D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871 D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871 D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871 D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871 D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871 D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871D871 D871D871D871D871D871D871D871D871D871D871D871D871D871D871D971D971D971D971D971 D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971 D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971 D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971D971 D971D971D971D971D971D971D971D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970D970 D970D970D970D970D970D970D970D970D96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96F D96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96F D96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96F D96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FD96FDA6FDA6F DA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6F DA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6F DA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6F DA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6F DA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6F DA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6F DA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6F DA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6F DA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6F DA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6FDA6EDA6EDA6E DA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6E DA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6E DA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6E DA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6E DA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6E DA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6E DA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6E DA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6E DA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6E DA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6E DA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6EDA6E DB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6E DB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6E DB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6EDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6D DB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6DDB6CDB6DDB6CDB6DDB6CDB6DDB6CDB6D DB6CDB6DDB6CDB6DDB6CDB6DDB6CDB6DDB6CDB6DDC6CDB6DDC6CDB6DDC6BDB6EDC6BDB6EDC6B DA6FDC6ADA6FDC6ADA70DD69D971DD68D972DE67D874DE66D875DE65D777DF64D678DF63D679 DF63D67ADF63D67ADF63D67ADF63D67ADF63D57ADF63D57ADF62D57ADF62D57ADF62D57ADF62 D57ADF62D57BDF62D57BDF62D57BDF62D57BDF62D57BDF62D57BDF62D57BDF62D57BDF62D57B DF62D57BDF62D57BDF62D57BDF62D57BDF62D57BDF62D57BDF62D57BDF62D57BDF62D57BDF62 D57BE062D57BE062D57BE062D57BE062D57BE062D57BE062D57BE062D57BE062D57BE062D57B E062D57BE062D57BE062D57BE062D57BE062D57BE062D57BE062D57BE062D57BE062D57BE062 D57BE062D57BE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57C E061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061 D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57C E061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061 D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57CE061D57DE061D57DE061D57D E061D57DE061D57DE060D57DE060D57DE060D57DE060D57DE060D57DE060D57DE060D57DE060 D57DE060D57DE060D57DE060D57DE060D57DE060D57DE060D57DE060D57DE060D57DE060D57D E060D57DE060D57DE060D57DE060D57DE060D57DE060D57DE060D57DE060D57DE060D47DE060 D47DE060D47DE060D47DE060D47DE060D47DE060D47DE060D47DE060D47DE060D47DE060D47D E060D47DE060D47DE060D47DE160D47DE160D47DE160D47EE160D47EE160D47EE160D47EE160 D47EE160D47EE160D47EE160D47EE160D47EE160D47EE160D47EE160D47EE15FD47EE15FD47E E15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15F D47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47E E15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15F D47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47EE15FD47FE15FD47FE15FD47F E15FD47FE15FD47FE15FD47FE15FD47FE15FD47FE15FD47FE15FD47FE15FD47FE15FD47FE15F D47FE15FD47FE15FD47FE15FD47FE15FD47FE15FD47FE15FD47FE15FD47FE15ED47FE15ED47F E15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15E D47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47F E15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15ED47FE15E D47FE15ED47FE15ED480E15ED480E15ED480E15ED480E15ED480E15ED480E15ED480E15ED480 E15ED480E15ED480E15ED480E15ED480E15ED480E15ED480E15ED480E15ED480E15ED480E15E D480E15ED480E15ED480E15ED480E15ED480E15ED480E15ED480E25ED480E25ED480E25ED480 E25ED480E25ED480E25DD480E25DD480E25DD480E25DD480E25DD480E25DD480E25DD480E25D D380E25DD380E25DD380E25DD380E25DD380E25DD380E25DD380E25DD380E25DD380E25DD380 E25DD380E25DD380E25DD380E25DD380E25DD380E25DD380E25DD380E25DD380E25DD380E25D D381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381 E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25D D381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381 E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25DD381E25D D381E25DD381E25CD381E25CD381E25CD381E25CD381E25CD381E25CD381E25CD381E25CD381 E25CD381E25CD381E25CD381E25CD381E25CD381E25CD381E25CD381E25CD381E25CD381E25C D381E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382 E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25C D382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382 E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25C D382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382 E25CD382E25CD382E25CD382E25CD382E25CD382E25CD382E25BD382E25BD382E25BD382E25B D382E25BD382E35BD382E35BD382E35BD382E35BD382E35BD383E35BD383E35BD383E35BD383 E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35B D383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383 E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35B D383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383 E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35BD383E35B D383E35BD383E35BD383E35BD383E35BD283E35BD283E35BD283E35BD283E35BD283E35BD283 E35BD283E35BD283E35BD283E35BD284E35BD284E35BD284E35AD284E35AD284E35AD284E35A D284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284 E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35A D284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284 E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35A D284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284 E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35AD284E35A D284E35AD284E35AD284E35AD284E35AD284E35AD285E35AD285E35AD285E35AD285E35AD285 E35AD285E35AD285E35AD285E35AD285E35AD285E35AD285E35AD285E35AD285E35AD285E35A D285E35AD285E359D285E359D285E359D285E359D285E359D285E359D285E359D285E359D285 E359D285E359D285E359D285E359D285E359D285E359D285E359D285E359D285E359D285E359 D285E459D285E459D285E459D285E459D285E459D285E459D285E459D285E459D285E459D285 E459D285E459D285E459D285E459D285E459D285E459D285E459D285E459D285E459D285E459 D285E459D285E459D285E459D285E459D285E459D285E459D285E459D285E459D285E459D285 E459D285E459D285E459D285E459D285E459D285E459D285E459D285E459D285E459D286E459 D286E459D286E459D286E459D286E459D286E459D286E459D286E459D286E459D286E459D286 E459D286E459D286E459D286E459D286E459D286E459D286E459D286E459D286E459D286E459 D286E459D286E459D286E459D286E459D286E459D286E459D286E459D286E459D286E459D286 E459D286E459D286E458D286E458D286E458D286E458D286E458D286E458D286E458D286E458 D286E458D286E458D286E458D286E458D286E458D286E458D286E458D286E458D286E458D286 E458D286E458D286E458D286E458D286E458D286E458D286E458D286E458D286E458D286E458 D187E458D286E458D187E459D285E457D188E459D384E557D089E35AD481E556CF8CE25CD67D E555CF8DE25DD77BE556CF8CE25DD67CE555CF8DE25DD77BE556CF8CE25DD67CE555CF8DE25D D77BE556CF8CE25DD67CE555CF8DE25DD77AE556CF8CE25CD67CE555CF8DE25ED77AE556CF8C E35CD67DE555CF8DE25ED77AE556CF8CE35CD67DE555CE8EE25ED779E556CF8CE35CD57EE555 CE8EE25ED879E556CF8BE35BD57EE555CE8EE25ED878E556D08BE35BD57FE555CE8EE25ED878 E556D08BE35BD57FE555CE8EE25ED878E556D08BE35BD57FE555CE8EE25ED878E556D08BE35B D57FE555CE8EE25ED878E556D08BE35BD580E554CE8EE25ED878E556D08BE35BD580E554CE8F E25FD877E556D08BE35BD580E554CE8FE25FD877E556D08BE35BD580E654CE8FE25FD877E556 D08BE35AD481E554CE8FE25ED878E556CF8CE35BD57FE654CE8FE25FD976E557D189E459D384 E555CF8CE35BD57EE654CE90E160D975E557D188E458D286E556D08AE459D482E554CE8EE25E D879E555CF8EE25DD77BE654CE8FE25FD877E556D08BE35AD580E654CE90E15FD975E557D189 E458D286E556D08BE459D482E654CE8FE25ED877E555CF8DE35BD67EE653CD91E160DA73E458 D286E556D08BE45AD481E654CE90E25FD976E556D08BE459D482E654CE8FE25ED877E555CF8C E35BD57EE653CD91E161DA72E459D384E654CF8EE35CD77BE653CD90E160DA74E557D188E557 D189E557D287E556D08AE458D385E555CF8DE35CD67CE653CD91E161DB72E459D384E654CE8F E25DD879E654CE8FE25ED877E555CF8DE35CD67DE653CD92E161DB70E45AD481E653CD91E161 DB71E459D384E654CE8FE25ED878E654CE8FE25DD779E653CD90E25FD975E556D08AE458D384 E654CE8FE25DD879E653CE90E25FD976E555CF8CE45AD580E652CD92E162DB70E45AD580E652 CC93E162DC6EE35CD67CE652CC93E062DC6EE35CD77CE652CC93E162DC6FE35BD67EE652CC93 E063DD6DE25DD878E653CE90E25FD976E655CF8DE35AD57FE652CC94E063DD6CE25ED877E654 CE8FE35DD879E653CD91E160DA73E557D287E555D08CE459D483E653CD92E161DB71E458D385 E653CE90E25ED977E653CE8FE25DD879E653CD92E160DA72E557D288E555D08BE458D383E652 CD92E160DB72E557D286E654CF8EE35CD77CE752CC94E064DE6AE260DA73E556D188E555D08A E557D286E654CF8EE35BD67CE751CC95E065DE69E162DC6EE35BD67DE751CB95DF65DE68E063 DD6BE25ED976E654CE8EE35BD77CE751CB95E065DE68E063DD6CE35DD878E652CD92E161DB70 E458D384E652CD92E161DB71E558D385E653CD91E25FDA74E654CF8DE459D580E751CB96DF65 DF67E064DE69E161DC70E459D482E751CC94E064DE6BE25FDA74E655D08CE458D483E751CC94 E063DD6BE25ED977E652CD91E25FDA74E654CF8DE459D581E751CB96DF66DF66DF66DF66DF67 E065DE68E162DC6DE35BD67DE750CB97DF68E063DD6BE35DD977E752CD93E161DB70E557D385 E752CD93E161DB70E558D384E752CC94E162DC6DE45AD67DE750CA98DE69E161DC6FE459D482 E750CB96DF66E065DF68E063DD6BE35DD977E752CC94E161DC6EE459D580E750CA98DE69E160 DB70E557D385E752CD93E260DB71E556D287E653CE90E35CD879E750CB96DF66DF66E065DF67 E064DE69E160DB70E557D286E752CD92E25FDA73E654CF8DE458D483E750CB97DF66E065DF68 E162DD6CE35CD77AE750CA98DE69E161DC6FE557D384E751CB95E064DE68E161DC6FE458D482 E750CA98DF68E162DD6DE45AD67DE84FC99ADD6CE35CD87AE750CA98DE69E260DB71E556D188 E653CF8FE45AD67EE84FC99ADD6DE45BD77CE84FC99ADD6CE35BD77BE84FCA9ADD6BE35CD878 E750CB97DF67E063DE69E25FDB72E654D08CE556D287E752CD92E25ED975E752CD93E25FDB72 E654D08BE555D189E653CF8EE459D580E84FC99BDD6DE45AD67FE84EC99BDC6EE558D482E84F CA99DE6AE35DD976E751CC94E161DD6DE459D580E84EC99BDC6EE558D483E84FCA99DE6AE35D D976E750CB96E064DF68E161DC6EE558D483E84FCA99DE6BE35DD977E750CB97E066E065DF66 E063DE69E25FDB72E653CF8EE558D483E84FC99ADD6CE45AD77CE84EC89CDC70E555D288E752 CE91E35CD878E84FCA99DE6AE35DD976E750CC96E163DE69E25EDA73E752CE91E35BD87AE84E C99CDC6FE556D385E750CB97DF66E064DF68E260DC6FE557D385E84FCA98DF67E161DD6DE459 D57FE84DC89DDB72E653CF8FE459D67FE84DC89EDB73E752CE90E45AD77CE84DC89DDB72E653 CF8FE459D580E84DC89EDB73E752CE90E45AD77CE84DC89EDB73E752CE91E35CD878E84EC99B DD6DE558D581E84DC89DDB72E653CF8FE558D581E84DC89EDB73E752CE92E35CD978E84EC99B DD6DE558D581E84DC89EDA73E751CD93E35EDA73E751CD93E25EDB72E752CE90E459D67EE94C C79FD976E84FCA99DF69E25EDB72E752CE91E45BD87AE84DC89EDB72E752CE91E45BD87AE84D C89EDB73E751CD92E35CD977E84EC99BDD6DE557D482E94DC89EDA73E751CC94E25FDC6FE654 D18AE752CE91E45AD77BE94CC7A0D976E84ECA9ADE6AE45BD879E94DC89EDA74E750CC95E161 DD6CE558D580E94CC7A0D978E84DC89DDB71E653CF8EE556D385E84EC99BDD6CE558D580E94C C6A1D879E94DC89EDA73E750CC95E261DD6DE558D582E94CC7A0D978E84DC89DDC70E653CF8E E655D288E84FCB98E065E163DF68E25FDC70E753CF8EE556D386E84EC99BDE6BE459D67EE94B C6A2D77CE94BC6A2D77CE94BC6A2D77BE94BC6A2D87BE94CC6A1D87AE94CC6A1D879E94CC7A0 D976E84DC99DDC6FE654D18AE751CD93E35DDA74E84FCB99DF66E261DD6CE558D580E94BC6A3 D77DE94BC5A3D67EE94BC5A3D67FE94BC5A3D67FE94BC5A4D67FE94BC5A4D67FE94BC5A4D67F E94BC5A4D67FE94BC5A4D67FE94BC5A4D67FE94BC5A4D680E94BC5A4D680E94BC5A4D680E94B C5A4D680E94BC5A4D580E94BC5A4D580E94AC5A4D580E94AC5A4D580E94AC5A4D580E94AC5A4 D580E94AC5A4D580E94AC5A4D580E94AC5A4D581E94AC5A4D581E94AC5A4D581E94AC5A4D581 E94AC5A4D581E94AC5A4D581E94AC5A5D581E94AC5A4D581E94AC5A5D581E94AC5A4D581EA4A C5A5D582E94AC5A4D67FEA4AC4A6D484E94BC6A2D87AE94AC5A5D581EA4AC4A5D483E94AC5A4 D67FEA4AC4A6D385E94CC7A1D977E94BC6A1D978E94BC6A3D77DEA4AC4A6D386E94CC7A0DA75 E94DC89EDC71E750CD93E45BD977E94BC6A1D979E94AC5A4D67FEA49C4A7D387E94DC89EDC70 E751CE92E559D77DEA49C3A7D288E94DC99CDD6DE655D287E94DC89EDC70E751CF90E557D582 EA4AC4A6D483EA4AC5A5D581EA49C4A7D387E94CC89EDC71E850CD94E35DDB73E84DCA9BDE6A E559D77DEA49C3A8D18AE84FCB98E164E064E163E065E161DF69E45BD977E94AC5A4D67EEA49 C3A9D18CE850CD94E35CDA75E94CC7A0DB74E94DC99DDD6EE653D18BE84FCC96E260DE6BE557 D580EA49C3A9D18BE84FCC96E25FDD6EE753D18BE84FCC96E25FDD6EE753D08DE751CF90E656 D485EA4AC5A4D680EA48C2AAD08EE752D08EE753D18CE850CD93E45AD979EA49C4A7D387E94B C7A1DA76E94AC6A3D77CEA48C2AACF8FE654D28AE84DCA9BDF69E45AD979EA49C3A8D288E94C C89FDB72E84ECA9AE066E35EDC6FE751CE92E558D77EEA48C2ABCE92E557D680EA48C2ABCE91 E656D483EA49C3A8D289E94CC89EDD6FE751CE91E556D582EA48C3A9D08DE850CD93E45AD87A EA48C2AAD08EE752D08EE751CF90E654D289E94CC89EDC70E850CD94E45BDA75EA4AC6A3D77C EB47C1ACCD94E45BD977EA49C4A7D485EA49C3A8D388E94BC7A2D978EA48C3A9D28AE94DC99C DE6BE655D484EA48C3A9D28AE94DC99DDE6CE654D387EA4AC6A3D87BEB47C1ADCD95E45CDB74 E94BC7A2D977EA49C3A8D289E94CC8A0DB73E94CC89FDC71E94ECA9AE066E35EDD6FE850CE93 E558D77DEB46C0AECB99E164E162E066E35EDC6FE84FCD95E45BDA75EA4AC5A5D681EB47C0AE CB98E162E066E35DDC70E84ECB99E163E163E163E162E065E260DE6AE656D483EB47C2ACCE92 E557D680EB46C0AFCA9BDF68E45AD977EA48C3AAD18CE84ECB98E261DF68E45AD977EA48C2AA D08EE850CE93E558D77DEB46BFB0C99EDD6EE850CE91E655D485EB47C2ABCF90E753D28AE94B C8A0DB72E94CC89FDC70E84ECB99E162E065E25FDE6CE754D289EA4AC6A3D87AEB46C0AFCA9C DF68E559D87BEB46C0B0C99DDE6BE654D387EA49C4A7D485EB48C2ABD08FE751CF8FE752D08E E850CD94E558D87CEB45BFB1C7A1DB74EA49C5A6D581EB46BFB0C89FDC71E94CC99CDF6AE656 D582EB46C0B0C99DDE6AE655D485EB47C2ACCE92E655D583EB46C0AFCA9BE066E45CDB73EA4A C6A3D979EB46C0AFCA9CDF68E558D77DEC45BEB3C5A5D680EC45BEB3C5A5D67FEC45BEB3C5A6 D581EB45BFB2C7A2D978EB46C0AFCA9BE066E45CDB72EA4AC6A3D979EB45BFB0C89FDD6FE84E CC97E35EDE6CE751D08EE84FCD94E558D87CEC44BEB3C4A8D485EB47C1ADCD96E45BDB73EA49 C5A5D680EC44BDB4C3A9D289EA49C5A5D67FEC44BDB4C3AAD18CE94CC99EDE6DE850CF90E752 D18CE94CC99EDE6CE751D08EE84FCD94E558D87CEC44BDB4C3AAD18DE94DCA9BE165E35EDE6C E851CF90E751D08EE84ECD96E45BDB73EA49C5A6D582EC44BDB4C3A9D289EA48C4A8D387EB47 C1ADCE94E557D77FEC43BCB6C0AFCB99E261E164E35EDE6BE752D18BEA4BC8A0DC71EA4AC6A3 D979EC44BEB3C5A7D582EC44BDB4C3AAD18CE94CC99EDE6CE850CF91E752D28BEA4AC6A4D87A EC44BDB5C1ADCE94E656D67FEC43BCB7BFB2C7A2DA75EB46C1ADCD95E559D979EC44BEB4C4A9 D388EB47C2ACCF90E751D08EE94ECC97E35DDD6DE84ECC96E45BDB73EB48C4A8D387EB46C1AE CC97E45CDC70EA4BC8A0DC72EA49C5A6D77FEC43BBB8BDB5C2ACCF90E850CF90E851D08FE84E CC96E45BDB73EB48C3A9D289EB47C3AAD18CEA4BC8A1DC72EA48C4A7D584EC44BDB5C2ABD08E E94ECC98E35DDE6DE84FCE94E656D77FEC42BAB9BBB8BDB5C2ABD08EE94DCB99E260E066E45A DB75EB45C0B0CA9DDF69E655D582EC43BBB8BEB4C4A9D388EB46C1AFCC99E35FDF68E655D582 EC43BBB8BDB5C3AAD18CEA4AC7A1DB74EB46C1AECD96E559DA77EC44BDB5C3ABD18DEA4BC8A0 DC71EA49C5A6D77FED42BABBB9BDB6C1AFCC98E35EDE6CE850CF91E751D18DEA4BC8A0DC70EA 49C6A5D87CED41B9BBB8BDB5C3AAD28BEA49C5A6D681ED42BABBB9BCB7C0B0CA9CE066E559DA 76EC44BDB5C3AAD18CEA4AC6A4D979EC42BBB9BCB7C0B0CA9CE066E559DA77EC43BCB6C1AFCB 99E35FE067E657D87CED41B9BDB6C1AFCC99E35EDF69E753D388EC45C0B1C99EDE6BE84FCF92 E752D28BEB48C4A8D485EC43BCB7BFB1C8A0DD70EA49C6A4D97AED41BABBB8BDB5C3AAD28BEB 48C4A8D584ED42BABABABABBBABBB9BCB7C0B1C99EDF6BE850D090E94ECD97E55ADB75EC44BE B4C5A7D681ED41B9BDB5C2ACD08FE94DCC99E35FDF68E754D584ED42BABABBBABBB9BDB6C1AE CC97E45BDC71EB47C2ACD08FE94CCB9BE163E35DDE6BE84FCF92E851D18DEA4AC7A3DA76EC42 BCB8BEB4C4A8D485ED42BBBABCB8BEB4C4A8D485ED42BBB9BCB7C0B0CB9AE261E262E261E163 E35EDF6AE850D090E94DCC98E45BDD70EB48C5A7D680ED40B7C0B0CA9DE066E557D97BED40B7 BFB2C8A1DD70EB48C4A9D486ED42BBBABBB9BDB5C3ABD28CEB47C4A9D388EC43BDB6C2ADCF92 E851D18EEA4AC8A1DC71EB46C2AECE94E754D583ED40B8BFB3C7A3DA77ED41B9BCB8BFB2C8A1 DC72EB46C1AFCC97E55ADB74EC43BEB5C4AAD389EC44BFB3C7A4DA78ED40B8BEB4C5A7D681EE 3FB6C1AFCD97E559DA76ED42BBBABBBABCB8BEB5C4A9D387ED42BCB8BFB3C7A4DA78ED40B8BF B3C6A5D87CEE3FB5C3ABD18DEB48C6A6D77EEE3EB5C3AAD28AEC44BFB2C8A2DC72EC44BFB2C8 A1DC71EB46C1AECD96E657D97BEE3FB6C3ACD08FEA4AC9A0DE6CEA4CCA9CE164E45BDD70EB47 C3ABD18CEB47C3AAD38AEC44BEB4C5A6D77EEE3EB4C5A8D583EE3FB6C1AECD96E656D87DEE3E B4C5A8D682EE3EB5C3ABD28BEC45C1B0CC9AE35EDF69E851D18DEB47C4A9D486ED41B9BDB7C1 AFCC98E45BDD70EB46C2ACD090EA4BCA9DE066E655D77FEE3DB4C6A6D87DEE3DB4C6A6D87CEE 3DB4C6A6D87DEE3DB3C6A5D97BEE3EB4C5A7D780EE3DB3C6A5D97BEE3EB4C5A7D77FEE3DB3C6 A4D979EE3EB5C3ABD28AEC44BEB4C5A8D682EE3EB4C5A7D77EEE3DB3C7A3DB75ED40B9BEB5C3 ABD28BEC44BFB3C7A3DB74ED41BABCB9BEB5C4AAD388ED41BBBBBABBBABBB9BDB7C1AFCD97E6 57D97AEE3DB3C6A5D979EE3EB4C5A8D683EE3DB4C6A6D87DEE3CB2C8A1DD6FEB46C3ACD18DEB 46C3ABD28CEC45C1B0CC9AE45DE069E850D18EEB48C6A7D77EEF3CB2C9A0DF6BEA4CCB9CE261 E35FE164E559DB74ED40B9BEB5C4AAD389ED42BCB9BDB7C1AFCD96E754D681EF3CB2C8A0DE6D EB48C6A5D97AEE3DB2C8A1DD6FEC45C1AFCE96E754D682EE3DB3C8A2DC72ED43BDB7C2AECE95 E753D486EE3FB6C2AECF93E84FD090EA4BCA9EE067E852D389ED41BABBBABCB8BFB3C8A2DC71 ED43BDB7C1AFCD97E657D97AEF3CB2C9A0DF6BEA4CCB9BE360E262E45DE068E850D28CEC44C0 B2C9A0DF6BEA4BCA9DE165E656D87CEF3BB1CB9BE360E261E35FE165E657D979EF3CB2C9A0DF 6BEA4AC99FDF6AE94DCD96E754D682EF3CB1CA9EE165E656D97BEF3BB0CB9AE45DE068E850D2 8CEC44BFB3C7A4DB75EE3EB6C3ACD18FEB47C5A8D682EF3BB1CB9CE360E361E35FE262E45CDF 6BEA4AC9A0DF6BEA4AC9A0DF6BEA4AC9A1DE6DEB47C5A8D682EF3BB0CC99E55BDE6EEC46C3AC D18EEB46C3ACD28DEC44BFB3C8A3DC72ED41BABCB8BFB3C7A4DB76EE3DB4C6A7D87EEF3AAECE 94E850D18EEC45C1AFCD97E755D77FEF3AAECF94E94FD091EA4ACA9FE067E851D389EE3FB8C1 B1CB9BE35FE262E55ADE6EEC45C1B0CC9AE45CDF6AEA4CCC9BE45DE068E94ECF92EA4CCC9AE4 5BDE6DEB47C4A9D585EF3CB1CA9DE262E45BDE6CEB47C5A7D77FEF3AADD091EB49C8A2DD70ED 42BDB7C1AFCD97E655D87CEF39ADD091EB49C7A3DC73EE3EB6C3ADD090EB47C5A7D77EF039AD D18FEB46C3ABD28BED40BABCB9BFB4C7A4DB75EE3DB4C7A4DB75EF3CB3C8A2DD6FEC43BEB5C5 A8D780F039ADD18FEC46C3ACD28BED40BABCB9BFB4C6A6DA79EF3AAECF93E94CCD98E656D97A F039ADD090EB47C5A8D77FF039ACD28CED42BCB9BFB5C6A7D87DF039ACD28BED41BABCB9BEB6 C3ACD28BED40BABEB6C3ADD18FEC46C3ACD28DED42BDB8C0B1CA9DE262E55ADD6FED42BEB6C3 ACD28DED42BEB7C3ADD090EB46C4AAD486EF3BB1CB9BE45DE166E852D486EF3BB1CB9BE45DE1 66E851D38AEE3EB7C3ADD090EB46C4AAD585EF3AAFCE96E851D389EE3DB5C6A7D87EF038AAD4 87EF3BB1CB9DE360E35EE263E559DC72EE3EB6C3ACD28DED42BCB9BFB4C6A6D97BF038ABD488 EF3CB3C8A3DD70EE40BABEB6C3ACD28BEE3FB8C0B3C8A2DE6EED43BFB4C6A6DA79F039ACD28C ED40BABDB8C0B3C9A1DF6BEB48C6A6D97AF038ABD488EF3CB2CA9FE165E852D585EF3AAECF92 EA4AC9A0E068E94DCF94EA4CCD97E852D585F039ADD18FEC43C0B3C8A2DE6EED43BEB6C5AAD5 84F039ACD28CEE3FB9C0B3C8A2DE6DED43BFB4C7A4DC74EF3BB1CB9CE45EE263E658DC74EF3B B1CC9AE658DC73EF3CB3C8A2DE6EED42BDB8C1B2CB9DE361E45CE067E94ED092EB48C7A4DC74 EF3BB2CB9DE360E45DE165E852D585F038ACD38BEE3EB6C4ABD488EF3BB1CB9CE45DE164E754 D780F136A8D87EF136A7D87DF136A7D87DF136A7D87DF136A7D87DF136A7D87CF136A7D87CF1 36A7D97CF136A7D97CF136A7D97CF136A7D97CF136A7D97CF136A7D97CF136A7D97CF136A7D9 7CF136A7D97BF136A7D97CF136A7D97BF136A7D97CF136A7D97BF136A7D97CF136A7D97AF136 A8D87DF135A6DA79F037A9D780F136A6DA7AF136A8D87DF135A6DA78F037A9D682F136A7D97C F135A6DA78F037A9D780F135A6DA78F037A9D781F136A7DA7AF136A7D97BF135A6DA78F037A9 D780F135A6DB77F037AAD683F136A7D97CF135A5DB76F038ABD586F038ABD487F039ADD28EEE 40BABDB8C1B1CD99E656DA78F137A9D77FF135A5DC74F039ADD18FED41BCBABEB6C4ABD488F0 39AED092EC46C5A9D780F135A5DC74F039AED18FED42BEB8C2AFCE95EA4CCE95E94DCF94EA4B CC9AE657DC74F038ADD28CEF3DB5C6A8D87EF134A4DD71EF3CB4C8A3DE6EEE3FB9BFB5C6A7D9 7AF135A5DC73F039AED190ED43C0B4C8A3DE6DED41BCBBBCBABEB6C4ABD586F137A9D780F134 A3DD70EF3DB5C6A8D97CF134A3DE6FEE3EB7C3AFD092EC46C4ABD586F136A9D87FF134A3DE6E EE40BABEB8C2AFCF95EA4BCD99E755D97AF134A4DD70EF3CB4C9A2DF6BED43C0B3C9A1E06AEC 46C5AAD682F134A4DD71EF3BB2CB9DE35FE45EE361E55ADF6CED42BEB7C3AED190ED43BFB5C7 A6DB75F136A9D77FF233A2DF6AEC44C2AFD093EC46C6A8D87EF233A1E069EC47C6A8D97CF233 A2E06AEC46C5AAD684F134A4DD72F03AAFCF95EA4ACB9CE55CE166EA4CCE97E94ED18FEE40BC BBBCBBBCBABEB7C3AED190ED42BEB7C4ACD489F038ADD38BEF3AB0CE97E950D38AF039AED18F EE40BBBDB8C1B1CC9BE658DD71EF3BB1CC9AE755DA78F134A4DE6FEF3CB5C7A5DC74F037AAD6 84F134A4DE6FEF3DB5C7A6DB77F134A4DD71F039AFD092EC44C2B0CE97E94FD28DEF3CB5C7A5 DC74F136A8D97DF2329FE263E853D87FF2329FE262E754D97CF2329FE263E754D87DF2329FE3 62E756DB76F134A5DC73F037ABD685F134A3DE6DEE3FB9C1B3CB9EE360E55AE069EC46C6A8D9 7CF2329FE361E658DD70F03AB0CF95EA4ACC9BE656DC75F135A7DA78F233A2E069EC45C5ABD5 86F134A4DE6FEF3CB4C9A2E069EC46C6A8D97DF2319EE45EE45EE45DE360E559DF6BED42BEB7 C3AED18FEE3FBABFB6C6A9D87FF2319DE45DE362E755DA79F2329FE262E754D97DF2319DE45C E263E851D684F232A1E166EA4ACC9BE658DE70F03AB0CF95EB49CA9FE362E755DA79F2319FE3 60E658DE6EEF3DB6C5AAD781F2319DE55CE264E94FD28CF03AB0CE97EA4CCF94EC47C7A7DB78 F232A0E263E852D781F2319DE55CE265E94ED18FEE3EB9C2B1CD99E852D782F2319DE55CE264 E94ED18FEF3DB7C4ACD488F134A5DD71F037ABD586F233A2E06AED43C1B3CA9FE361E756DC75 F134A4DE6FF03AB0CE96EB4ACC9BE756DB76F233A2E068EC46C6A8DA7AF3309CE659DF6BEE40 BCBBBEB9C2B1CD99E851D684F2319EE45EE45EE45FE55CE263E950D488F134A5DD71F038ACD5 87F233A3DF6CEE3EB9C1B3CB9EE45DE360E659DF6BEE3FBBBEB9C1B2CC9CE658DE6FF03AB1CD 99E850D586F232A0E263E851D685F2319EE45DE45FE55BE264EA4DD191EE40BDBBBEB8C3B0D0 93ED43C2B1CE97EA4CD094EC45C4ADD48AF135A7DB77F2319EE55CE362E853D97CF32F99E950 D587F233A2E167EC46C7A8DA79F32F9BE754DA7AF32F9AE853D87FF32E98E94ED28EEF3AB2CD 9AE853D97CF32E98E94ED38DF038AED38CF038ACD488F233A3E06BEE3FBBBEB9C2B2CD9AE851 D684F3309BE756DC75F232A0E362E852D87FF32E97EA4CCF95EC47C8A4DE6FF039AFD092EE41 BDBAC0B5C9A3DF6CEE3EB8C3B0D093ED43C1B2CC9BE755DC76F2319EE55CE362E851D684F32F 9AE852D880F32E97EB4ACC9BE755DB78F32F9AE852D87FF32D96EB49CB9EE45DE45FE658DF6E F03AB1CE97EA4BCF96EB49CB9FE45FE55AE167EC45C5ABD782F32E97EB4ACD9AE950D685F32F 9AE852D87FF42D95EC47C7A6DC73F232A1E265EB4ACD9BE854DA7AF32D96EB49CB9FE45FE659 E06AEE3FBAC0B6C7A7DB76F3309BE754DA79F32E97EA4ACE99EA4DD28FF03AB1CE97EB49CB9E E55BE264EA4CCF95EC45C6AAD87FF42C94ED44C3B0D094ED42C1B4CAA1E264EA4BCF95EC45C6 AAD87FF42C94ED43C1B3CB9EE55CE362E851D783F32D96EB48CAA1E263EA4DD190EF3BB3CB9E E55AE265EB4ACD9BE852D880F42C93ED42C0B6C7A8DA79F42D95EC45C6AAD97EF42C93EE40BD BBBFB8C4ADD588F2319EE55BE264EA4CD192EE3EBAC1B4CAA2E265EB48CB9FE45DE45DE45EE5 5CE361E852D87EF42B92EE3FBAC0B5C8A5DE6FF136AAD97DF42B92EE3EB9C2B2CD9BE852D97E F42B92EF3EB8C3AFD190EF3BB4CAA2E265EB48CBA0E45FE658E06BEF3CB5C8A5DE6FF136AAD9 7DF42B91EF3CB6C7A8DB77F42D96EC46C7A7DB76F32E97EB49CC9DE757DE6FF135A7DC76F32E 97EB49CC9DE756DD71F233A3E167ED43C2B1CF96EC46C7A7DC74F32F9BE853D97CF42B90EF3B B3CB9EE55BE263EA4CD094EE41BEB9C3B0D094EE41BEB9C2B1CE97EB49CC9DE657DF6DF038AF D28EF137ACD684F42C93EE40BDBBBFB8C3AFD190F03AB2CD9BE951D783F42B92EF3DB8C5ACD5 86F42D97EC47C9A3E167ED43C2B1CF96EC45C6A9DA7AF42A90F03AB1CF97EC47C8A5DF6EF136 AAD97DF52A8EF137ABD781F42A8FF038AED38CF234A5DF6EF137ABD782F42A8FF038AED38DF1 35A7DC74F32E99EA4BCF96EC45C6ABD880F52A8EF135A9DA7AF52A8FF137ACD686F42C95ED42 C1B3CC9EE658E069EE3EBAC1B4CAA1E362E94FD588F32E98EB49CC9CE854DB78F42B91EF3BB4 CB9FE55BE460E853DB79F42A8FF137ADD587F42D96EC45C6AAD97EF5298CF232A3E266EC45C6 ABD880F5298CF233A3E168EE41BFB9C3AFD28FF137ACD685F42B91F03AB3CD9BE94FD587F42C 95ED41C0B6C8A6DE71F3319FE55AE363EA4BD093EE3FBBBFB7C6ABD881F5298CF231A0E45FE7 56DE71F3309EE757DF6DF136A9DA7BF5288BF2319FE55CE45EE659E166ED43C3B0D290F038AF D38DF233A5E06CF038AFD38EF234A6DE70F232A2E363EA4CD193EF3DB7C5ACD782F5298CF331 9FE55BE45FE754DC75F42C94EE3FBBBFB8C5ACD685F52A90F137ACD782F5288BF3309EE757DF 6CF137ACD684F5298EF234A5DF6EF135A7DD74F42C95EE41C0B7C6AADA7BF52889F42E98EC47 CAA2E362EA4DD38DF232A1E360E951D881F52789F42D97ED44C5ACD784F5298CF331A0E55CE4 5EE757DF6DF135A9DB79F5288BF32F9BE950D783F5288BF32F9AEA4DD38EF233A4E069EF3CB6 C8A7DD73F42D96ED42C2B2CE98EC47CAA1E45FE853DB77F5298DF331A0E55BE45EE757DF6CF1 36AAD97EF62686F52A8FF135A9DB79F5288AF42D97ED44C5ADD686F52A8FF234A6DF6EF233A4 E169EF3CB7C6AAD97DF62686F5298EF232A2E264EC48CBA0E55CE55CE55CE55BE460E950D783 F52788F42B92F039B1D095EE3FBCBEBBC1B5C9A4E168EF3EBAC1B4CC9EE757E06BF038AFD38D F231A0E55DE65AE362EB4ACF96EE41C0B7C7A8DC76F5298DF3309EE757E06BF137ADD685F528 8BF42D97ED45C6ABD97DF62584F52788F42B91F038AFD38DF3309EE755DE70F32F9CE950D782 F62686F5288BF32E99EB49CD9BEA4ED589F42B93EF3BB5CAA3E265ED43C4B0D28FF234A6DE6F F3309DE852DA7BF62584F62788F5298EF232A2E361EA4DD48CF32E9AEA4CD191F137ADD686F5 288AF42C94EF3DB9C4B0D290F135A8DD74F5298EF331A0E55CE65AE361EA4DD38DF3309EE755 DE70F32F9BEA4DD38EF3319FE659E264EC45C7A8DC76F5288AF42B94F03BB5CAA2E362EB4BD1 93F03BB4CB9FE659E264ED45C7A9DB79F62584F62685F62787F5288CF42D98ED44C6ABD97EF6 2480F62481F62481F62482F62482F62482F62582F62582F62582F62582F62582F62582F62582 F62482F62482F62482F62481F62481F62480F62480F62480F62480F62480F6237FF7237FF723 7FF7237FF7237FF7237FF7237FF7237FF7237FF7237FF7237FF7237FF7237FF7237FF7237EF7 237EF7237EF7237EF7237EF7237EF7237EF7237EF7237EF7237EF7237EF7237EF7237EF7237E F7237EF7237EF7237EF7237EF7237EF7237DF7237DF7237DF7237DF7237DF7237DF7237DF723 7DF7237DF7237DF7227DF7227DF7227DF7227DF7227DF7227DF7227DF7227DF7227DF7227DF7 227DF7227DF7227DF7227DF7227CF7227CF7227CF7227CF7227CF7227CF7227CF7227CF7227C F7227CF7227CF7227CF7227CF7227CF7227CF7227CF7227CF7227CF7227CF7227CF7227CF722 7CF7227CF7227CF7227CF7227CF7227CF7227CF7227CF7227BF7227BF7227BF7227BF7227BF7 227BF7227BF7227BF7227BF7227BF7227BF7227BF7227BF7227BF7227BF7227BF7227BF7227B F7227BF7227BF7227BF7227BF7227BF7227BF7227BF7227BF7227BF7227BF7227BF7227BF721 7BF7217BF7217BF7217BF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7 217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217A F7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF7217AF721 7AF7217AF7217AF7217AF7217AF7217AF72179F72179F72179F72179F72179F72179F72179F7 2179F72179F72179F72179F72179F72179F72179F72179F72179F72179F72179F72179F72179 F72179F72179F72179F72179F72179F72179F72179F72179F72179F72179F72179F72179F721 79F72179F72179F72179F72179F72179F72179F72179F72179F72179F72179F72179F72179F7 2178F72178F72178F72178F72178F72178F72178F72178F72178F72178F72178F72078F72178 F72078F72178F72078F72179F82077F7217AF81F75F7237FF81F73F62584F72077F72179F820 76F7227BF81F74F62481F81F74F72481F81F74F62481F81F74F72380F81F73F62584F82077F7 2179F81F75F7227DF81E72F62686F7217BF81F73F62482F81F74F7237FF81E72F62686F7217B F81F73F62482F81F74F72380F81E72F62686F7217AF81F73F62481F81E72F62584F82076F721 7AF81F73F72481F81E72F62686F7217AF81F73F72481F81E71F62687F7217BF81E71F62686F7 217AF81E72F62584F82076F72179F81E73F62482F81E72F62584F81F75F7217BF81E71F62687 F7217BF81E70F62789F72380F81D70F5288BF62688F7227CF81D6FF5288DF5298FF42B94F136 ACD97EF81D6EF52990F42D98EE40C0B9C5AFD58AF62482F81D70F6278AF72481F81D6FF5288C F62789F72380F81D6EF52A91F32E9BEC48CD9CEB4AD194F135ACDA7CF91D6EF52A92F331A1E7 57E364EF3EBDBFBBC2B4CE9CEC48CF99EE42C4B0D48CF62688F7217BF91D6EF52A91F42E9BEC 47CCA0E756E169F233A5E267F138B1D38EF52A90F42D9AED43C5AFD687F72078F81E71F62584 F81D70F62686F82076F81F75F82078F81E71F62584F81D70F62688F7217AF91C6DF52A91F42E 9AED44C8A9DE73F7227DF91B6BF32F9DEB4BD38EF5298FF52B93F233A6E16AF331A2E659E55D E950DA7CF91B6AF32F9EEA4ED784F81D6FF6278AF7237FF91B6AF331A1E757E364EF3EBDBEBC C0B8C7ABDB79F91C6DF52990F42C95F137AFD687F81F75F81F75F81F76F81F73F72179F91C6C F42B94F234AADD75F81F75F81F75F81F74F82077F81E71F62482F91C6BF42D9AEE41C2B4CE9B EC46CBA2E65BE757E363EF3FBFBBC3B4CF99EF3FBFBBC3B4CE9AEE42C4B1D48DF62789F7217A F91B69F330A1E757E364F03CB9C7ABDB79F91B6AF32F9EEA4ED784F91C6CF52A92F32F9EEB4C D58AF7227CF91A66F136AED884F91B6BF42D99EE40C1B8C7AADD75F81E72F7227CF91A66F137 B0D58AF7217AF91A68F233A7E06BF42D98F03CB9C6AED883F91B68F332A4E55EEB4BD38EF627 8AF72179F91B68F332A4E55FEB4AD291F42C97F039B4CF9AEE40C2B6CCA0E854E06DF5298FF5 288EF62687F81E71F7227EFA1964EF3DBBC3B3D195F233A8E06DF5288DF62586F91C6DF6278B F7227DFA1963EF3EBDBFBCC2B6CCA1E756E266F137AFD686F91C6EF62689F81F75F81D70F723 80FA1963EF3FBFBCC2B7CBA3E55DEA4FD97FFA1862EE40C1B7CAA6E265F138B2D194F331A2E6 59E65BE854E06CF52990F5298FF6278AF82078F91A68F332A5E461EE42C6AED784F91A67F234 AADD75F91D6EF62585F91B69F330A0E950DB79FA1964F03CB9C6ADDA7DFA1860ED45CAA5E462 EE41C3B4CF98F03CB9C6AED883FA1963EF3DBCC1B7CAA5E362EF3FBFBBC3B4CE9BEE42C4B1D4 8DF62483FA1963EF3EBDC0BBC4B2D391F52A91F52B94F331A2E757E363F03CBAC6AFD785F91A 66F136AED882FA1861EE43C6ADD97FFA175EEB4AD292F42C97F136AED883FA1963EF3EBDBFBC C1B8C9A7E169F42E9BED43C8AADD74F91C6CF5288DF7227EFA175DEA4ED883FA1861EE41C4B1 D38FF62789F81E71F81F76F91A67F233A7E267F233A7E268F331A2E758E55DEA4FD980FA175C EA4FDA7DFA165CE951DC78FA1862EF3EBEBDBFBCC1B8C9A7E267F233A7E268F32F9EEB4BD58C F82078FA1861EE43C6ADDA7FFA165BE854E06CF6278CF82078FA1860ED43C7ABDD76F91965F1 36ADD980FA165BE855E168F42E9DEC47CD9DEC48D097F137B1D48EF7237FFA165AE757E462EF 3FC0BAC6AED980FA165AE756E363F03CBAC5B1D48DF7227DFB1559E759E759E65AE856E365F2 35ACDB7CFB1559E758E55CEA4ED981FB165AE757E461EE42C5B1D58CF82077FA175FED46CCA1 E854E16BF52990F62689F91B6BF5288FF72483FA165BE952DF70F81F75FA1964F138B2D391F5 288EF7227DFB1557E460EE43C7ADDB7CFB1557E55FED45CAA5E55FED45CBA2E757E461EE40C2 B7CBA2E757E461EE41C3B4CF99F03BB8C9A7E169F42D99F03AB7CAA4E55EEB4AD391F5288DF8 2079FB1559E65AE856E364F136AFD883FB165AE856E364F137B0D58AF91C6DF72483FB1559E7 57E460EE43C7ACDC79FB1559E758E65BE951DE73F91A67F331A2E757E460EE43C7ABDD77FA16 5CEA4ED980FB1454E16BF6278CF81E73F91A68F42D9AF03CBBC3B4D098F138B3D293F52B95F3 30A2E855E267F32F9FEB4AD48EF7217AFB1455E268F42D9BEF3FC1B9C8ABDE74FA1862F03CBA C5B0D787FA175EEC47CE9DED44C9A8E169F52B95F32FA0EB4CD786FA165CEA4ED981FB1352DF 70F81E73F91A66F331A3E758E65BE950DC77FB1558E65AE855E364F235ADDB7CFB1351DD74FA 1860EE41C5B1D58CF81E72F91A69F52B94F42D9AF03CBBC4B2D48FF7227DFB124FDB7AFB1352 DE72F91A67F42E9DED44C9A7E267F32F9FEC49D292F6278CF81D71F91B6AF5288EF82077FB14 56E462F03CBBC4B3D195F42E9DED44CAA5E55FED43C8A9E06EF82078FB1455E366F331A4E65A E853E16BF62688FA175DEC49D293F5288FF8217AFB124FDB7AFB124FDB7BFC124FDA7DFC114D D785FB1455E366F331A3E757E55FEE43C9A9E06EF82078FB1352E06EF81F75FB155AE854E268 F52A94F52A94F42B97F332A5E55FEE42C6AFD882FC124FDB7CFC114BD689FA1862F03BBAC7AD DB7CFC114CD688FA165DEC4AD48FF7217BFC114CD689FA175EEC47CF9AF03AB7CCA2E854E16A F6268AFA1963F236AFD981FC114BD689FA175FED44CAA6E461EF3DBEBFBDC1B9C8ACDD76FB14 55E365F331A4E759E855E364F235ADDB7DFC1049D293F52990F7227FFC1048D195F42D9AF139 B5CF9BF03CBBC5B2D48DF91C6EF81E72FA1760EF3FC1B9C8ABDF71FA1863F137B2D48EF81D72 FA1861F03DBDC2B7CBA3E856E461F03BB9C8AAE06FF91C6FF91C6DF81F76FB1352E06EF81E74 FB1559E854E269F5288EF81E73FA165BEA4EDB7DFC0F46CE9EED45CCA2E952E06EF91D6FF91B 69F62689FB155AE953E06DF81F77FC114DD981FC0F46CE9CEF3FC2B8CBA5E65BEB4DD982FC10 47D099F235ADDB7AFC0F46CE9CEF3FC1BAC7ADDC79FC1048D197F331A3E856E55FEE42C6AFD9 81FC0F45CCA2E951DE73FB155AE953E16BF7227FFD0E43C9A9E16AF72382FC0F46CE9DEF40C3 B6CD9FEC47D09AF137B2D58CFA1966F42D9BF03AB7CCA2EA50DD77FC114CD786FC124FDB7BFC 0E43CAA8E365F330A2EA50DD76FC114CD787FC124FDB7BFD0E42C7ADDC79FC0F45CCA3E855E3 63F234ABDF71FA175FEF40C3B6CE9DEF3FC2B8CAA6E55FEF40C4B5D098F331A5E65BEA4EDB7D FD0D40C3B6CE9CEF3EC0BBC5B2D48EF91C6DF91C6FFA1A67F52B96F52C98F331A4E759E855E4 61F03AB9C9A9E16AF7227FFD0D3EC1BBC6B0D885FC1048D294F52890F81F75FC114CD884FD0E 43CAA7E463F235ADDC78FD0E43C9A9E268F6278DF91A67F52993F72484FD0E43C9AAE06DF91C 6EF91B6CF81E75FC114CD884FC0E44CAA6E55FEF3EC1BBC6AFD982FD0D3FC2B9C9A8E366F52C 98F331A4E759E854E364F331A5E75AEA50DE75FC114CD786FC0F46CF9CF03BBBC6AFD980FD0C 3CBCC4B4D295F6288FF91B6BF81F77FC0F45CCA2EA4FDD78FD0E42C7ADDC78FD0D40C4B5D098 F332A6E55FEF3FC2B9CAA8E364F330A2EA4FDC7AFD0C3DBEC0BDC2B8CBA6E65DED44CBA4E856 E55FEF3EC0BCC5B3D390F81E74FC104AD68BFB1457E758E854E364F331A4E856E65CEC47D197 F42E9EEE43C9AAE16BF81E74FC114CD885FD0E42C7ADDC7AFD0C3AB9CAA7E461F138B4D294F6 2587FC0F46CF9BF139B7CDA0EC49D48FF91B6CF81D72FC1250DD75FC0E44CBA5E758E856E65C EC48D293F72484FD0C3CBDC3B7CDA1EC4AD68BFB1354E366F52A93F72381FD0B37B2D58DFA17 5FEF3DBFBFBFBEC0BCC4B5D197F52B98F42FA0EC48D295F6278EFA1761F139B6CF9CF03BBBC7 AFDA7EFE0A34ABDF71FB1455E55FF03DBEC0BDC3B8CCA2EA4FDD78FD0B3AB8CBA6E65BEC49D4 8FFA1966F52991F91D71FB1353E267F62689FC1049D490F91C6DFA1964F42E9FEE44CBA6E65B EB4BD886FD0D3EC1BBC7AEDB7DFE0932A7E560F03AB9CAA8E462F234ADDD76FD0C3CBEC1BBC7 AEDB7DFE0931A5E75AEB4EDB7CFE0931A5E758E855E560F03BBBC7AEDB7DFE0930A3E952E16B F91D71FB1352E16CF91B6BF91D71FC124EDC7AFE0932A8E463F330A2EA4EDC7AFE0932A8E463 F331A4E856E65DED44CCA2EB4DDA80FE082FA0EC47D196F62890F91A68F72280FE082E9FED44 CCA3EA4FDD77FE0B37B2D58CFB1353E268F72484FE0A35AFDB7DFE082D9CF13AB8CBA4E856E6 5CED45CE9EEF40C5B2D58CFB1354E463F330A3EA4FDD76FD0B39B8CDA2EB4CD983FE0930A3EA 50DF71FC104AD689FC0F45CE9EEF3FC4B5D099F42E9FEE42C9ABE06FFB1457E759EA51E06FFB 1354E462F332A8E364F42C9AF331A6E65BEC48D393F8207BFE072B98F42C9AF233ABE06FFB14 55E65DEF40C5B3D58EFB155AEB4DDA7FFF072993F8207BFE072A96F6268BFC114CD983FE082E 9EEF3DC0BDC2B8CCA4E954E561F235AFDA7FFF062890FA1864F42C9AF332A9E364F52B97F528 91F91B6BF91A6AF81E73FD0C3DC0BDC3B6CF9CF137B2D58CFC114CDA80FF06288FFB165CED46 D09BF233ABE070FC124FDE75FD0B38B5D198F42D9CF137B3D58CFC114DDB7EFF062589FD0D3E C2B9CBA5E758E952E268F7227FFF062588FD0B39B8CCA5E954E560F235B0DA80FF06268AFD0D 3FC4B5D196F6278CFC114DDA7FFF052485FE082EA0EE42C9A9E366F72486FE0932A8E461F333 AAE268F8207BFF062589FD0C3DBFC0BDC3B8CCA3EB4DDC7BFF052486FE082FA2EC49D58DFC11 4DDB7DFF052280FF052383FF06268CFC1049D58EFB1457E857E857E856E857E954E462F330A3 EA4FDF73FD0B3ABAC9ABE16CFA1862F331A7E65CEE44CDA2EB4BD885FF072A94F8207CFF0421 7DFF04207AFF052382FF052281FF05227FFF04207AFF052383FF052486FE082C9BF332A9E365 F6278CFC1048D490FB165CEE41C8AEDD77FF06278EFB1354E560F235B0DA81FF041F79FF0523 83FF052281FF041F78FF052486FF072A95F7217EFF031D72FD0B3ABACAAAE366F72484FF0625 89FE0B37B5D394F81E74FE0932A8E561F233ACE06FFC104AD788FE0932A9E464F52A96F72281 FF031E74FE0931A7E65DEF3FC3B7CEA0EF41C7AFDC7BFF031C70FD0D41C8ADDE76FF072993F9 1B6BFA165EF03DBFBFBFC0BEC1BBC7AFDC7BFF031C6FFC0F45CF9DF137B5D393F91D71FD0C3D C0BDC4B7CF9CF235AEDC7AFF031D71FD0C3BBCC7B0DA81FF031B6CFB155AED48D392FA1967F8 217DFF021864F52993F91B6EFC114EDD78FF041E75FF06278EFC114EDD77FF052280FF021865 F6268CFD0D41C8AEDD78FF04207AFF021A69F91C6FFC0F45CF9CF234AEDE75FF06268AFE0A36 B2D788FE082D9DF235B1D982FF021966F72280FF02165EF138B7CF9DF138B7CF9DF137B4D392 FA1863F52A96F72281FF01165DEF3EC3B8CDA2ED46D197F62589FE082EA0EE41C9ACE070FD0D 3EC3B9CBA6E858EA50E06EFC0F46D198F6268BFE0A36B2D788FF072994F91D72FE0A34ADDF73 FE072C9CF332A8E560F234AFDD79FF021862F42C9CF332A9E560F332A9E561F42FA2ED47D393 FA1965F72384FF021864F6258AFE0930A5E953E561F330A4EA4FDF71FE0A34AEDD77FF021A69 FA1965F72485FF031B6CFB1352E366F8217EFF001048D58EFC0F48D491FB155AED48D491FB14 57EA51E16BFB1456E955E75BEE42CAA9E561F430A4EB4DDC7AFF00124FDF72FE072B99F52994 F91C70FE0B37B5D392FA175FF235B1DA82FF00104BD982FF00114EDE75FF041F78FF011457EA 50E06FFD0C3EC2BBC9ACE16CFC1252E366F8207AFF000F46D19AF52A97F8217FFF000C3CBEC2 BBC8AEDE74FF052281FF000D41C8ADDF72FE072C9BF42EA0EF3FC4B6D297F72282FF000D41C8 AEDE74FF041F7AFF000E45CF9EF138B6D297F8217FFF000A34AFDD78FF001251E269FA1862F5 2A95F91D74FF04217DFF000932AAE463F62890FC114CDB7FFF000830A5EA50E06EFD0C3DC2BC C7B0DB7EFF00082D9EF139B9CDA3ED48D490FC104BD984FF000E44CF9FF139B9CCA4EB4DDD79 FF000C3CBFC2BCC7B0DB7FFF00062993FB165EF236B3D68CFE0932A9E560F330A5E952E463F6 268DFE0A36B3D78AFF06258AFF062891FC1250E16DFD0E44CE9FF03BBEC4B7CF9DF235B1DA80 FF0005258AFF052385FF000F46D296F91D73FF031D73FF04207AFF00072B98F72385FF000D41 CAAAE366F81E77FF000F48D58FFD0D41C9ADE070FE072C9BF52C9AF52A97F81F7AFF00062891 FC1251E26AFB1457EA50E16EFD0C3CBFC0BEC2BBCAAAE365F81F78FF00082FA2ED46D199F626 8BFF06278EFD0B3ABACAAAE463F7258AFF04217EFF0000114CDB7EFF0000104AD887FF011457 EA51E269FB165DF13ABBCAABE367FA1A6AFB1355E857EB4EDF73FF031C70FF072A97F81F7AFF 00031A6BFC104AD985FF000A36B2D886FF000E45D09CF42EA0F03EC3BACBA8E65CF03CBFC2BB C8AEDF74FF01155AEE43CDA3ED46D296F91C71FF052589FF021A69FB155BEF3EC4B7D09BF52C 9CF42EA2EE42CAA9E560F42FA3ED47D393FB155BEF3FC6B3D68BFF052282FF00000D3FC5B6D2 96F91C70FF06 pop % End of sampled sound % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{288, 177.938}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg0000GoC0@00 00000`00Om=od`38OmWoC>@004goCB`0000=od`000000A`000GoC0@0000000`00Om<0 001bOm>Y0001Om<100000003001odgoC0;moda800003Om<0000001H000Iodb/0005od`40000000<0 07oCOm<0ogoC7GoC0@00003o000Q00000003001odgoC0?modaeod`40000000<007oCOm<0ogoC57oC 20000GoC0@0000000`00Om=od`3oOm]od`<0009od`06001od`00Om<007oC0P000WoC0`000WoC00D007oCOm<007oC008000Eod`03001o dgoC00H0009od`06001odgoCOm<007oC0@0000000`00Om=od`3YOm<30004Om<3000027oC000007oC 001od`00Om<30006Om<01000Om<007oC0P0000Aod`00Om=od`<000=od`05001odgoCOm<00003Om<1 00000003001odgoC0>Iod`D000Eod`D0009od`8000=od`04001odgoCOm<200000goC001od`03Om<2 0003Om<4000017oC000000000WoC10000GoC0@0000000`00Om=od`3UOm<00`00Om<000020008Om<0 0`00Om<0000400000goC00000002Om<20006Om<01000Om=od`0017oC00D007oC001od`0000Eod`04 001odgoCOm<100000003001odgoC0>=od`L000Qod`05001od`00001od`0200000goC001od`020000 17oC000007oC0P0000Yod`00000007oC001od`00Om<000=od`<00003Om<00000008000=od`400000 00<007oCOm<0ggoC1P0000=od`0000000P0027oC1@000WoC00<007oCOm<00WoC0P0000=od`00Om<0 0WoC00D007oCOm=od`00009od`800007Om<00000001od`00Om<00P0000=od`0000000WoC0@000000 0`00Om=od`3NOm<200000goC000000030002Om<00`00Om=od`0:Om<01@00Om<007oC00002goC0P00 1GoC0P000WoC00<007oCOm<00P0000Mod`00Om<007oC001od`0100000003001odgoC0=]od`T00003 Om<0000000<000Qod`D000=od`800003Om<0000000800004Om<007oC0003Om<00`00Om<000040003 Om<20002Om<2000017oC000007oC0@0000000`00Om=od`3JOm<500000goC001od`02Om<2000017oC 000000002WoC0`0000Aod`00Om<000=od`8000Aod`05001odgoC001od`040002Om<00`00Om=od`02 Om<500000goC001od`0100000003001odgoC0=Qod`D0009od`04001odgoCOm<70009Om<20003Om<3 0002Om<01@00Om<00000Om<00P0000Iod`00001od`00Om<30002Om<00`00Om<0000:Om<100000003 001odgoC0=Eod`03001od`0000H0009od`03001odgoC00@00003Om<007oC00Uod`800006Om<00000 001od`001WoC00<007oCOm<00goC00<007oCOm<01@0000Aod`00001od`800003Om<0000000Aod`40 000000<007oCOm<0dGoC1`0000Aod`00000000Aod`04001od`00Om<300000goC001od`09Om<00`00 Om<00002Om<01000Om=od`000goC00<007oCOm<00P0000=od`0000000WoC0`0000Aod`00001od`P0 00Aod`40000000<007oCOm<0d7oC0`0000Aod`00000000Qod`800006Om<007oC001od`002goC00D0 07oCOm=od`00009od`05001od`00Om<00003Om<00`00Om=od`0>Om<20003Om<00`00Om<00002Om<1 00000003001odgoC0Om<7000017oC000000000WoC00<007oCOm<00`0000=od`00 00000P0000Aod`00Om=od`<000Eod`40000000<007oCOm<0QWoC00<007oCOm<077oC100000Aod`00 Om<000=od`05001odgoCOm<00003Om<00`00Om=od`07Om<2000:Om<00`00Om<00006Om<50002Om<0 1@00Om=od`00Om<00P0047oC00L007oC001od`00Om<00005Om<20002Om<20004Om<00`00Om=od`05 Om<00`00Om=od`02000017oC001odgoC0@0000000`00Om=od`26Om<00`00Om=od`0MOm<70003Om<0 1@00Om=odgoC00000goC0P000WoC0P001goC00<007oCOm<00P001GoC0P0027oC00@007oC001od`@0 00Eod`04001od`000009Om<2000017oC000000000WoC0`0000Qod`00Om=od`00Om<007oC0`0000=o d`00Om<00P000WoC0`0000=od`00Om<00WoC00@007oCOm=od`40000000<007oCOm<0QWoC00<007oC Om<07WoC100000=od`0000000goC00<007oCOm<00WoC00@007oC001od`8000=od`<00007Om<007oC Om<007oC00000WoC00H007oCOm<007oC0004Om<01000Om=od`000WoC00<007oC00000WoC0P0000=o d`0000003WoC00<007oCOm<01@000WoC10000goC0`000WoC00<007oCOm<00WoC00@007oC001od`@0 009od`80009od`40000000<007oCOm<0QWoC00<007oCOm<07GoC00<007oC000010000goC00<007oC Om<01WoC00<007oC00000goC00@007oCOm<000Iod`<000=od`03001odgoC00Qod`03001odgoC00Io d`05001odgoCOm<0000>Om<01000Om<007oC0P000WoC00@007oCOm<000Aod`03001odgoC009od`04 001odgoC000=Om<100000003001odgoC08Iod`03001odgoC01eod`L00003Om<0000000Aod`07001o d`00Om<007oC000017oC00d007oC001od`00Om<007oC001od`00Om<00008Om<2000017oC00000000 17oC00D007oCOm=od`0000=od`03001odgoC00Yod`@00004Om<007oC0002Om<300000goC001od`03 0007Om<00`00Om=od`02Om<01P00Om<007oC001od`<0005od`40000000<007oCOm<0QGoC0P007WoC 1P0000Aod`00Om=od`<000=od`04001od`00Om<50002Om<30002Om<00`00Om=od`040003Om<00`00 Om=od`02Om<20002Om<01@00Om<007oC00000goC00@007oCOm=od`@000aod`<00003Om<007oC00<0 0004Om<007oC0003Om<00`00Om<00002000027oC001odgoC001od`00Om<200000goC00000003Om<0 0`00Om=od`0100000003001odgoC085od`H001iod`05001odgoC001od`0200000goC000000020003 Om<00`00Om=od`05Om<01000Om<0000027oC00@007oC000000=od`03001odgoC009od`04001odgoC 0009Om<00`00Om=od`02000>Om<01000Om=od`001GoC00<007oCOm<00WoC0P0000=od`0000000goC 00<007oCOm<02WoC00<007oCOm<00WoC0@0000000`00Om=od`1hOm<:0004Om<00`00Om=od`0KOm<3 00000goC0000000400000goC00000004Om<200001GoC000007oC00002goC0P0000=od`0000000P00 00=od`0000000WoC0P0000Mod`00000007oC001od`0200001GoC000007oC00000WoC0P0000=od`00 Om<027oC0`000WoC0P001goC00D007oC000007oC008000Eod`03001odgoC009od`<00005Om<00000 Om<00003Om<100000003001odgoC06mod`X000eod`03001odgoC01Yod`<00003Om<0000000800004 Om<007oCOm<20002Om<20002Om<40002Om<200000goC0000000200000goC00000002Om<01P00Om=o d`00Om<000Aod`P000Eod`03001odgoC008000=od`8000Mod`D00007Om<007oCOm<007oC00000WoC 00@007oCOm<0009od`04001odgoCOm<200000goC00000003Om<50002Om<30001Om<100000003001o dgoC06]od`D001Iod`03001odgoC01Yod`04001od`000003Om<50007Om<01P00Om=od`00Om<0009o d`03001odgoC00=od`80009od`03001od`0000=od`03001odgoC00Aod`03001odgoC01Qod`<000=o d`03001odgoC00Iod`04001odgoC0005Om<00`00Om=od`05Om<01@00Om=od`00Om<00P001GoC0@00 00000`00Om=od`1SOm<9000JOm<00`00Om=od`0IOm<200001WoC00000000Om<0009od`@00004Om<0 07oCOm<2000017oC000007oC0`0000=od`00000017oC00<007oCOm<00P000goC00D007oCOm=od`00 009od`03001odgoC008000Eod`06001odgoC001od`000WoC0P0000=od`00Om<01WoC0`0000=od`00 000017oC00<007oCOm<00`000goC0P000WoC0P0017oC00<007oC00000P0000=od`00Om<00P0000Eo d`00000007oC0040000000<007oCOm<0FgoC2@008WoC00<007oCOm<067oC0P0000Aod`00000000Ao d`800004Om<000000002Om<01000Om<007oC0P0017oC00P007oC000007oC001od`000WoC00<007oC Om<00`001GoC00L007oCOm<007oC001od`0200001WoC001od`00Om<000=od`06001odgoC001od`00 1WoC2@0000Aod`00000000=od`0<001od`00Om<007oC001od`00Om<007oC0P000goC0P000WoC00<0 07oCOm<017oC0@0000000`00Om=od`1GOm<5000ZOm<00`00Om=od`0HOm<300000goC001od`020003 Om<00`00Om<00004Om<20002Om<00`00Om<00005Om<20002Om<00`00Om=od`0Om<00`00Om=od`02Om<0 0`00Om=od`05Om<00`00Om=od`03Om<20002Om<01000Om<007oC0P000goC0P002WoC00<007oCOm<0 1goC00D007oC001od`0000=od`04001od`000002Om<20003Om<200001GoC001odgoC00000WoC0@00 0GoC0@0000000`00Om=od`0=Om<4002DOm<400000goC00000003Om<00`00Om=od`02Om<00`00Om=o d`0200000goC0000000200000goC001od`02Om<00`00Om=od`02Om<01000Om=od`000goC00@007oC Om=od`<00005Om<00000001od`0500000goC00000003000017oC0000000027oC0P0000=od`00Om<0 0`0017oC1@000WoC00<007oC00000P001GoC0P000WoC00@007oC000000Eod`40000000<007oCOm<0 2WoC1000VGoC1P0027oC00<007oCOm<00goC0P0000Aod`00001od`800004Om<00000Om<3000017oC 000007oC0P001GoC0P000WoC1P0000=od`0000000P0000Aod`00000000mod`05001od`00Om<00005 Om<01@00Om<007oC00000WoC0P0000=od`00Om<00P000WoC00@007oC001od`800005Om<00000001o d`0100000003001odgoC00Uod`8009eod`<0009od`04001odgoC0003Om<01000Om=odgoC0P001GoC 0P000WoC00@007oCOm<000Iod`03001odgoC00]od`8000Eod`03001odgoC0080009od`03001odgoC 00Iod`05001odgoCOm<00002Om<00`00Om=od`02Om<00`00Om=od`04Om<300001goC001odgoC001o d`0000Aod`03001odgoC009od`04001odgoCOm<100000003001odgoC00Mod`<00:1od`<00005Om<0 0000Om<00004Om<01000Om<000000goC00@007oC001od`80009od`03001od`00009od`8000Aod`03 001od`0000800004Om<007oCOm<60003Om<01000Om=od`000WoC00<007oCOm<027oC1@001GoC0`00 00=od`0000000P001goC0P001goC00@007oCOm<000=od`40000000<007oCOm<01WoC0P00XgoC1P00 0goC00D007oC000007oC00@000=od`03001od`00009od`03001odgoC00@0009od`03001od`0000Ao d`@00003Om<0000000P00004Om<007oCOm<20009Om<00`00Om<00003Om<20003Om<01000Om=odgoC 100000Mod`00000007oC001od`0200000goC0000000300000goC001od`030001Om<100000003001o dgoC00Iod`03001odgoC0:Aod`04001od`000004Om<00`00Om<00002Om<00`00Om=od`02Om<01@00 Om=odgoC00000WoC00L007oCOm<007oC001od`0200000goC001od`03Om<00`00Om=od`020006Om<2 0006Om<00`00Om=od`09Om<00`00Om=od`04Om<00`00Om=od`030003Om<2000;Om<30003Om<00`00 Om=od`02Om<100000003001odgoC00Iod`03001odgoC0:Aod`<000=od`800003Om<0000000H000=o d`03001odgoC00Aod`800003Om<007oC009od`03001odgoC00Eod`T00003Om<0000000<00004Om<0 0000000:Om<00`00Om<00003Om<01000Om=odgoC0P000goC0P000goC00<007oC00000`0027oC0P00 17oC0@0000000`00Om=od`06Om<00`00Om=od`2VOm<20002Om<00`00Om<00002Om<30002Om<50000 1GoC00000000Om<0100017oC00<007oCOm<00WoC0P000WoC0P0000=od`0000000P0000Eod`00Om<0 07oC00D000Yod`<00003Om<0000000=od`03001od`0000Uod`800005Om<007oCOm<00002Om<00`00 Om<00002Om<01000Om=od`000WoC0@0000000`00Om=od`06Om<00`00Om=od`2WOm<01000Om=od`00 0goC00L007oCOm=od`00Om<00007Om<00`00Om=od`020002Om<00`00Om=od`020003Om<200000goC 000000030003Om<20003Om<300000goC0000000:Om<20002Om<3000017oC000000000WoC00@007oC 0000009od`04001od`00Om<20002Om<01000Om=odgoC0P000goC00@007oC001od`40000000<007oC Om<01GoC0P00ZWoC1@0000=od`00Om<00`0000Aod`00Om=od`D00003Om<00000009od`<00004Om<0 07oC0002Om<500001GoC000007oC00000goC0P0000Aod`00Om=od`<000eod`<000Aod`05001od`00 001od`0200000goC0000000200000goC0000000200000goC001od`03Om<200001WoC001odgoC001o d`40000000<007oCOm<01GoC00<007oCOm<0ZWoC0`000goC00<007oC00000P0000Aod`00Om<000=o d`D000Aod`<00005Om<00000001od`0300000goC00000002Om<01@00Om<00000Om<01@0000=od`00 Om<02GoC0P000goC0P000WoC00@007oCOm=od`800003Om<007oC00H00004Om<007oC0004Om<20000 0goC00000004Om<100000003001odgoC00Eod`03001odgoC0:]od`<00005Om<007oCOm<00002Om<2 0003Om<300000goC00000003Om<400000goC000000020003Om<01@00Om<007oC00000WoC00D007oC 001od`00009od`8000mod`05001odgoCOm<00002Om<00`00Om<00006Om<01@00Om<007oC000017oC 00<007oC00002WoC0@0000000`00Om=od`05Om<00`00Om=od`2/Om<50002Om<2000017oC000007oC 1`000WoC10000WoC2@0000=od`0000000goC100000=od`00000010002WoC00@007oCOm<000Iod`03 001od`0000=od`@0009od`D00004Om<00000Om<300000goC001od`020001Om<100000003001od`00 00H00:mod`80009od`800003Om<0000000@00003Om<0000000@000=od`D00003Om<0000000@00003 Om<007oC009od`@00004Om<00000Om<300000goC001od`09Om<300000goC001od`0200000goC0000 0003Om<00`00Om=od`0200000goC00000002Om<50005Om<01000Om<000000WoC0@0000000`00Om=o d`05Om<00`00Om=od`2_Om<200000goC001od`02Om<01@00Om=odgoC00000WoC0`000WoC00<007oC 000010001GoC00<007oCOm<00P0000=od`00Om<00goC1@0037oC0P0027oC0P0017oC00<007oCOm<0 37oC00D007oC001od`0000Iod`40000000<007oCOm<01GoC00<007oCOm<0[goC0P000WoC00<007oC 00000P000WoC0P0000Eod`00Om=od`00009od`D0009od`800005Om<00000Om<00002Om<20002Om<0 0`00Om=od`020002Om<3000=Om<01@00Om<00000Om<00P000WoC00<007oC00000`0000Iod`000000 07oC0005Om<700000goC00000002Om<100000003001odgoC00Eod`03001odgoC0;5od`<00003Om<0 07oC00h00003Om<007oC00=od`X00003Om<007oC00800003Om<00000009od`8000Uod`800006Om<0 0000001od`000goC0P000WoC00<007oCOm<0100000Eod`00Om<007oC00800007Om<00000001od`00 Om<00P0017oC0@0000000`00Om=od`05Om<2002cOm<00`00Om=od`04Om<00`00Om=od`05Om<30000 1goC000007oC001od`0000=od`03001odgoC00<00004Om<00000Om<20005Om<00`00Om=od`09Om<0 0`00Om<00003Om<40002Om<00`00Om=od`0@Om<01P00Om=od`00Om<000Aod`40000000<007oCOm<0 1WoC00<007oCOm<0/WoC00<007oC00001GoC2P0000Aod`00000000=od`800003Om<007oC00@00004 Om<00000Om<30002Om<00`00Om=od`0>Om<30002Om<00`00Om<0000200000goC001od`0200001GoC 001od`00Om<010000goC0P000goC00D007oC000007oC0040000000<007oCOm<01WoC00<007oCOm<0 /goC3@000WoC1P000WoC100000=od`00Om<00WoC00<007oC00000P0000=od`0000000goC0`002GoC 00@007oC001od`<000=od`8000=od`05001odgoC001od`030002Om<300001goC000007oC001od`00 00Iod`40000000<007oCOm<01WoC00<007oCOm<0]7oC00<007oCOm<01P000WoC00@007oC001od`D0 009od`8000=od`8000Aod`<0009od`04001odgoC000@Om<00`00Om=od`0:Om<20003Om<01@00Om=o dgoC000027oC00H007oCOm=od`00Om<100000003001odgoC00Iod`800;Eod`P00003Om<0000000T0 0003Om<0000000<00004Om<00000Om<20002Om<300000goC00000003000Om<5002VOm<300001GoC001od`00Om<040000WoC100000=od`00Om<00`000WoC00@007oC 001od`80009od`03001odgoC00Uod`<00003Om<00000008000Iod`03001odgoC00=od`04001od`00 0003Om<01000Om=od`000goC00<007oC00000P000WoC0@0000000`00Om=od`0BOm<3002SOm<40000 0goC001od`050005Om<01`00Om=odgoC001od`0000Aod`03001odgoC00Eod`04001od`000003Om<0 1@00Om<007oC00002WoC00<007oC000017oC00<007oC00002GoC00D007oC001od`0000=od`80009o d`03001odgoC00Aod`04001odgoCOm<100000003001odgoC01Aod`D009aod`L00003Om<0000000/0 0003Om<0000000=od`03001od`0000D00003Om<0000000800003Om<0000000<000=od`8000]od`03 001od`0000D0009od`80009od`<00004Om<000000002Om<00`00Om=od`020002Om<01000Om=odgoC 1@000WoC0@0000000`00Om=od`0HOm<6002EOmOm<30002Om<20002Om<2000017oC000007oC0P000WoC00<007oCOm<00P0000Eod`00Om<0 07oC00@00003Om<00000009od`40000000<007oCOm<0RgoC2`0027oC50000WoC0P000WoC0P000WoC 0P0000Aod`00Om=od`800004Om<007oCOm<400000goC000000020004Om<00`00Om<0000400000goC 00000003000017oC000007oC10002GoC0P000WoC0P0000=od`0000001P0000=od`0000000P0000=o d`0000000P000WoC0P0017oC1P000WoC0@0000000`00Om=od`2EOm<70002Om<900000goC00000005 0002Om<02000Om=od`00Om<007oC0002Om<9000017oC001odgoC10000WoC00<007oC000017oC00<0 07oC00001@0000=od`0000000WoC100000Aod`00000000Uod`@0009od`06001od`00Om<007oC0P00 00=od`00Om<01@000goC0`0000=od`00Om<00WoC0P000WoC0P000WoC0@0000000`00Om=od`2KOm0002Om<6000017oC000007oC0`00 00Eod`00001od`00009od`05001od`00001od`0200000goC001od`020002Om<100000003001odgoC 0?1oda400004Om<00000Om"], ImageRangeCache->{{{0, 287}, {176.938, 0}} -> {-0.0263022, -0.0250052, 0.00366761, 0.00593432}}, ImageSoundCache->{{{0, 287}, {176.938, 0}} -> GraphicsData[ "MacintoshSound", "\<\ 00400@050000X001P540000001@00000001m0PO@000000000000000lZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZjZ[ZZ^Z ZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^Z ZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^Z ZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ[ZZ^ZZjZ/ZZbY[:V/ZJbY[:V/ZJbY[:V/ZJbY [:V/ZJbY[:V/ZJfY[JR]Z:fX[JR]Z:fX[JR]Z:fX[ZN^YjjW[ZN^YjjW[jJ_YZnV [jJ_YZnU/:F`YK2U/:BaY;6T/JBaXk6S/Z>bXk:R/Z:cX[>Q/j6cXKBP]:2dX;BP ]IneWkFO]IneW[JN]YjfW[JN]YffWKJM]ifgWKNM]ibgW;NL]ibgW;NL]ibgW;NL ]ibhW;RL^9bhVkRK^9^hVkRK^9^hVkRK^9^hVkRK^9^hVkRK^9^hVkRK^9^hVkRK ^9^hVkRK^9^hVkRK^9^hVkRK^9^hVkRK^9^hVkRK^9^hVkRK^9^hVkRK^9ZhV[VJ ^IZiV[VJ^IZiV[VJ^IZiV[VJ^IZiV[VJ^IZiV[VJ^IZiV[VJ^IZiV[VJ^IZiV[VJ ^IZiV[VJ^IZiV[VJ^IZiV[VJ^IZiV[VJ^IZiV[VJ^IZiV[VJ^IZiV[VJ^IZiV[VJ ^IZiV[VJ^IZiV[VJ^IZiV[VJ^IZiVKVI^IViVKVI^IViVKVI^IViVKZI^YVjVKZI ^YVjVKZI^YVjVKZI^YVjVKZI^YVjVKZI^YVjVKZI^YVjVKZI^YVjVKZI^YVjVKZI ^YVjVKZI^YVjVKZI^YVjVKZI^YVjVKZI^YVjVKZI^YVjVKZI^YVjVKZI^YVjVKZI ^YVjVKZI^YRjV;ZH^YRjV;ZH^YRjV;ZH^YRjV;ZH^YRjV;ZH^YRjV;ZH^YRjV;^H ^iRkV;^H^iRkV;^H^iRkV;^H^iRkV;^H^iRkV;^H^iRkV;^H^iRkV;^H^iRkV;^H ^iRkV;^H^iRkV;^H^iRkV;^H^iRkV;^H^iRkV;^H^iRkV;^H^iRkV;^H^iRkV;^H ^iNkUk^G^iNkUk^G^iNkUk^G^iNkUk^G^iNkUk^G^iNkUk^G^iNkUk^G^iNkUk^G ^iNkUk^G^iNkUk^G^iNkUkbG_9NlUkbG_9NlUkbG_9NlUkbG_9NlUkbG_9NlUkbG _9NlUkbG_9NlUkbG_9NlUkbG_9NlUkbG_9NlUkbG_9NlUkbG_9NlUkbG_9NlUkbG _9NlU[bF_9JlU[bF_9JlU[bF_9JlU[bF_9JlU[bF_9JlU[bF_9JlU[bF_9JlU[bF _9JlU[bF_9JlU[bF_9JlU[bF_9JlU[bF_9JlU[bF_9JlU[bF_9JlU[bF_9JlU[fF _IJmU[fF_IJmU[fF_IJmU[fF_IJmU[fF_IJmU[fF_IJmU[fF_IJmU[fF_IJmU[fF _IJmU[fF_IJmU[fE_IFmUKfE_IFmUKfE_IFmUKfE_IFmUKfE_IFmUKfE_IFmUKfE _IFmUKfE_IFmUKfE_IFmUKfE_IFmUKfE_IFmUKfE_IFmUKfE_IFmUKfE_IFmUKfE _IFmUKfE_IFmUKfE_IFmUKfE_IFmUKfE_IFmUKfE_IFmUKfE_IFnUKjE_YFnUKjE _YFnUKjE_YFnUKjE_YFnUKjE_YFnUKjE_YFnUKjD_YBnU;jD_YBnU;jD_YBnU;jD _YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD _YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD _YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBnU;jD_YBoU;nD _iBoU;nC_i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC _i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC _i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC _i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC_i>oTknC_i:oT[nB_i:oT[nB _i:oT[nB_i:oT[nB_i;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B `9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B `9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B `9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`9;0T/2B`970TL2A`970TL2A`970TL2A `970TL2A`970TL2A`970TL2A`970TL2A`970TL2A`970TL2A`970TL2A`971TL6A `I71TL6A`I71TL6A`I71TL6A`I71TL6A`I71TL6A`I71TL6A`I71TL6A`I71TL6A `I71TL6A`I71TL6A`I71TL6A`I71TL6A`I71TL6A`I71TL6A`I71TL6A`I71TL6A `I71TL6A`I71TL6A`I71TL6A`I71TL6A`I71TL6A`I31T<6@`I31T<6@`I31T<6@ `I31T<6@`I31T<6@`I31T<6@`I31T<6@`I31T<6@`I31T<6@`I31T<6@`I31T<6@ `I31T<6@`I31T<6@`I31T<6@`I31T<6@`I31T<6@`I31T<6@`I31T<:@`Y32T<:@ `Y32T<:@`Y32T<:@`Y32T<:@`Y32T<:@`Y32T<:@`Y32T<:@`Y32T<:@`Y32T<:@ `Y32T<:@`Y32T<:@`Y32T<:@`Y32T<:@`Y32T<:@`Y32T<:@`Xo2Sl:?`Xo2Sl:? `Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:? `Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:? `Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:?`Xo2Sl:? `ho3Sl>?`ho3Sl>?`ho3Sl>?`ho3Sl>?`ho3Sl>?`ho3Sl>?`ho3Sl>?`ho3Sl>? `ho3Sl>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>> `hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>> `hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>> `hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>> `hk3S/>>`hk3S/>>`hk3S/>>`hk3S/>>a8k4S/B=a8g4SLB=a8g4SLB=a8g4SLB= a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB= a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB= a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB= a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB=a8g4SLB= a8g4SLB=a8g4SLB=a8c4SPLj1cX7>PLj1 cX7>PLj1cX7>PLj1cX7>PLj1cX7>PLj0cX3>PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOliocWo>OliocWo>OliocWo>OliocWo>Olio cWo>OliocWo>OliocWo>OliocWo>OliocWo>OliocWo>OliocWo>OliocWo>Olio cWo>OliocWo>Oliocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmo cgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmo cgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmo cgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmo cgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmocgo?Olmo cgo?Olmocgo?Olmocgo?Olmocgo?Olmocgk?O/mncgk?O/mncgk?O/mncgk?O/mn cgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mn cgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mn cgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mn cgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mncgk?O/mn cgk?O/mncgk@O]1nd7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1n d7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1n d7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1nd7k@O]1md7g@OM1m d7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1m d7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1m d7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1m d7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1m d7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1m d7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1m d7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1md7g@OM1m d7g@OM1md7g@OM1md7g@OM1ld7c@O=1ld7cAO=5ldGcAO=5ldGcAO=5ldGcAO=5l dGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5l dGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5l dGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5l dGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5l dGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5l dGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5l dGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5ldGcAO=5l dGcANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5k dG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5k dG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5kdG_ANm5k dG_ANm5kdG_ANm5kdG_ANm5kdG_ANm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9k dW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9k dW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9k dW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9k dW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9kdW_BNm9j dW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9j dW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9j dW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9j dW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9j dW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9j dW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9j dW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdW[BN]9jdg[CN]=j dg[CN]=jdg[CN]=jdg[CN]=jdg[CN]=jdg[CN]=jdg[CN]=jdg[CN]=jdg[CN]=j dg[CNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=i dgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=i dgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=i dgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=i dgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=i dgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=i dgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=i dgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=idgWCNM=i dgWCNM=idgWCNM=idgWCNM=idgSCN==hdgSCN==hdgSCN==hdgSCN==hdgSCN==h dgSCN==hdgSCN==hdgSCN==hdgSCN==hdgSCN==hdgSCN==hdgSCN==hdgSCN==h dgSCN==hdgSCN==hdgSCN==hdgSCN==hdgSCN==hdgSCN==hdgSCN=Ahe7SDN=Ah e7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ah e7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ah e7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ah e7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ah e7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ah e7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDN=Ahe7SDMmAg e7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAg e7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAg e7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAg e7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAg e7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAg e7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAge7ODMmAg e7ODMmAge7ODMmAge7ODMmAgeGOEMmEgeGOEMmEgeGOEMmEgeGOEMmEgeGOEMmEg eGOEMmEgeGOEMmEgeGOEMmEgeGOEMmEgeGOEMmEgeGOEMmEgeGOEMmEgeGOEMmEg eGOEMmEgeGOEMmEgeGOEMmEgeGOEMmEgeGOEMmEgeGOEM]EfeGKEM]EfeGKEM]Ef eGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]Ef eGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]Ef eGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]Ef eGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]Ef eGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]Ef eGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]Ef eGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]Ef eGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]Ef eGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGKEM]EfeGGEMMEeeGGEMMEeeGGEMMEe eGGEMMEeeGGEMMEeeGGEMMEeeGGEMMEeeGGEMMEeeGGEMMEeeGGEMMEeeGGEMMEe eGGEMMEeeGGEMMEeeGGEMMEeeGGEMMEeeGGFMMIeeWGFMMIeeWGFMMIeeWGFMMIe eWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIe eWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIe eWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIe eWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIe eWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIe eWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIe eWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFMMIeeWGFM=IdeWCFM=Id eWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=Id eWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=Id eWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=Id eWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=Id eWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=Id eWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=IdeWCFM=Id eWCFM=IdeWCFM=IdeWCFM=MdegCGM=MdegCGM=MdegCGM=MdegCGM=MdegCGM=Md egCGM=MdegCGM=MdegCGM=MdegCGM=MdegCGM=MdegCGM=MdegCGM=MdegCGM=Md egCGM=MdegCGM=MdegCGM=MdegCGM=MdegCGM=MdegCGM=MdegCGM=MdegCGM=Md egCGM=MdegCGM=Mceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMc eg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMc eg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMc eg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMc eg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMc eg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMc eg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMc eg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMc eg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMc eg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg?GLmMceg;GL]Mb eg;GL]Mbeg;GL]Mbeg;GL]Mbeg;GL]Mbeg;GL]Mbeg;GL]Mbeg;GL]Mbeg;GL]Mb eg;GL]Mbeg;GL]Mbeg;GL]Mbeg;GL]Mbeg;GL]Mbeg;GL]Mbeg;HL]Qbf7;HL]Qb f7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qb f7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qb f7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qb f7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qb f7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qb f7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qb f7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qb f7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf7;HL]Qbf77HLMQaf77HLMQa f77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQa f77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQa f77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQa f77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQa f77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQa f77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQa f77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQaf77HLMQa fG7ILMUafG7ILMUafG7ILMUafG7ILMUafG7ILMUafG7ILMUafG7ILMUafG7ILMUa fG7ILMUafG7ILMUafG7ILMUafG7ILMUafG7ILMUafG7ILMUafG7ILMUafG7ILMUa fG7ILMUafG7ILMUafG7ILMUafG7ILMUafG7ILMUafG7ILMUafG7ILMUafG3IL=U` fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U` fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U` fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U` fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U` fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U` fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U` fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U` fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U` fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U` fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U`fG3IL=U` fG3IL=U`fG3IL=U_fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_ fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_ fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmU_fFoIKmY_ fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_ fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_ fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_ fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_ fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_ fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_ fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_ fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY_fVoJKmY^fVkJK]Y^ fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^ fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^ fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^ fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^ fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^ fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^ fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^ fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^ fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkJK]Y^fVkKK]]^ffkKK]]^ffkKK]]^ ffkKK]]^ffkKK]]^ffkKK]]^ffkKK]]^ffkKK]]^ffkKK]]^ffkKK]]^ffkKK]]^ ffkKK]]^ffkKK]]^ffkKK]]^ffkKK]]^ffkKK]]^ffkKK]]]ffgKKM]]ffgKKM]] ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]] ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]] ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]] ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]] ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]] ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]] ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]] ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]] ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]] ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]]ffgKKM]] ffcKKM]/ffgKK=]]ffcKKM]/ffgKK=]]ffcKKM]/ffgKK=]]g6cKKMa/ffgLJm]^ g6_KK]a[fVoLJ]Y_g6[JL=eYfG7MJ=UbgVOHM=iVf7GNIMMggfCFN=mSeWWOHmIj gf?FN]mSeW[OHmIjgf?EN]mSeG[OH]Ejgf;EN]mReG[OH]Ejgf;ENmmReG_OH]Ek gf;ENmmReG_OH]Ekgf;ENmmReG_OH]Ekgf;ENmmReG_OH]Ekgf;ENmmReG_OH]Ek gf;ENmmReG_OH]Ekgf;ENn1ReG_PH]Ekh6;ENn1ReG_PH]Ekh6;ENn1ReG_PH]Ek h6;ENn1ReG_PH]Ekh6;ENn1ReG_PH]Ekh6;ENn1ReG_PH]Ekh6;ENn1ReG_PH]Ek h67EO>1QeGcPHMElh67EO>1QeGcPHMElh67EO>1QeGcPHMElh67EO>1QeGcPHMEl h67EO>1QeGcPHMElh67EO>1QeGcPHMElh67EO>1QeGcPHMElh67EO>1QeGcPHMEl h67EO>1QeGcPHMElh67EO>1QeGcPHMElh67EO>1QeGcPHMElh67EO>1QeGcPHMEl h67EO>1QeGcPHMElh67EO>1QeGcPHMElh67EO>1QeGgPHMEmh67EON1QeGgPHMEm h63EON1PeGgPH=Emh63EON1PeGgPH=Emh63EON1PeGgPH=Emh63EON1PeGgPH=Em h63EON1PeGgPH=Emh63EON1PeGgPH=Emh63EON1PeGgPH=Emh63EON1PeGgPH=Em h63EON1Pe7gPH=Amh63DON1Pe7gPH=Amh63DON1Pe7gPH=Amh63DON1Pe7gPH=Am h63DON1Pe7gPH=AmhF3DON5Pe7gQH=AnhF3DO^5Pe7kQH=AnhF3DO^5Pe7kQH=An hF3DO^5Pe7kQH=AnhF3DO^5Pe7kQGmAnhEoDO^5Oe7kQGmAnhEoDO^5Oe7kQGmAn hEoDO^5Oe7kQGmAnhEoDO^5Oe7kQGmAnhEoDO^5Oe7kQGmAnhEoDO^5Oe7kQGmAn hEoDO^5Oe7kQGmAnhEoDO^5Oe7kQGmAnhEoDO^5Oe7kQGmAnhEoDO^5Oe7kQGmAn hEoDO^5Oe7kQGmAnhEoDO^5Oe7kQGmAnhEoDOn5Oe7oQGmAohEoDOn5Oe7oQGmAo hEoDOn5Oe7oQGmAohEoDOn5Oe7oQGmAohEoDOn5Oe7oQGmAohEoDOn5Oe7oQGmAo hEoDOn5Oe7oQG]AohEkDOn5Ne7oQG]AohEkDOn5Ne7oQG]AohEkDOn5Ne7oQG]Ao hEkDOn5Ne7oQG]AohEkDOn5Ne7oQG]AohEkDOn5Ne7oQG]AohEkDOn5Ne7oQG]Ao hEkDOn5Ne7oQG]AohEkDOn5Ne7oQG]AohEkDOn5Ne7oQG]AohEkDOn5Ne83QG]B0 hEkDP>5Ne83QG]B0hEkDP>5Ne83QG]B0hEkDP>5Ne83QG]B0hEkDP>5Ne83QG]B0 hEkDP>5Ne83QG]B0hEkDP>5Ne83QG]B0hEkDP>5Ne83QG]B0hEkDP>9Ne83RG]B0 hUkDP>9Ne83RG]B0hUgDP>9Me83RGMB0hUgDP>9Me83RGMB0hUgDP>9Mdh3RGM>0 hUgCP>9Mdh3RGM>0hUgCP>9Mdh3RGM>0hUgCP>9Mdh3RGM>0hUgCP>9Mdh3RGM>0 hUgCP>9Mdh3RGM>0hUgCP>9Mdh3RGM>1hUgCPN9Mdh7RGM>1hUgCPN9Mdh7RGM>1 hUgCPN9Mdh7RGM>1hUgCPN9Mdh7RGM>1hUgCPN9Mdh7RGM>1hUgCPN9Mdh7RGM>1 hUgCPN9Mdh7RGM>1hUgCPN9Mdh7RGM>1hUgCPN9Mdh7RGM>1hUgCPN9Mdh7RGM>1 hUgCPN9Mdh7RGM>1hUgCPN9Mdh7RGM>1hUgCPN9Mdh7RGM>1hUcCPN9Ldh7RG=>1 hUcCPN9Ldh7RG=>1hUcCPN9Ldh7RG=>1hUcCPN9Ldh7RG=>1hUcCPN9Ldh7RG=>1 hUcCPN9Ldh7RG=>1hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2 hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2 hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2 hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2 hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RG=>2hUcCP^9Ldh;RFm>2hU_CP^9Kdh;RFm>2 hU_CP^=Kdh;SFm>2he_CP^=Kdh;SFm>3he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3 he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3 he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3 he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3 he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3he_CPn=Kdh?SFm>3 he_BPn=KdX?SFm:3he_BPn=KdX?SFm:3he_BPn=KdX?SFm:3he_BQ>=KdXCSFm:4 he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4 he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4 he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4 he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4 he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:4 he[BQ>=JdXCSF]:4he[BQ>=JdXCSF]:5he[BQN=JdXGSF]:5he[BQN=JdXGSF]:5 he[BQN=JdXGSF]:5he[BQN=JdXGSF]:5he[BQN=JdXGSF]:5heWBQN=IdXGSFM:5 heWBQN=IdXGSFM:5heWBQN=IdXGSFM:5heWBQN=IdXGSFM:5heWBQN=IdXGSFM:5 heWBQN=IdXGSFM:5i5WBQNAIdXGTFM:5i5WBQNAIdXGTFM:5i5WBQNAIdXGTFM:5 i5WBQNAIdXGTFM:5i5WBQNAIdXGTFM:5i5WBQNAIdXGTFM:5i5WBQNAIdXGTFM:5 i5WBQNAIdXGTFM:5i5WBQNAIdXGTFM:5i5WBQNAIdXGTFM:5i5WBQNAIdXGTFM:5 i5WBQNAIdXGTFM:5i5WBQ^AIdXKTFM:6i5WBQ^AIdXKTFM:6i5WBQ^AIdXKTFM:6 i5WBQ^AIdXKTFM:6i5WBQ^AIdXKTFM:6i5WBQ^AIdXKTFM:6i5WBQ^AIdXKTFM:6 i5WBQ^AIdXKTFM:6i5WBQ^AIdXKTFM:6i5WBQ^AIdXKTFM:6i5WBQ^AIdXKTF=:6 i5SBQ^AHdXKTF=:6i5SBQ^AHdXKTF=:6i5SBQ^AHdXKTF=:6i5SBQ^AHdXKTF=:6 i5SBQ^AHdXKTF=:6i5SBQ^AHdXKTF=:6i5SBQ^AHdXKTF=:6i5SBQ^AHdXKTF=:6 i5SBQ^AHdHOTF=:6i5SAQnAIdXGTEm68i5WCQ>EGd8WSF]B1iEK?S>9LeWgUELn= hUgGNnEFchcRGMIliEG?SN9Meg_UE/nEEchgRGMMkiEK?S>9MeWcUELn= hUgGN^EFchcRG=IliEG?SN9Neg[UE/n=LeWgUELj> hUkGNNEFchcSG=EniEG>S^9Nf7WUE/n;he_EO^EEcXkRG]QhiEK@Rn=KeGoUELj> hUkHN>EFd8_SFmEoiEG>S^9Nf7SUE]2;he_EOnEEcXkRG]QhiEK@Rn=KeGoUELj> hUkHN>EFd8_SFmF0iEC>S^9Nf7SUE]2;he_EP>EDcXoRGmQgiEK@Rn=KeH3UESn9Of7OUE]2;he[DPNEDcXoRG]QhiEK?S>=KeGoVE4iEG?S>=KeGkVE hUkHNNEEchkRGMMkiUC>Sn9Of7OUE]2;he[EP>IDcY3QGmUeiEOARNAHdXKUE]2; i5WDP^IDcXoRG]QgiEG?SN=KeWkVDlfAhF3JLnAHdXKUE]2;i5[DPNIDcY3RGmUf iEK@RnAIe8;VE4iUC?S^=Leg_VDlf@ hF3JM>EGdHSUEm69iEOBQnEFd8[TF=>5iEG?SN=LeWcVDlfAhF7KL^AIdhCVEAJe87VDlfAhF7KLNAIdhCVEIDcXoRGMMiiU?=T>9OfGGUE]2:i5SCQ>IDcXoRGMQiiU?>T>9OfGKUELn< i5[EP>IBcI;QH]]`i5[EP>IBc9?QH]a^hecFO>IBc9?PH]a^hecGO>IBc9?QH]a_ he_FO^IBc9?PHme]hUgHN>ICcY3RGmUfiUG?SN=JeGoVD/bDh6?MK>9Nf7OVE5iU?>T>9NfGOVDlj? hUgHNNICcI;QH=YbiEOBR>EEd8_TF=>3iU;=T^5Pfg;UEm:6iUC?S^=LegcWD/bD h6CNJ^9PfW?UE]68iEG@R^EGdXKVEhe_FO>MAc9GPIMiYhF;LK^=KeWgWDL^E gfGNJ>1SgF_RG]UfiUC>S^=KegcWDL^Eh6GNJ>1SgFcSGMQhiU;=T^5Qfg3TF=>4 iU;=T^5Qfg7UF=>5iU?=TN9OfWCVEMAbiKOIMmWh6CNJN5Qg73TFMB2 ie71TgV_RGmYdiUG@S>AHe8?WDLbDh6?MJn9NfGOVD/fAhUoJM>IDchgTFMF1 ie7;U]mVgfKOI]mVgfOPIMiXhF;LKN=KeWgWD<^GgfSPHme[hegIMnMBcI?QHM]` iEOCQNMBcI?QHM]`iESCQ>MBc9CQH]a]i5[FONM@bYSNJN5Qg6oTFMB2ie3;U]mV h6GOJ>1SgF_SGMUgie;5Qg6kTFMF0ie3:V=iYhF3KL>EGdhGWD/fChV3KLNEF dXOVDlj@hecHNNM@biKOI]mVh6GOIn1TgVWQH=]`iEOBQ^MBcI;RGmYciUC?SNAH e8?WD<^GgfKPIMmXhF;MK>=Leg[WDMAbiGPI=iXhF7LKnAH e8;WD=Lf7[WDICchoTF]In j4o9V]e]i5_GO>Q?bI[MK>=Keg_XClZJgF_SG=Qhie3;UmmWh6?NJN9Ofg;VE=2< iEKBQnMBcI;RG]Ueie;=Tn9Ofg;VE=2;iEGARNICchkTFMF0j4o9Vme]i5[FOnQ> bI_LK^EHe8;XClZIgV[SGMUfie75QgFgTFMF0j4k9Vma^iESDPnQ?bYWNJ^=M fGKWD<^Fh6COJ>5Qg6kUF=B3j4o:VMi[hegIMnM@biOPI^1UgfKPHmiYhUoKL^IC chkUF=B3j4o9V]e/i5[GO>Q>b9cLL>EEdXSWD/jAhecHN>Q?bYWNJ^=MfGKWDbIcLKnEFdhGWD<^GgfKPI=mXhV3LKnEGdhGXClZH gfOQHMe]i5WEOnQ=b9gKL^ICchoTFMIoj4g8W]]cie;>T>AJegcXCLRMfg;VDln? i5WEP>Q=b9kKLnMBcY3TF]Mlj4g8W]]cie;>TN=Lf7SXC/VKgFgUF=F1j4g8WM]b iU??SnEHeH7XCLRNfg?WD/jBhecIN>Q>bI_MKNEHeH7XCLRNfW?WDLfChekJLnMA cI?RG]]bie;>T>AIeWkYCTNAKf7[XCLRNfg;WD/jA i5_HN^Q=b9kKLnMAcI;SG=Ugj4k9Vme]iEODP^U=b9kJLnMAc9CRGma_iUCAR^MB cY7TF]MkjDc7X=Ufj4k:V]iZi5_HNNU=b9kJM>M@c9GQHMe/iESEP>UQ= b9gKLNICchkUE]>5j4k9Vme/iESEP>UQ=b9gLL>ICchkVEM:8j4o;V>1UhF?OJ>9Og73WDln>iEKCQ^Q>bI_NJnAI eWkYBlJRegcYBlJRegcYBlJReg_YBlJRf7_YCU;aZ?GONU;aJ?FO^U;aJ?FOnU; aJ?FOnU;aJCFOnU;aJCFOnU;aJCFOnU;aJCFOnU;aJCFOnU;aJCFOnU;aJCFP>U; aJCFP>U;aJCFP>U;aJCFP>U;aJCEP>U;aJCEP>U:aJCEP>U:aJCEP>U:aJCEP>U: aJCEP>U:aJCEP>U:aJCEP>U:aJCEPNU:aJCEPNU:aJCEPNU:aJCEPNU:aJCEPNU: aJCEPNU:aJGEPNU:aJCEPNU:aJGEPNU:aJCEPNY:aJGEP^U:aJCFOnY:a:KDQ>U; aZ;HN^U:aJGEPNY:a:GDPnU:aJCFOnY:a:KCQNUU;aZ?GONY: a:KCQ^U7jDg8W]a` ie7>T^EIeggZBL>WdXSYCLVLgFgVEM:7jDg8W]a`ie7?T>EGeH;ZB/BVe8?ZB/FU eH7ZBLBWdhOYCXdH[XCl^HhFCPI>5S h6GQHMmYi5_IMnU:aJCFO^Y9`jWAS>Q@cICSG=YejDc7X=]djDg9WMe^iU?ARnQ? c9KRH=i[iEOEP>Y9`jWARnQ?c9KRGme^ie?ARnQ?c9KRGme^ie?@SNMAci3VE]B5 jT[5Y=J0jTS2Z]2>ie;@S^MCdHcXDY8 `Z[?SnIDdX[XCLZKgfWTF]UijTW3Z=:8jDc8Wm]bj4k:V^1VhekLKnMAcY;UF=Mn jTS2ZljBiEOFP>Y8`Z_>TNIFe8?ZBL>XdXWYCie;@S^MAci3VE=:9jDc8W]a`j53=U>AKfWGZB/JSegc[Al6/ cICTFmUgjTW4YmB5jTW3Z=>8jD_7X]UhjTS3ZM::jDg9W=i[iUGDQ>Y8`jWBR^U= bIgNK>IDdhOZB/JSf7_[Al6]cIGTG=]djD_7X]UgjTW3Z=:9jDc8X=]cjDc8Wmaa jDk:V^1VhekMKnQ@cY?UF=MmjdK0[/^IhFCQH^1VhekLKnQ?cIGTFmYejT[5YMJ1 jdO0[/^HhF;PI^=Mg73XC/^IhF?QHn5ShF;PIN9PgV[VE]B3jdO2[]6 `:o:VmmXi5[IMnY8`j[AS>Q>biSRHMmXi5[IMnY8`Z[@S^Q@cY?UF=MmjdJo/MCdX[YBlRPfg;YC7jTW4YmB5jdS2Zm2?ie7?SnMB d8kXD]5_k77XM]djTW5Y]F1jdJo/MAd8kXClfDiESHO>a4_[?4Z=B5jdO1[LfFi5_KLnY9 aJGFP>a4_KC3ZM:9jTW5YMIok4Bm]<>ZdHcYCUMA d8kXClfDiESHO>a4_KC3Z]6=jDg:Vn5UhekNK>QAci3WDM2>j4k=U^AKfg?ZBLFV eH;/A;fd`jWBRNY8a:SCQn]7`Jg>U>EGego/@kbf`:o;VN9QhFCSG]i[ie;ARnY; b:3LLNY:aZ?INNa4_[?5YmF2k4Bm]<>ZdHcYC jDkQAd8oXC/bFi5_KLn]8`jWBRN]7`j[AS>Y;b:7LL^Y8a:OEQ>a4 _KG2Zm2>jDk=MgVgXCljDiUKGOna2^[Vk^;fe`Z_@S^U=biWRH>1Vi5[KMN]5 `;3:WMmYiUGEP^a3^kRn]ZdHcZB/NQ fgC[A/6^cIKUFMYgk4Bm]L>[dHgZBlRPg77ZBLFVego]@[Zk^Kff`Jo=NgVcX DY9aZGHO>e1^K^h_KG3Z]:;jTW5Y]J1kD:j^kVl]l2`bYcP I^EIfWK/A;fe`j[AS>Y:aZCINNa2^kVl]l2`bYcPI^EIfWO/@kbf`Jo;VN=Oh6OV EmQlkD6i_KK1[lbIhekOJNMCdhS/AL2abIkNJnQ?ci;WD]:;jdS4Z=B5k4>l]kna b:3ML>Y9aZCIN^e1^[^h_KG3Z]:;jdS4Z=F4kD:j^[Zj^kZk^Kbg`;79W]m[j53@ T>U>cIOUF]]ek4Bn]MDeHC]@[Zj^kZk^Kff `Jk]8 aJOFP>e0]l2`bYgPI^EGfG_]@;No//RQgG3[B[dXc[AlBY dhS/@kff`Zg?T^QAdHkZB/RQg77[A/:^cYCWE=F3kD2h_k?7XmYgkD6i_;Ro//RQ g7;[A/6_c9OUF]]dk4>n]LBZdhW/A;ncajCJN>e0^;jdaJOFPNho]/6_cIOUFMYf kD:k^[^j_;Rn]LBYdhO]@[bh_k?7Y=YhkD2h_k?6YMQlkSne`j_ASN]8aZKGO^hn ]L>ZdX[/A;nbb:;LL^a4_k;8XMaajdK1[/fFiUOINnho]/>/d8oZB/VPgVcZC:k4Bn]]6`Zc@ T>Y;bYgPI^IEego^?KC6Y]QmkSfdaZKHO>hm]hm /lJUfG_^?[C5YmMokSfcaZCINNhn]L>[dX[/A;jdaJSFP^hn]e1^k^j^kZk^Kfg`Jo=UnIGfG[^ ?K?6YMUikSjdaJSFPnhm]9QheoQI>EIfgC]@;Vn]LBZdhW]@[bi_KO1 [lfFieCFPNll//RPgVg[BUNMCe8K^?kK2[/nCj4o@T>Y;bYkPInQBdhW]@KZk^[bh_k?8X]aakD>m]l6_ cIOVEmUjkcbbbJ3OJnY9Ri5gPJ>Q@dXc/A<2bbJ3OJnY;bYgQINIFf7c_ >k7;Vn=PhV7SGn5UiUOINNll//VPgf_ZB/VOgf[YCLfFieCFP^ll/LZNhFGVE]Uk kc^`bi[TGN1Xj53BS>a4_k?7Y=]ekSjf`jcASn]7aJSFP^lk/L^Lhf3SHN=OhV;T G=m[jT[9X=m[jT[9X=m[jT[9XMi]jdO5Z=J2kc^`c9WUFmi^k4K3[=6>jdK3[=:= k4Bo/lRSg7;]@KZl^;ncajCKM^hm]Zk>U>Q@dHk/AL6_cIOWEMMokcZ^ ciCYCm2AjT[:Wn1Wj57CRNho^<6abi_SGn9RiE[NK^a5`K3U>ci;ZCJg@TN]9aj?LLnhn]/>]d93[AlFWegk`>JgASn]6`j_BRne0 ^[bi_kC7Y=]ekSfdajCKMNll/lRRgFo/@kjeaJSGP?0i[M6?k4K3[=:;kD2j_;Vo ]Zk?TnUJcBS>e2_;Vo]LJWf7g`>JcB Rne1^[bi_[K3[=:;kD2j_[K3[M6?k4K3[=:=kD:m^<2abYgRH^EJgFo]@[jf`jcB SNe2_[O3[M2@jdK4Z]B6kc^abi_TGN5Vj5;DQ^lk/L^Ki5gQI^QAdh[^?[O3[M2@ jdK4Z]F5kcZ_cYKXDM>9kSfeaZOHO_0hZ]B7kc^abigSH>=NhV?UFMabkSjf`jcB SNe2_;Vo]:_DR>ll/lRSgG3^@;Zn]/>/dX_^?kS0/lRRgVk]@kndaZKJ NO0i[=::_DR>ll//ZOhFGXD]F5kcZ^ci;ZB/VP h6SYCLnDjTc=UnQBeHG`>JgASna3`;?8X]i^kD>n]/FZeHC`>JcBS>ho^L2cb:;N KNe3_kC7Y=adkc^abicTG^9SiUSLM>lk/LbJiUSLLnll/lRRgVk]@[fh`K;;WN=Q i5cPInU>d9;[Bk;;WN=Pi5gQINQBeHG`>:cCRnhn]/B[e8S_>k7;W>AM hFCWE=N0lCJXf7ka=ZOHOO4fYmQmlCJWf7ga=ZOHOO4fYmQllCJWf7ca=ZOIO?4f YmUllCJWfGca=ZOIO?4fYmUllCJWfGca=ZOIO?4fYmUllCJWfG_a=ZOIO?4fYmUk lCJWfGca=ZOINo4fYmUllCJWfG[a=ZSHOO4eY]Yil3NYeh3a=ZKJN_4fZ=QmlCFV fWS`=jWFP_4fYmUllCFVfWS`=jWGP?4eY]Yhl3NYeh7a=ZOJN_4fYmUklCFVfWS` =jWGP?4eY]]gl3NZeX?a=ZOIO?4eYM]fl3R[eHK`>:_DQo0i[M:>kT2j_KS1/LfI iUKJN?4gZMMolCFUg7C`>JgASne1_;Zn]/B[e8S`>Jk@T^a6aJWGP?4eYMadl3V^ dHo]@[jh`Zo>UNY:gBS>lm]LJXf7ka=:CMLNll]k;;WN=Oi5kS HNEJgfc]@[jg`jkAT>e3_kG7Y]]elCJYegobRh6[/A/FZeXCa=:CML_0j[lnEjT[;W>ELhFKZC:gCRnlj/Jo@ T^a4`[3>UnU?dXg_?;G7YMadlCJXfGgbRh6W/ALF[eHKa=:CNKnll]EIgf_]@[jg`jkASnho^[nfaZWHOo8aWNAMhf;WEMYi lS:OhV;WE=UmlS6Mi5cRHnQAeXCbdHo^?[W2/LfIj5;GP_8aWNELhVCYC]6?kcfga:cDR?4dYMea l3N[eHKbSgfc^?[W1/l^Ni5gSH>IIgf_^?k^n^L6bc9cVF=i_l3ZacIWXD=F6lS:P hV?XDMJ5lS6Ni5gTGnEKhVCZCM6AkT2m^kjh`k3@Tne3`[7>UnYkcZbcI[XDmUllbjHjDkCSO0h[]>hn ^<>`d9?]@l6bc9_WEMaflS6NiEcSH^QAeXCc;i[XD]R0lbjGjd[Y`d9C]@/6dbZ7RI>Y;ciG/ALJZf7od;9C]@l6cbikUG>=Rj57GPo<] U^]8bZ7RHnY=dI3_>k?;W^EJhVG[B/fKj5;HP?@/Tne2`;K7Z=Yim2fEk4G6Z]Un m2bCkT2m^knha:gER?8aW^EKhVCZC=6BkSjj`KC:X^9UjdS;WnAMi5gTG^ELhf7X D]Qnm2^BkSnj`;G8YMi_lCJZfGgd:i;^?[W2//fKj5;IO_@[T^ln^<>_dI3_>kC: X^9UjdS;X>AOiUSPJnll]LRUgVoa=Z[IOO@[TNll]/NXfgOd;IK/A/NWfgKc;YO[ BLbMieONKo4eYmaflbjGjdWk?;W^EKhV?ZC=2DkT6n^L>`d9C^@Kji`[7>Un]9c9gVEmm]l3R_dXka=jcF Q?@/Tni0_K^o^<>_dI3`>[;=VnUAeh?d:i;_?KS5[=F6m2fGk4O9Xn5WkD?2/LnF k4G6ZMYjm2Z@l3ZaciO/AlRUgfka=Z[IOODZS_4gZmN1m2Z?l3R^dhcb=:GOK_4g ZmN2m2Z?l3R^dhga=JOLM?<^VNY;ciK/ALJ[f83e:Xka=JWJN_DZSo4g[=J6m2bE kD;1/lbNiUSPJNhn^/6dbZ7SH^U?eHSc;YS[BLbLj5CKN?@[TNlk]<^OiE_TH>QC fgWd:Xoa=jgEQo@]U^a5aZ[IO_DYS?8bXn9Vk4G6ZmR0mBVShFS^@Kni`joB So4g[=J5m2^Al3ZccI_YCmF7m2bEkD70]/RVgW7cAOieKNLO<`W^MGgfga=ZWJNoDXRo8aWnELi5kVFN5VkD?3/=:@l3R_ dhgb>lSBVgW3ba7bZ;SH^Y=dhgbUAf87e9hWd;IO]AANieOOKO4eZM]imBR;lbnKjE3GPoDXRo<_V^Y=dhkba8 bj3UG>ELiEcUFnAPjE3GPoDWR?@[T_0i/M2EkSnl_[_1]LVThFS_?[[1]=lS6PiEgVF^=Rjd[?U^i1`;O7Z=afmBV=lc2NieOPJo4g[MJ5mBR;m2fG kDG6ZmUmmRF4mBN8m2^Al3R_dhgc<9kWEMi`lbnLjE3GP_HVQ_DXRo<^VN]9cI_Z C]F9m2^Ckc^ebZ?RINe3a;3BSo8dY]i_lc2Mj5;JNoHUQ?HWR?DYS_8bX^=QjTgD S?<^V^Ylm^LB`dY3a=JSMM?DYS_ELiU[SHNY=dhgc <9kWEMi`lbnKjTgCS_kG:X^=Rjd_ATo0k]<^O iUWRI>e5ajWKNOHUQ?HVQOHWQoDXS?@]V>e4aZ_IO_HTP?HTPOHTPOHTP_HTP_HT P_HUP_HUP_HUP_HUP_HUP_HUP_HUP_HTP_HTP_HTP_HTPOHTPOHTP?HTP?HTP?HT P?HTP?HSOoLSOoLSOoLSOoLSOoLSOoLSOoLSOoLSOoLSOoLSOoLSOoLSOoLSOoLS O_LSO_LSO_LSO_LSO_LSO_LSO_LSO_LSO_LSO_LSO_LSO_LSO_LSO_LSO_LSO_LS O_LSO_LSO_LSOOLSOOLSOOLSOOLSOOLSOOLSOOLSOOLSOOLSOOLROOLROOLROOLR OOLROOLROOLROOLROOLROOLROOLROOLROOLROOLROOLRO?LRO?LRO?LRO?LRO?LR O?LRO?LRO?LRO?LRO?LRO?LRO?LRO?LRO?LRO?LRO?LRO?LRO?LRO?LRO?LRO?LR O?LRO?LRO?LRO?LRO?LRO?LRO?LRO?LRNoLRNoLRNoLRNoLRNoLRNoLRNoLRNoLR NoLRNoLRNoLRNoLRNoLRNoLRNoLRNoLRNoLRNoLRNoLRNoLRNoLRNoLRNoLRNoLR NoLRNoLRNoLRNoLRNoLRNoLQNoLQNoLQNoLQNoLQN_LQN_LQN_LQN_LQN_LQN_LQ N_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQ N_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQN_LQ N_LQN_LQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQ NOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQ NOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQNOLQN?LQ N?LQN?LQN?LQN?LQN?LQN?LQN?LQN?LQN?LQN?LPN?LQN?LPN?LQN?LPN?LQNOPP MoLQN_POMOLSOoPOLoHUQ?LPMoLQNOPPM_LRNoPOM?HTPOPOM?LTPOPOM?HTPOPO M?LSP?POLoHUQ?PPMoLQNOPOMOLROOPNL_HVQ_LQNoPOLoHTP_POM?LSOoPNL_HV Q_LQNoPOLoHTP_POM?LSP?PNL_HVQ_LQN_POLoHTPOPNL_HUQ?PPM_LQN_POLoLT POPNL_HVQ_LQN_POLoLTPOPNLOHVQoLQNoPNLOHVQ_LQN_PNL_HUQ?PPM_LQNOPN LoHTP_PNL_HUQ?POMOLQNoPNLOHVQoLQNoPNL?HWROLSP?PML?DXRoHVR?LRO?PM KoDXSODYSo@[U?4f[=Unn1e^mBV@m2fHkT30^LF_eH[f98;h7G3f9h[g987h7Foe :8cf9hWg8h3h7Fke:Y7c;Y_/Bln_Knk `[C>W>a8ciW^@/B`e8cf9XSg8G_i7Fke:Y7d;Y_/AlbPieKQJO8cYN9WlCRadhke :Y3d;I[]@lF_eXOg87Sh7W7f9HCh7G3f9XKh87Kh7gGh87Sh7W7f9HCh7G3f9XSg 8G[i76ge:Y7d;Y[]A>mBV?mB^ClS>VhF[cehCh7Fof9h[g8goi6f[cdcY[^@/Ba e8gf9hWg8G[i6fWc<:7WEn=Tl3biaj_KNOTKJ_<_W^Y>ehCi76ce:Y;c;ik[C=F: mb9lnAYVlCJ^f8Ci6f_d;IW^@<6haj[MMOPNL_LRO?TJI_4g/=F:mb5jnAYXlS>W h6_d;IS`?;W6[]R3nA]Xlc:TiEk[Bm>>mRN:mb5inA]Xlc:TiEo[B]:Am2bGl3Vd ci[^@<:fc:3XE>1]mBV?mBR>mRJ7n1iamb9nnQUTkcfk`k?AUO8cZ>1]mBR=mRF6 nAa]mRN;mb9mnQUSkcjm_kc2]/bQieKRI_4g[mJ6nAa^mRJ9n1men1e`mb>0nQUS kcno_<:gbj?UGNY?fGoj66;^@<6gbZKRIO4h/]6Dlc6RiUWVFnQDh6ce:I3e:Hof 9h[h87Si6VScdciS`?;W6[]R3nQUSkcfl`KO:YN=Rkcno^l>dcY_^ @/Bae8gf98?j6F?_?[g0^lBbdi7e:Y7e:iCc?mRN9n1ian1mfnAYWlS>WhVObUAg7Sj66;_?[jm_kc1^1/mRNY>fH7k5U[WEnAQkT;5/MF< n21gnQMOkDKi3ajgKO?/EEnEOkDG:YNEOkDG;X^MGi67^@<:gbj;WEnAQkT73 ]AmBR=n21inaEIiU[XE^=TlCJ_f8?k5U[X E^=TlCN`eH[i76gg98?k5EWWEnAPkT?7[=ainaEIieSVFnUAgW?i6VOc5[mRNn21gnaAFi6;` ?;_4/m6Em2jMkDC:YNEOkD?8ZN1^n21hnaAEhfKck[7[M]lo155ZmRJ:nQUS lSJ_fH7l4D_FROXGGne4bZKTHNlm_[nm`KW8[=efnaAEhfGcKG?Vo0l^lFbe8gi76kh7W;j5f3_?l6ib:_O LOXHHo4g/]B>n1ebnQQQl3fm`[O;XnQFi67`>kW8Z^1_nAa_nAa]n1mfna=Bh6kh 7WCk5EWXE>9YmBR>n1icnQIKjTkKOO`?A/jNkDGW>lo`[S;YNIKjdgIP_`@Am2IlSF]fg[l3dK>W>lo`K[7 [Maio118dIOc@lVYhF[g 8h;l3dK>WNm0`kK=Wna7d9[a=k;ES?XII_@]Vo0j]lbRjU3MMo`AC=N6o19?fg_l 3T?:Z>=Ulc2RjU3MM_`AC=N7o19?fg_m3T;7[Maio0m5c:?XEN=SlSB[gg7j5eo_ @<>fcYg_?l:hbZKUGnm0a;G@V?fcYc_?/2kaK;DS_TLKOTL KoXJIoD[U_D/V?MIj5GTHO0j^LVYhF[g8Wom3Ck1^lJ`f8Gl44SBU?DXT?PO MO`AC=R4o@i3bZOTHo8e[Maho@i3bJWRJ?HWSOTJIoDYToLTQ?d>@lVZh6gi76ki 6fch7WGl4DcHQ?`>AMIj5CSI?k_6[mV0o@`l_QFiEo_?/2laK?CT?PNM?`@B]J;naAGieSXE>=Tlc6Tj5KVG>a7dIOd;Yk^ @lVZhF_h7WCl4DcHQOd>@/N]g7[m33ZibZOTHO4h]=:DmRF7o0m6ci_a>KO=X>a9 e8oi6fch7G;l4U3MMO`>A<^UieSXE^ILk4SBToLTQ?d=V mBZCmb>1o@/g/]F=nQMOkcfo_knn`;c4]M6GmB^Hm2nPk4SBUOHWS_XGHO4i]/nL l3^kajoJO_h:=:_OLO/DENEOl3fn`;g3^[S;Y^IKk4WDSoXII_DY TOTMLO/CDn9WmRJ9o119e93i76gj6FCd;Yo^A<^ViU_[BmR6o@dn`K_7[]]moPTb YnEPl3ZibZSTH_8d[Mefo@`l_/6kajkKOOh9fgcn2C6UieSXENEPl3^k ajkKOOh9<:?YD^5[nAeana=BhFci6f_i7G7l4TkLN_h9g7[n2C:X i6?ce5cYk_@naEJjdgJOol7:I?h87_n1bZFmRJ;o15EQlSF_fWoo1RR@nQQTm2bJlc:YhfCe:iOe:97i6f_i6V[h7W?m33g0_L>fcica =k;ES?`AC=Z0o`HXSo/FG>e6d9_bKSi2bJWSI_LTQ_h9hc:?[CMako`DTQ_h8;j;/BMF=o15=fggo1B:0o`DSPol69Xcl44WES_/D EnQGj5OXE^QGjECTH_<`XnY?gg?m2cZjbJ_QK?XHH_2o`DRPOl58Woo121jo`DSPol598Kn22bKlc:YhfGf9hcl 44SDT?/FG>i1b:kMMol69hkk4eCUH?8e/=Z1o`@ONOl58h?o1B:1o`@ON?l598Ko 1bZEmb5no`[[:Z^=VmbB4o`HUROh;=kGCU?PNM?h91_o11: ehSn2C:Yi6Ce:YKg8X7o0aidoPTaYnIMkco3]ljPkd77[mako`CnAeao@`m`;g4]lnL lSF^g7[o0aeao@`k_o15>gGOo1B:0o`8HIOHVS?d=@LR^gGSo121jo`8JJOTLKo`?ALnL lSB^gWGo1RJ:oPXf/]N8oPP]WO8e/MV2o`8II_LRP?l25Uka>;O?WO4h]lnMlCNd di;j66?e:YKg8X7o0AIMkck3^1^o0m6dISf9X_n2SJbehSo1bVDnAeboPXd[MmcoPL/W?EPlSB_gGWo0QQR m2bLlc:YiF3cALnNlCRfdYOh8Goo00Xd[meho`0BDN9YnQQRmBZE nAedo`@QOOl02C:Zi6?f:93l4DcKOol0232UjU3PK_dKW]=gGWo00`l_l:lak3KOol01RVCnaINlSJc eXcn2C:YiF3c<:GYD^ASmRJ=oPXf/mN:o`HUR_l6:97l4U3QKOd>A5o`0?A]:FnAeco`jbjSVG?0l_l:kb:kOM?l1 5E[^@lfSkDKBU_TLLOl59HWo0QYYnaEKkck4]m2KmBbLm2jRkT;:ZNEPm2nSkDOC To/EFnloa[?FRol58X;o000=?lFfdYKi773o1P\>"]}, ImageCacheContents->"Sound"] }, Closed]] }, Closed]], Cell[TextData[{ "Playing this sound one hears the ", StyleBox["period-doubling route to chaos", FontSlant->"Italic"], "." }], "Text", CellTags->"Period-doubling route to chaos"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Simple Programming" }], "Section"], Cell["\<\ In the Notebook front end one can do computation without writing \ programs by forming a collection of basic functions, selecting the range of \ cells, and updating the cells \[Dash] similar to working in a spreadsheet. \ Then, if required, cutting, pasting, and copying can be used to construct a \ more robust and general procedure. Here is an example of this approach.\ \>", "Text", CellTags->{"Notebooks", "Front end"}], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Sequence of Steps" }], "Subsection"], Cell[TextData[{ "The following sequence of steps displays 10 randomly chosen points in the \ interval ", Cell[BoxData[ \(TraditionalForm\`\([0, 1]\)\[Times]\([0, 1]\)\)]], ":" }], "Text"], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Exercise ", FontWeight->"Bold", FontSlant->"Plain"], StyleBox[CounterBox["Section"], FontWeight->"Bold", FontSlant->"Plain"], StyleBox[".", FontWeight->"Bold", FontSlant->"Plain"], StyleBox[CounterBox["Exercise"], FontWeight->"Bold", FontSlant->"Plain"], " Enter the following steps" }], "Exercise"], Cell[BoxData[ \(TraditionalForm\`\(pts = Table[Random[], {10}, {2}];\)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`\(pts = Point /@ pts;\)\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm \`\(Show[Graphics[{PointSize[0.03], pts}], AspectRatio \[Rule] Automatic, PlotRange \[Rule] All];\)\)], "Input"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1.32565 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations -0.120668 1.41136 -0.0447634 1.41136 [ [ 0 0 0 0 ] [ 1 1.32565 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .03 w .46616 .73434 Mdot .76773 .97629 Mdot .88372 1.01724 Mdot .7697 .20307 Mdot .17057 .66939 Mdot .09799 .63256 Mdot .37415 .03156 Mdot .97619 .66129 Mdot .02381 1.29409 Mdot .02759 .53256 Mdot 0 0 m 1 0 L 1 1.32565 L 0 1.32565 L closepath clip newpath % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{217.25, 287.938}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHgOm<60025Om<004iod`H008Eo d`00CgoC1000QWoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003I Om<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003I Om<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00:Aod`@0035od`00 XgoC1P00<7oC002SOm<6000`Om<00:=od`H0031od`00XgoC1P00<7oC002TOm<4000aOm<00=Uod`00 fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00 fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00 fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00 fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00 fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00 fGoC003IOm<00=Uod`00fGoC003IOm<000Aod`@00=5od`000goC1P00d7oC0003Om<6003@Om<000=o d`H00=1od`000goC1P00d7oC0004Om<4003AOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<0 0=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<001=od`@00<9od`004WoC 1P00`GoC000BOm<60031Om<0019od`H00<5od`004WoC1P00`GoC000COm<40032Om<00=5od`@000Ao d`00d7oC1P000goC000SOm<4002YOm<60003Om<0029od`H00:Qod`H000=od`008WoC1P00Z7oC1P00 0goC000ROm<6002YOm<40004Om<0029od`H00;5od`008goC1000/WoC003IOm<00=Uod`00fGoC003I Om<00=Uod`00fGoC003IOm<00=Uod`00HgoC1000LWoC001ROm<6001aOm<0069od`H0075od`00HWoC 1P00LGoC001ROm<6001aOm<006=od`@0079od`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00 fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00 fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00 fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00 fGoC003IOm<00=Uod`00fGoC003IOm<00:Aod`@0035od`00XgoC1P00<7oC002SOm<6000`Om<00:=o d`H0031od`00XgoC1P00<7oC002TOm<4000aOm<00=Uod`00fGoC002mOm<4000HOm<00;aod`H001Mo d`00_7oC1P005goC002lOm<6000GOm<00;aod`H001Mod`00_GoC100067oC003IOm<00=Uod`00fGoC 003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC 003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC 003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC 003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC003IOm<00=Uod`00fGoC 003IOm<00=Uod`00fGoC0003Om<4003BOm<0009od`H00=5od`000WoC1P00dGoC0002Om<6003AOm<0 009od`H00=5od`000goC1000dWoC003IOm<00=Uod`00fGoC003IOm<00001\ \>"], ImageRangeCache->{{{0, 216.25}, {286.938, 0}} -> {0.0854941, 0.0312765, 0.0032765, 0.0032765}}] }, Closed]] }, Closed]], Cell[TextData[{ StyleBox["Exercise ", FontWeight->"Bold", FontSlant->"Plain"], StyleBox[CounterBox["Section"], FontWeight->"Bold", FontSlant->"Plain"], StyleBox[".", FontWeight->"Bold", FontSlant->"Plain"], StyleBox[CounterBox["Exercise"], FontWeight->"Bold", FontSlant->"Plain"], " Modify the parameters 10 and 0.03, select these three input cells (using \ the mouse) and hit the Enter key (\[EnterKey])" }], "Exercise", CellTags->"Spreadsheet"], Cell["This approach is analogous to using a spreadsheet.", "Text"] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Converting a Sequence of Steps into a Module" }], "Subsection"], Cell[TextData[{ "To convert these steps into a program, we collect the above steps together \ into a ", Cell[BoxData[ FormBox[ StyleBox[\(Module[]\), "Input"], TraditionalForm]]], " using a (dummy) local variable (", Cell[BoxData[ FormBox[ StyleBox["pts", "Input"], TraditionalForm]]], ")." }], "Text"], Cell[TextData[{ StyleBox["Exercise ", FontWeight->"Bold", FontSlant->"Plain"], StyleBox[CounterBox["Section"], FontWeight->"Bold", FontSlant->"Plain"], StyleBox[".", FontWeight->"Bold", FontSlant->"Plain"], StyleBox[CounterBox["Exercise"], FontWeight->"Bold", FontSlant->"Plain"], " Delete all output cells. Select the range of cells by clicking on the \ first cell and mouse scrolling or shift clicking. Use the Merge Cells \ command under the Cell menu. " }], "Exercise"], Cell[CellGroupData[{ Cell["The result should look like:", "Text"], Cell[BoxData[ \(TraditionalForm\`pts = Table[Random[], \ {10}, {2}]; \n pts = Map[Point, \ pts]; \n Show[Graphics[{PointSize[0.03], pts}], AspectRatio \[Rule] Automatic, PlotRange \[Rule] All]; \)], "Input"] }, Open ]], Cell[TextData[{ "Now we can edit this to turn it into a procedure. Think of a descriptive \ name for this procedure. (Note that ", Cell[BoxData[ FormBox[ StyleBox["%", "Input"], TraditionalForm]]], " should never be used inside a ", Cell[BoxData[ FormBox[ StyleBox["Module", "Input"], TraditionalForm]]], " or a ", Cell[BoxData[ FormBox[ StyleBox["Block", "Input"], TraditionalForm]]], " so instead a short [temporary and local] name for the intermediate \ results needs to be used.) The above steps produce 10 points which you may \ want to generalise this to ", Cell[BoxData[ \(TraditionalForm\`n\)]], " points." }], "Text"], Cell[CellGroupData[{ Cell["Here is my attempt.", "Text"], Cell[BoxData[ \(TraditionalForm \`RandomPointPlot[n_, s_: 0.03] := Module[{pts}, \[IndentingNewLine]pts = Table[Random[], {n}, {2}]; \[IndentingNewLine]pts = Point /@ pts; Show[Graphics[{PointSize[s], pts}], AspectRatio \[Rule] Automatic, PlotRange \[Rule] All]\[IndentingNewLine]]\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["Try the example", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`\(RandomPointPlot(50, 0.05);\)\)], "Input"], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .97311 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.00946361 0.971317 0.0132115 0.971317 [ [ -0.00119 -0.00183 0 0 ] [ 1.00119 .97494 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .05 w .12362 .23509 Mdot .36585 .774 Mdot .69107 .67022 Mdot .72576 .0713 Mdot .97115 .91065 Mdot .11299 .87206 Mdot .77072 .41916 Mdot .93383 .40591 Mdot .43018 .36663 Mdot .17895 .89132 Mdot .33075 .41654 Mdot .07692 .494 Mdot .21659 .19465 Mdot .69185 .70452 Mdot .5063 .50896 Mdot .94688 .64643 Mdot .51593 .58283 Mdot .84335 .7589 Mdot .72599 .17688 Mdot .8903 .3662 Mdot .30528 .79477 Mdot .72081 .45941 Mdot .95531 .39145 Mdot .65336 .94994 Mdot .74818 .21001 Mdot .94229 .25863 Mdot .25134 .68558 Mdot .97619 .59672 Mdot .71619 .11596 Mdot .1423 .82235 Mdot .97098 .92361 Mdot .23278 .46936 Mdot .67516 .14205 Mdot .49275 .02317 Mdot .70063 .73512 Mdot .82017 .05776 Mdot .93323 .53833 Mdot .85866 .78366 Mdot .69135 .83728 Mdot .86325 .20015 Mdot .95594 .73453 Mdot .73041 .36233 Mdot .96574 .79545 Mdot .50709 .87749 Mdot .30004 .66662 Mdot .02381 .86754 Mdot .58019 .91602 Mdot .18442 .82299 Mdot .62774 .39091 Mdot .30654 .05253 Mdot 0 0 m 1 0 L 1 .97311 L 0 .97311 L closepath clip newpath % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{288, 280.25}, ImageMargins->{{43, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg002002000ZOm<8001EOm<: 000`Om<0055od`h002]od`H005Eod``002mod`00DGoC3P00KWoC1P004GoC3P00;WoC001AOm<>001] Om<8000@Om<>000^Om<0055od`h006aod`X000mod`h002iod`00DGoC3P00JgoC30003WoC3P00;WoC 001BOm<<001[Om<>000=Om<>000^Om<005=od`X006aod`h000eod`h002iod`00E7oC2000KGoC3P00 3WoC3000;goC001EOm<6001^Om<>000?Om<:000`Om<0000100000goC00000006001?Om<00;Yod`h0009od`H0051od`00^WoC3P00F7oC 002jOm<>001HOm<00;Yod`h005Qod`00^goC30001WoC1P00CGoC002lOm<:0006Om<80010019Om<003]od`H008Qod`h004Uod`00 >WoC2000QgoC3P00BGoC000iOm<:0026Om<>000MOm<6000VOm<003Qod``008Eod`h001aod`P002Eo d`00=goC3P00Q7oC40006GoC2P0097oC000gOm<>0025Om<@000GOm<<000SOm<003Mod`h008Ioda00 01Eod`h0029od`00=goC3P00QgoC400057oC3P008WoC000gOm<>0028Om<@000COm<>000ROm<003Mo d`h008Yod`h001=od`h0029od`00>7oC3000RgoC3P004goC3P008WoC000iOm<:002000COm<> 000ROm<0025od`H001=od`P008eod`h001Aod``002=od`0087oC20004goC1P00SWoC3P005GoC2P00 97oC000OOm<:002WOm<<000GOm<8000UOm<001iod``00:Mod`X001Uod`H002Iod`007GoC3P00YgoC 2000AWoC000MOm<>002XOm<60017Om<001eod`h00>1od`H000mod`007GoC3P00ggoC20003WoC000M Om<>003NOm<:000=Om<001eod`h00=eod``000aod`007WoC3000gGoC3P002goC000OOm<:003NOm<> 000;Om<0021od`P00=mod`h000]od`008GoC1P00h7oC3P002goC003oOm<8Om<>000;Om<00?mod`Qo d`h000]od`00ogoC2GoC300037oC003oOm<:Om<:000=Om<00?mod`]od`P000iod`00ogoC37oC1P00 3goC003oOm 0018Om<>000POm<>000JOm<007Aod`h004Qod`h0021od`h001Yod`00M7oC3P00B7oC3P0087oC3P00 6WoC001dOm<>000_Om<6000COm<>000POm<>0009Om<6000;Om<007Aod`h002iod`P0019od`h0021o d`h000Qod`P000Yod`00M7oC3P00;GoC2P004WoC30008GoC3P001goC2P002GoC001eOm<<000]Om<< 000BOm<:000SOm<<0007Om<<0008Om<007Iod`X002eod`h0019od`P002Eod`X000Aoda4000Mod`00 MgoC2000;WoC3P004goC1P009goC200017oC4P001goC001hOm<6000_Om<>0011Om<60004Om000NOm<8000SOm001:Om<8000NOm<>000POm001`Om<>000ROm<: 000@Om<005Qod`h0071od`h002=od`P0015od`00FGoC3000LGoC3P0097oC1P004WoC001JOm<:001c Om<<000mOm<005]od`P007Eod`X003iod`00G7oC1P00JWoC1P001goC2000?goC003;Om<80007Om<6 0010Om<00001:Om<003iod`X0081o d`h004Yod`00?GoC3000OgoC3P00BWoC000lOm<>001nOm<>001:Om<003aod`h007iod`h004Yod`00 ?7oC3P00OWoC3P00BWoC000COm<6000SOm<>001oOm<<001;Om<0019od`P0029od`h0081od`X004ao d`004GoC2P008GoC3P00PGoC2000CGoC000@Om<<000QOm<<0023Om<6001>Om<000mod`h0025od`X0 04Iod`H008aod`003goC3P008WoC2000AWoC2000RgoC000?Om<>000SOm<60016Om<:002:Om<000mo d`h006iod``008Uod`003goC3P00KGoC3P00R7oC000?Om<>001]Om<>0028Om<0011od``006iod`h0 08Qod`004GoC2P00KgoC3P00R7oC000BOm<8001`Om<>001`Om<6000BOm<001=od`H0075od`h006mo d`P0015od`00RgoC3000KgoC2P0047oC002000>Om<00?mod`Eod`h000iod`00ogoC1GoC3P003WoC003o Om<5Om<>000>Om<00?mod`Iod``000mod`00ogoC1goC2P0047oC003oOm<8Om<8000AOm<0095od`H0 075od`H0019od`00T7oC2000R7oC002?Om<:0027Om<008iod``008Iod`00SGoC3P00NWoC1P001GoC 002=Om<>001iOm<80004Om<008eod`h007Qod`X000=od`00SGoC3P00MgoC30000WoC002=Om<>001f Om<>0001Om<008eod`h007Iod`h0005od`00SWoC3000MgoC3P000GoC002?Om<:001hOm<>0001Om<0 091od`P007Uod`h0005od`00TGoC1P00NWoC3P000GoC003oOm000:Om<005=od`H0 0:mod`h000Yod`00DWoC2000JGoC1P00?goC3P002WoC001AOm<:001WOm<8000nOm<>000:Om<0051o d``006Eod`X003eod`h000Yod`00CgoC3P00HgoC3000?GoC30002goC0015Om<60004Om<>001ROm<> 000mOm<:000001COm<0045oda`0069od`h005=od`00@GoC 3P0000=od`0000002P00HgoC3P00DgoC0011Om<>0002Om<:001UOm<<001DOm<0045od`h000=od`P0 06Mod`X005Eod`00@GoC3P0017oC1P00J7oC2P00EGoC0011Om<>001aOm<<001DOm<0049od``0075o d`h005=od`00@goC2P00LWoC3P00DgoC0014Om<8001cOm<>001COm<004Eod`H007Aod`h005=od`00 _goC3P00@WoC1P002goC002oOm<>0011Om<8000:Om<00<1od`d0041od`X000Uod`00`GoC3@00?WoC 300027oC0032Om<=000lOm<>0007Om<00<9od`h003]od`h000Mod`00`WoC3P00>goC3P001goC0032 Om<>000OOm<6000FOm<>0007Om<00<9od`h001iod`P001Eod`h000Mod`00`WoC3P007GoC2P0057oC 3P001goC0032Om<>000LOm<<000DOm<<0008Om<00<=od``001aod`h001Aod`X000Uod`00IWoC1P00 F7oC2P007GoC3P005GoC20002WoC001UOm<8001HOm<8000NOm<>000FOm<6000;Om<006Aod`X005Qo d`H001mod`h002Mod`00HgoC3000O7oC3`009WoC001ROm<>001kOm<@000UOm<0069od`h007aoda00 02Aod`00EGoC1P001goC3P00OGoC40005GoC1P0027oC001DOm<80006Om<>001nOm0004Om<<0020Om<>000AOm<>0004Om<0055od`h000Eod`X0085od`h0015od`h000Aod`00 DGoC3P001WoC2000PgoC30004WoC3P0017oC000VOm<6000UOm<>0007Om<60025Om<:000COm<>0004 Om<002Eod`P000Eod`H001Uod`h009=od`P001Aod`h000Aod`0097oC2P000goC200067oC3P00U7oC 1P005GoC3P0017oC000SOm<<00000goC00000008000HOm<<002aOm<<0005Om<0029odaT001Qod`X0 0;=od`X000Iod`008WoC6P0067oC2000IgoC1P00B7oC20001goC000ROm001COm<0 02=odaT008=od`h005=od`0097oC2P0000=od`0000002P00Q7oC3P00DgoC000UOm<80003Om<:0025 Om<>001COm<000Aod`H001aod`H000Eod`P008Iod`h005=od`000goC20009goC1P00QgoC3P00DgoC 0002Om<:000BOm<6002LOm<<001DOm<00003Om<0000000X0011od`P006Uod`H002eod`X005Eod`00 3P003WoC2P00IgoC2000;GoC2000EWoC000>000=Om<<001UOm<:000]Om<6001GOm<000h000aod`h0 06=od``008Uod`003P0037oC3P002GoC1P00DgoC3P00R7oC000>0000008Om<8001BOm<>0028 Om<000h000aod`h000Mod`X0055od`h008Qod`0000=od`0000002P003GoC3P001WoC3000D7oC3P00 R7oC0002Om<:000>Om<>0005Om<>001?Om<>0028Om<000=od`P0011od``000Iod`h004mod`h008Qo d`0017oC1P004WoC2P001goC3P00D7oC3000O7oC1P001goC000MOm<80008Om<>001AOm<:000=Om<6 001YOm<80006Om<001iod`H000Uod`h0059od`P000eod`P006Mod`X000Eod`00;GoC3P00DgoC1P00 3GoC2P00IGoC300017oC000^Om<<001VOm<<001SOm<>0003Om<002mod`X006Iod`h0069od`h000=o d`00<7oC2000IgoC3P00HWoC3P000goC000aOm<6001XOm<>001ROm<>0003Om<009mod`h0069od`h0 00=od`00WgoC3P00HWoC3P000goC002OOm<>001ROm<>0003Om<00:1od``000aod`H0055od`h000=o d`00XGoC2P0037oC2000D7oC3P000goC002ROm<8000001AOm<60007Om<00;Aod`h005iod`00]7oC 3P00GWoC002dOm<>001NOm<00;Aod`h005iod`00]GoC3000GgoC002fOm<:001POm<00;Mod`P0065o d`00^7oC1P00HWoC0000\ \>"], ImageRangeCache->{{{0, 287}, {279.25, 0}} -> {-0.0117446, -0.0154907, 0.00360116, 0.00360116}}] }, Closed]] }, Open ]], Cell[TextData[{ "A good approach to programming in ", StyleBox["Mathematica", FontSlant->"Italic"], " is to first find the appropriate \"sequence of steps\" and then, when \ everything is working well and has been tested in all the cases of interest, \ convert these steps into a procedure as shown in this example." }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Blocks and Modules \[Dash] Variable Scoping" }], "Section", CellTags->{"Block", "Module", "Variable scoping"}], Cell[TextData[{ "In ", StyleBox["Mathematica", FontSlant->"Italic"], " there are two special programming constructs \[Dash] ", Cell[BoxData[ FormBox[ StyleBox["Block", "Input"], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ StyleBox["Module", "Input"], TraditionalForm]]], " \[Dash] which, like their names suggest, are used to delimit blocks of \ code. The variables contained within these delimiters are ", StyleBox["local", FontSlant->"Italic"], " \[Dash] in the sense illustrated below. " }], "Text"], Cell[TextData[{ "In this overview the focus is on the elements of ", StyleBox["Mathematica", FontSlant->"Italic"], " style and not on how to write complete ", StyleBox["Mathematica", FontSlant->"Italic"], " programs." }], "Text"], Cell[TextData[{ "For a description of the difference between ", Cell[BoxData[ FormBox[ StyleBox["Block", "Input"], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ StyleBox["Module", "Input"], TraditionalForm]]], " see ", ButtonBox["\[Section]2.6.7", ButtonData:>"2.6.7", ButtonStyle->"MainBookLink"], " of The ", StyleBox["Mathematica", FontSlant->"Italic"], " book. The following simple example clearly shows the difference:" }], "Text"], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Block" }], "Subsection"], Cell[CellGroupData[{ Cell["Define", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`m = i\^2\)], "Input"], Cell[BoxData[ \(TraditionalForm\`i\^2\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "In a ", Cell[BoxData[ FormBox[ StyleBox["Block", "Input"], TraditionalForm]]], ", the ", StyleBox["local value", FontSlant->"Italic"], " of ", Cell[BoxData[ FormBox[ StyleBox["i", "Input"], TraditionalForm]]], " is used in the ", StyleBox["body:", FontSlant->"Italic"] }], "Text", CellTags->"Block"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`Block[{i = a}, i + m]\)], "Input"], Cell[BoxData[ \(TraditionalForm\`a\^2 + a\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ Cell[BoxData[ FormBox[ StyleBox["Trace", "Input"], TraditionalForm]]], " clearly shows the sequence of steps:" }], "Text", CellTags->"Tracing computations"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`Trace[Block[{i = a}, i + m]]\)], "Input"], Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ TagBox[\(Block[{i = a}, i + m]\), HoldForm], ",", RowBox[{"{", RowBox[{ TagBox[\(i = a\), HoldForm], ",", TagBox["a", HoldForm]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ TagBox["i", HoldForm], ",", TagBox["a", HoldForm]}], "}"}], ",", RowBox[{"{", RowBox[{ TagBox["m", HoldForm], ",", TagBox[\(i\^2\), HoldForm], ",", RowBox[{"{", RowBox[{ TagBox["i", HoldForm], ",", TagBox["a", HoldForm]}], "}"}], ",", TagBox[\(a\^2\), HoldForm]}], "}"}], ",", TagBox[\(a\^2 + a\), HoldForm]}], "}"}], ",", TagBox[\(a\^2 + a\), HoldForm]}], "}"}], TraditionalForm]], "Output"] }, Closed]] }, Open ]], Cell[TextData[{ Cell[BoxData[ FormBox[ StyleBox[\(Block[]\), "Input"], TraditionalForm]]], " localises the ", StyleBox["values", FontSlant->"Italic"], " of a variable but not the symbol itself. This is called ", StyleBox["dynamic scoping", FontSlant->"Italic"], "." }], "Text", CellTags->"Dynamic scoping"] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Module" }], "Subsection"], Cell[CellGroupData[{ Cell[TextData[{ "In a ", Cell[BoxData[ FormBox[ StyleBox["Module", "Input"], TraditionalForm]]], ", the ", Cell[BoxData[ FormBox[ StyleBox["i", "Input"], TraditionalForm]]], " that appears explicitly in the ", StyleBox["body ", FontSlant->"Italic"], "is treated as \na ", StyleBox["local", FontSlant->"Italic"], " variable: " }], "Text", CellTags->"Module"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`Module[{i = a}, i + m]\)], "Input"], Cell[BoxData[ \(TraditionalForm\`i\^2 + a\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "In other words, the ", Cell[BoxData[ FormBox[ StyleBox["i", "Input"], TraditionalForm]]], " inside the ", Cell[BoxData[ FormBox[ StyleBox["Module", "Input"], TraditionalForm]]], " is ", StyleBox["different", FontSlant->"Italic"], " to the external ", Cell[BoxData[ FormBox[ StyleBox["i", "Input"], TraditionalForm]]], ": " }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`Trace[Module[{i = a}, i + m]]\)], "Input"], Cell[BoxData[ FormBox[ RowBox[{"{", RowBox[{ TagBox[\(Module[{i = a}, i + m]\), HoldForm], ",", RowBox[{"{", RowBox[{ TagBox[\(i$48 = a\), HoldForm], ",", TagBox["a", HoldForm]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ TagBox["i$48", HoldForm], ",", TagBox["a", HoldForm]}], "}"}], ",", RowBox[{"{", RowBox[{ TagBox["m", HoldForm], ",", TagBox[\(i\^2\), HoldForm]}], "}"}], ",", TagBox[\(i\^2 + a\), HoldForm]}], "}"}], ",", TagBox[\(i\^2 + a\), HoldForm]}], "}"}], TraditionalForm]], "Output"] }, Closed]] }, Open ]], Cell[TextData[{ Cell[BoxData[ FormBox[ StyleBox[\(Module[]\), "Input"], TraditionalForm]]], " localises the symbols. This is called ", StyleBox["lexical scoping", FontSlant->"Italic"], "." }], "Text", CellTags->"Lexical scoping"] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ".", CounterBox["Subsection"], ". Block or Module?" }], "Subsection"], Cell[CellGroupData[{ Cell[TextData[{ "The question arises as to when one should use ", Cell[BoxData[ FormBox[ StyleBox["Block", "Input"], TraditionalForm]]], " and when one should use ", Cell[BoxData[ FormBox[ StyleBox["Module", "Input"], TraditionalForm]]], ". The answer is that most of the time one should use ", Cell[BoxData[ FormBox[ StyleBox["Module", "Input"], TraditionalForm]]], ". A particular application that requires ", Cell[BoxData[ FormBox[ StyleBox["Block", "Input"], TraditionalForm]]], " instead of ", Cell[BoxData[ FormBox[ StyleBox["Module", "Input"], TraditionalForm]]], " is when temporarily changing the value of a ", StyleBox["system variable", FontSlant->"Italic"], ". Consider the following recursive procedure for computing factorial:" }], "Text", CellTags->{"Block", "Module", "System variable"}], Cell[BoxData[ \(TraditionalForm \`fac(n_) := \[IndentingNewLine]Module[ {g, m}, \[IndentingNewLine]g(0) = 1; \[IndentingNewLine]g(m_) := \(g(m) = m\ \(g(m - 1)\)\); \[IndentingNewLine]g( n)\[IndentingNewLine]]\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["Everything seems to work fine:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`fac(20)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`2432902008176640000\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "Note also that ", Cell[BoxData[ FormBox[ StyleBox["g", "Input"], TraditionalForm]]], " is \"hidden\":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`\(?g\)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`"Global`g"\)], "Print"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["However, when we try a larger number we run into a problem:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`fac(254)\)], "Input"], Cell[BoxData[ FormBox[ RowBox[{ \($RecursionLimit::"reclim"\), \(\(:\)\(\ \)\), "\<\"Recursion depth of \\!\\(TraditionalForm\\`256\\) exceeded.\"\>"} ], TraditionalForm]], "Message"], Cell[BoxData[ \(TraditionalForm \`657029546065290023069150024265649988631879228155243275015054879271805646\ 869751523726593360417012414560643294533039663224691480418729853305240724026116\ 288316237467319671697906282686280351405147202794782453677346283472792223227980\ 594905933920113995769244564046400715128509079480890412851262634282374493150644\ 202093150704242859211883169203996736585635136915447471553845897373685012326518\ 035720824986004111720941794013221840550582831028958658560000000000000000000000\ 0000000000000000000000000000000000000000\ Hold[2\ \(g$55(2 - 1)\)]\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["\<\ It is apparent that we have hit a recursion limit. This is \ controlled by the global variable:\ \>", "Text", CellTags->"$RecursionLimit"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`$RecursionLimit\)], "Input"], Cell[BoxData[ \(TraditionalForm\`256\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "Here is a modified routine (overwriting the previous one) which uses ", Cell[BoxData[ FormBox[ StyleBox["Block", "Input"], TraditionalForm]]], " to temporarily change the recursion limit and ", Cell[BoxData[ FormBox[ StyleBox["Module", "Input"], TraditionalForm]]], " to do the computation:" }], "Text", CellTags->{"Block", "Module"}], Cell[BoxData[ \(TraditionalForm\`g(n_) := n\^2\)], "Input"], Cell[BoxData[ \(TraditionalForm \`fac(n_) := Block[\[IndentingNewLine]{$RecursionLimit = \[Infinity]}, \[IndentingNewLine]Module[ {g, m}, \[IndentingNewLine]g(0) = 1; \[IndentingNewLine]g(m_) := \(g(m) = m\ \(g(m - 1)\)\); \[IndentingNewLine]g( n)\[IndentingNewLine]]\[IndentingNewLine]]\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["Now we have no problems with a much larger calculation:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`fac(500) == \(500!\)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`True\)], "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "and the global ", Cell[BoxData[ FormBox[ StyleBox["$RecursionLimit", "Input"], TraditionalForm]]], " keeps its usual value: " }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`$RecursionLimit\)], "Input"], Cell[BoxData[ \(TraditionalForm\`256\)], "Output"] }, Closed]] }, Open ]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ CounterBox["Section"], ". Conclusions" }], "Section"], Cell[CellGroupData[{ Cell[TextData[{ "To summarise, here are some basic points relevant to all ", StyleBox["Mathematica", FontSlant->"Italic"], " programming:" }], "Text"], Cell[TextData[{ "Because the ", StyleBox["Mathematica", FontSlant->"Italic"], " language is high level, the coding is often a straightforward translation \ of the problem. " }], "SmallText", CellTags->"Natural implementation"], Cell[TextData[{ "Coding in ", StyleBox["Mathematica", FontSlant->"Italic"], " syntax often forces one to really understand the problem definition or \ algorithm: implicit and side conditions need to be brought out and sign \ conventions made explicit. " }], "SmallText", CellTags->"Mathematica syntax"], Cell[TextData[{ "In standard mathematical notation, it is common to suppress the functional \ dependence of some variables and to use the same symbol to mean several \ things depending on context. The use of the = sign is a good example of the \ latter: It can mean assignment, equality or equivalence. In ", StyleBox["Mathematica", FontSlant->"Italic"], " there are unique symbols for each of these shades of meaning and the \ potential for confusion is thus greatly reduced." }], "SmallText", CellTags->"Functional dependence"], Cell["\<\ Use built-in functions, or functions in the Packages, where \ possible.\ \>", "SmallText", CellTags->"Built-in functions"], Cell[TextData[{ "For user-defined variables and procedures, use full and descriptive names. \ There is little advantage in using abbreviated names, especially as ", StyleBox["Command Completion", FontWeight->"Bold"], " in the Front works with both built-in and user-defined names." }], "SmallText", CellTags->{ "Full names", "Descriptive names", "User-defined rules", "Command Completion"}], Cell[TextData[{ "Working with lists and matrices (", Cell[BoxData[ FormBox[ StyleBox["List", "Input"], TraditionalForm]]], " structures) is often more efficient than procedural operations. However, \ since many algorithms or formulae are given using operators like Sum, \ Product, ", StyleBox["etc", FontSlant->"Italic"], "., one first has to translate these into operations on lists." }], "SmallText", CellTags->{"List", "Efficiency", "Procedural programming"}], Cell[TextData[{ "Functional programming \[Dash] ", StyleBox["i.e.", FontSlant->"Italic"], ", programming using a high level of abstraction is very powerful. \ However, overuse of functional programming can obscure the algorithm and \ users from procedural backgrounds may find functional programming hard to get \ used to. Nevertheless, a large number of algorithms ", StyleBox["should", FontSlant->"Italic"], " be coded functionally and learning functional programming is well worth \ the effort." }], "SmallText", CellTags->"Functional programming"] }, Open ]] }, Closed]] }, Open ]] }, FrontEndVersion->"Macintosh 3.0", ScreenRectangle->{{0, 800}, {0, 580}}, AutoGeneratedPackage->None, ScreenStyleEnvironment->"Presentation", WindowToolbars->{}, WindowSize->{732, 553}, WindowMargins->{{-2, Automatic}, {Automatic, 1}}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}}, ShowCellLabel->False, ShowCellTags->False, CommonDefaultFormatTypes->{"InputInline"->TraditionalForm, "OutputInline"->TraditionalForm}, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False}, Magnification->1, StyleDefinitions -> Notebook[{ Cell[CellGroupData[{ Cell["Style Definitions", "Subtitle"], Cell["\<\ Modify the definitions below to change the default appearance of \ all cells in a given style. Make modifications to any definition using \ commands in the Format menu.\ \>", "Text"], Cell[CellGroupData[{ Cell["Style Environment Names", "Section"], Cell[StyleData[All, "Working"], PageWidth->WindowWidth, ScriptMinSize->10], Cell[StyleData[All, "Presentation"], PageWidth->WindowWidth, ShowCellTags->False, ScriptMinSize->12, FontSize->20], Cell[StyleData[All, "Printout"], PageWidth->PaperWidth, ShowCellLabel->False, ShowCellTags->False, TextJustification->1, ScriptMinSize->5, FontSize->10, PrivateFontOptions->{"FontType"->"Outline"}] }, Closed]], Cell[CellGroupData[{ Cell["Notebook Options", "Section"], Cell["\<\ The options defined for the style below will be used at the \ Notebook level.\ \>", "Text"], Cell[StyleData["Notebook", "Presentation"], PageHeaders->{{Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"], None, Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"]}, {Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"], None, Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"]}}, ShowCellBracket->False, CellBracketOptions->{"Color"->RGBColor[0.66717, 0.187915, 0.232395]}, CellElementSpacings->{"ClosedGroupTopMargin"->20}, ShowCellLabel->False, CellFrameLabelMargins->6, CommonDefaultFormatTypes->{"Input"->TraditionalForm, "Output"->TraditionalForm}, StyleMenuListing->None, Background->RGBColor[0.924025, 0.891524, 0.771649]], Cell[StyleData["Notebook", "Printout"], PageHeaders->{{Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"], None, Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"]}, {Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"], None, Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"]}}, CellElementSpacings->{"ClosedGroupTopMargin"->20}, CellFrameLabelMargins->6, StyleMenuListing->None, Background->None] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headings", "Section"], Cell[CellGroupData[{ Cell[StyleData["Title"], CellMargins->{{40, Inherited}, {20, 40}}, CellGroupingRules->{"TitleGrouping", 0}, PageBreakBelow->False, CounterIncrements->"Title", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}, { "Subtitle", 0}, {"Chapter", 0}}, StyleMenuListing->None, FontSize->36, FontWeight->"Bold"], Cell[StyleData["Title", "Presentation"], ShowCellBracket->False, CellMargins->{{0, 100}, {0, 0}}, CellFrameMargins->{{30, 100}, {10, 20}}, AutoIndent->False, LineSpacing->{0, 44}, FontSize->40, FontColor->GrayLevel[1], Background->RGBColor[0.812512, 0, 0]], Cell[StyleData["Title", "Printout"], CellFrame->{{0, 0}, {0.25, 0}}, CellMargins->{{10, 10}, {12, 30}}, CellFrameMargins->2, FontSize->26] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subtitle"], CellMargins->{{40, Inherited}, {20, 15}}, CellGroupingRules->{"TitleGrouping", 10}, PageBreakBelow->False, CounterIncrements->"Subtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, StyleMenuListing->None, FontSize->26], Cell[StyleData["Subtitle", "Presentation"], ShowCellBracket->False, CellMargins->{{98, 0}, {20, 0}}, CellFrameMargins->{{10, 4}, {4, 6}}, AutoIndent->False, LineSpacing->{0, 34}, FontSize->30, Background->RGBColor[0.833814, 0.797284, 0.0792248]], Cell[StyleData["Subtitle", "Printout"], CellMargins->{{40, 10}, {1, 0}}, FontSize->18] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Author"], CellMargins->{{100, Inherited}, {20, 0}}, PageBreakBelow->False, StyleMenuListing->None, FontSize->14, FontSlant->"Italic"], Cell[StyleData["Author", "Presentation"], CellMargins->{{90, 0}, {20, 10}}, LineSpacing->{1, 0}, FontSize->22], Cell[StyleData["Author", "Printout"], CellMargins->{{40, 10}, {60, 8}}, FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Chapter"], CellMargins->{{10, Inherited}, {20, 20}}, CellGroupingRules->{"SectionGrouping", 20}, PageBreakBelow->False, CounterIncrements->"Chapter", CounterAssignments->{{"Section", 0}, {"Subsection", 0}, { "Subsubsection", 0}, {"Equation", 0}, {"Figure", 0}, { "Definition", 0}, {"Theorem", 0}, {"Lemma", 0}, {"Exercise", 0}, { "Example", 0}, {"Corollary", 0}, {"Bullet", 0}}, StyleMenuListing->None, FontSize->24], Cell[StyleData["Chapter", "Presentation"], ShowGroupOpenCloseIcon->True, LineSpacing->{1, 0}], Cell[StyleData["Chapter", "Printout"], FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Section"], CellMargins->{{10, Inherited}, {8, 16}}, CellGroupingRules->{"SectionGrouping", 30}, PageBreakBelow->False, CounterIncrements->"Section", CounterAssignments->{{"Subsection", 0}, {"Subsubsection", 0}, { "Bullet", 0}}, StyleMenuListing->None, FontSize->18, FontWeight->"Bold"], Cell[StyleData["Section", "Presentation"], CellFrame->{{0, 0}, {0, 2}}, ShowGroupOpenCloseIcon->True, CellFrameMargins->{{99, 0}, {1, 4}}, CellFrameColor->RGBColor[0.708598, 0.00158694, 0.047715], CellFrameLabelMargins->{{4, 4}, {0, 2}}, LineSpacing->{1, 0}, FontSize->24], Cell[StyleData["Section", "Printout"], CellFrame->{{0, 0}, {0, 0.5}}, CellMargins->{{10, 0}, {4, 22}}, CellFrameMargins->3, FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsection"], CellMargins->{{10, Inherited}, {8, 20}}, CellGroupingRules->{"SectionGrouping", 40}, PageBreakBelow->False, CounterIncrements->"Subsection", CounterAssignments->{{"Subsubsection", 0}, {"Bullet", 0}}, StyleMenuListing->None, FontSize->16, FontWeight->"Bold"], Cell[StyleData["Subsection", "Presentation"], CellFrame->{{0, 0}, {0, 2}}, ShowGroupOpenCloseIcon->True, CellMargins->{{20, 22}, {0, 30}}, CellFrameMargins->{{0, 0}, {0, 2}}, CellFrameColor->GrayLevel[1], LineSpacing->{1, 0}, FontSize->22], Cell[StyleData["Subsection", "Printout"], CellMargins->{{10, 0}, {0, 22}}, FontSize->12] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Subsubsection"], CellMargins->{{10, Inherited}, {8, 18}}, CellGroupingRules->{"SectionGrouping", 50}, PageBreakBelow->False, CounterIncrements->"Subsubsection", CounterAssignments->{{"Bullet", 0}}, FontWeight->"Plain", FontSlant->"Italic"], Cell[StyleData["Subsubsection", "Presentation"], ShowGroupOpenCloseIcon->True, CellMargins->{{20, 60}, {0, 26}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Subsubsection", "Printout"], CellMargins->{{10, 0}, {0, 25}}, FontSize->10] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell[CellGroupData[{ Cell[StyleData["Text"], CellMargins->{{10, 10}, {7, 7}}, CellGroupingRules->{"SectionGrouping", 60}, LineSpacing->{1, 3}, CounterIncrements->"Text"], Cell[StyleData["Text", "Presentation"], CellMargins->{{30, 22}, {10, 10}}, TextAlignment->Left, TextJustification->0], Cell[StyleData["Text", "Printout"], CellMargins->{{10, 2}, {6, 6}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Continuation"], CellMargins->{{10, 10}, {7, 7}}, LineSpacing->{1, 3}, FormatTypeAutoConvert->False], Cell[StyleData["Continuation", "Presentation"], CellMargins->{{20, Inherited}, {12, 12}}], Cell[StyleData["Continuation", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["ItalicContinuation"], CellMargins->{{10, 10}, {7, 7}}, LineSpacing->{1, 3}, FormatTypeAutoConvert->False, FontSlant->"Italic"], Cell[StyleData["ItalicContinuation", "Presentation"], CellMargins->{{20, Inherited}, {12, 12}}], Cell[StyleData["ItalicContinuation", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Example"], CellMargins->{{10, Inherited}, {Inherited, Inherited}}, CellGroupingRules->{"SectionGrouping", 60}, CounterIncrements->"Example", CounterAssignments->{{"Bullet", 0}}, StyleMenuListing->None, FormatTypeAutoConvert->False], Cell[StyleData["Example", "Presentation"], ShowGroupOpenCloseIcon->True, CellMargins->{{20, Inherited}, {12, 12}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Example", "Printout"], TextJustification->0] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Definition"], CellMargins->{{10, Inherited}, {Inherited, Inherited}}, CellGroupingRules->{"SectionGrouping", 60}, CounterIncrements->"Definition", CounterAssignments->{{"Bullet", 0}}, StyleMenuListing->None, FormatTypeAutoConvert->False, FontSlant->"Italic"], Cell[StyleData["Definition", "Presentation"], ShowGroupOpenCloseIcon->True, CellMargins->{{20, Inherited}, {12, 12}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Definition", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Theorem"], CellMargins->{{10, Inherited}, {Inherited, Inherited}}, CellGroupingRules->{"SectionGrouping", 60}, CounterIncrements->"Theorem", CounterAssignments->{{"Bullet", 0}}, StyleMenuListing->None, FormatTypeAutoConvert->False, FontSlant->"Italic"], Cell[StyleData["Theorem", "Presentation"], ShowGroupOpenCloseIcon->True, CellMargins->{{20, Inherited}, {12, 12}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Theorem", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Corollary"], CellMargins->{{10, Inherited}, {Inherited, Inherited}}, CellGroupingRules->{"SectionGrouping", 60}, CounterIncrements->"Corollary", CounterAssignments->{{"Bullet", 0}}, StyleMenuListing->None, FormatTypeAutoConvert->False, FontSlant->"Italic"], Cell[StyleData["Corollary", "Presentation"], ShowGroupOpenCloseIcon->True, CellMargins->{{20, Inherited}, {12, 12}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Corollary", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Lemma"], CellMargins->{{10, Inherited}, {Inherited, Inherited}}, CellGroupingRules->{"SectionGrouping", 60}, CounterIncrements->"Lemma", CounterAssignments->{{"Bullet", 0}}, StyleMenuListing->None, FormatTypeAutoConvert->False, FontSlant->"Italic"], Cell[StyleData["Lemma", "Presentation"], ShowGroupOpenCloseIcon->True, CellMargins->{{20, Inherited}, {12, 12}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Lemma", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Proof"], CellMargins->{{10, Inherited}, {Inherited, Inherited}}, CellGroupingRules->{"SectionGrouping", 70}, CounterAssignments->{{"Bullet", 0}}, StyleMenuListing->None, FormatTypeAutoConvert->False], Cell[StyleData["Proof", "Presentation"], CellMargins->{{20, Inherited}, {12, 12}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Proof", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Exercise"], CellMargins->{{10, Inherited}, {Inherited, Inherited}}, CellGroupingRules->{"SectionGrouping", 60}, CounterIncrements->"Exercise", CounterAssignments->{{"Bullet", 0}}, StyleMenuListing->None, FormatTypeAutoConvert->False], Cell[StyleData["Exercise", "Presentation"], ShowGroupOpenCloseIcon->True, CellMargins->{{20, Inherited}, {12, 12}}], Cell[StyleData["Exercise", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Warning"], CellDingbat->"\[WarningSign]", CellMargins->{{10, Inherited}, {Inherited, Inherited}}], Cell[StyleData["Warning", "Presentation"], CellMargins->{{20, Inherited}, {12, 12}}], Cell[StyleData["Warning", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["SmallText"], CellDingbat->"\[EmptySquare]", CellMargins->{{40, Inherited}, {Inherited, Inherited}}, CounterIncrements->"SmallText", StyleMenuListing->None], Cell[StyleData["SmallText", "Presentation"], CellMargins->{{80, 22}, {10, 10}}, LineSpacing->{1, 5}, FontFamily->"Helvetica", FontSize->18, FontColor->RGBColor[0.0899214, 0.182635, 0.460777]], Cell[StyleData["SmallText", "Printout"], CellDingbat->"\[EmptySmallCircle]", CellMargins->{{30, 2}, {5, 5}}, FontFamily->"Times", FontSize->9] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Menu"], CellMargins->{{10, 10}, {5, 12}}, FontFamily->"Charcoal"], Cell[StyleData["Menu", "Presentation"], CellMargins->{{20, 22}, {10, 10}}], Cell[StyleData["Menu", "Printout"], CellMargins->{{10, 0}, {4, 10}}, ParagraphSpacing->{0, 6}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Input/Output", "Section"], Cell["\<\ The cells in this section define styles used for input and output \ to the kernel. Be careful when modifying, renaming, or removing these \ styles, because the front end associates special meanings with these style \ names. Some attributes for these styles are actually set in FormatType Styles \ (in the last section of this stylesheet). \ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Input"], CellMargins->{{45, 10}, {5, 7}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, CellLabelMargins->{{11, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultInputFormatType, AutoItalicWords->{}, FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, LinebreakAdjustments->{0.85, 2, 10, 0, 1}, CounterIncrements->"Input", FontWeight->"Bold"], Cell[StyleData["Input", "Presentation"], ShowCellBracket->False, CellMargins->{{99, 45}, {0, 10}}, CellFrameMargins->12, LineSpacing->{1, 0}, FontColor->GrayLevel[1], Background->RGBColor[0.300008, 0.500008, 0.6], ButtonBoxOptions->{ButtonMinHeight->0.125, ButtonMargins->9, Background->RGBColor[0.665293, 0.0723888, 0.101137]}], Cell[StyleData["Input", "Printout"], CellMargins->{{45, 0}, {0, 6}}, LinebreakAdjustments->{0.85, 2, 10, 1, 1}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Output"], CellMargins->{{47, 10}, {7, 5}}, CellEditDuplicate->True, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, CellLabelMargins->{{11, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Output"], Cell[StyleData["Output", "Presentation"], CellMargins->{{99, 45}, {10, 0}}, CellFrameMargins->12, LineSpacing->{1, 0}, FontSize->16, Background->RGBColor[0.978958, 0.959915, 0.622477]], Cell[StyleData["Output", "Printout"], CellMargins->{{45, 0}, {6, 0}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Message"], CellMargins->{{45, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"OutputGrouping", PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, CellLabelMargins->{{11, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Message", StyleMenuListing->None, FontColor->RGBColor[0, 0, 1]], Cell[StyleData["Message", "Presentation"], CellMargins->{{99, 45}, {Inherited, Inherited}}, CellFrameMargins->12, LineSpacing->{1, 0}, FontColor->RGBColor[0.694072, 0.204471, 0.227802], Background->RGBColor[0.963821, 0.948333, 0.891249]], Cell[StyleData["Message", "Printout"], CellMargins->{{40, Inherited}, {Inherited, Inherited}}, FontSize->8, FontColor->GrayLevel[0]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Print"], CellMargins->{{45, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, CellLabelMargins->{{11, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Print", StyleMenuListing->None], Cell[StyleData["Print", "Presentation"], CellMargins->{{99, 45}, {0, 0}}, CellFrameMargins->{{12, 12}, {2, 2}}, LineSpacing->{1, 0}, Background->GrayLevel[1]], Cell[StyleData["Print", "Printout"], CellMargins->{{50, Inherited}, {Inherited, Inherited}}, FontSize->8] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Graphics"], CellMargins->{{4, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"GraphicsGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, DefaultFormatType->DefaultOutputFormatType, FormatType->InputForm, CounterIncrements->"Graphics", ImageMargins->{{43, Inherited}, {Inherited, 0}}, StyleMenuListing->None], Cell[StyleData["Graphics", "Presentation"], CellMargins->{{99, 45}, {10, 0}}], Cell[StyleData["Graphics", "Printout"], CellMargins->{{20, 0}, {0, -1}}, ImageMargins->{{0, Inherited}, {Inherited, 0}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["CellLabel"], StyleMenuListing->None, FontFamily->"Helvetica", FontSize->9, FontColor->RGBColor[0, 0, 1]], Cell[StyleData["CellLabel", "Presentation"], FontSize->12, FontColor->GrayLevel[0]], Cell[StyleData["CellLabel", "Printout"], FontSize->7, FontSlant->"Italic", FontColor->GrayLevel[0]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Formulas and Programming", "Section"], Cell[CellGroupData[{ Cell[StyleData["InlineFormula"], CellMargins->{{40, 10}, {0, 10}}, CellHorizontalScrolling->True, ScriptLevel->1, SingleLetterItalics->True, StyleMenuListing->None], Cell[StyleData["InlineFormula", "Presentation"], CellMargins->{{99, 10}, {10, 10}}, LineSpacing->{1, 5}], Cell[StyleData["InlineFormula", "Printout"], CellMargins->{{10, 0}, {6, 6}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["DisplayFormula"], CellMargins->{{40, 10}, {5, 5}}, CellHorizontalScrolling->True, DefaultFormatType->DefaultInputFormatType, TextAlignment->Left, ScriptLevel->0, SingleLetterItalics->True, UnderoverscriptBoxOptions->{LimitsPositioning->True}], Cell[StyleData["DisplayFormula", "Presentation"], CellMargins->{{60, 10}, {5, 5}}, LineSpacing->{1, 5}, FontSize->18], Cell[StyleData["DisplayFormula", "Printout"], CellMargins->{{55, 55}, {5, 5}}, FontSize->10] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Hyperlink Styles", "Section"], Cell["\<\ The cells below define styles useful for making hypertext \ ButtonBoxes. The \"Hyperlink\" style is for links within the same Notebook, \ or between Notebooks.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Hyperlink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), Active->True, ButtonNote->ButtonData}], Cell[StyleData["Hyperlink", "Presentation"]], Cell[StyleData["Hyperlink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}, ButtonBoxOptions->{ButtonFrame->"None"}] }, Open ]], Cell["\<\ The following styles are for linking automatically to the on-line \ help system.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["MainBookLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "MainBook", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["MainBookLink", "Presentation"]], Cell[StyleData["MainBookLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["AddOnsLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Times", FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "AddOns", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["AddOnsLink", "Presentation"]], Cell[StyleData["AddOnLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["RefGuideLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "RefGuideLink", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["RefGuideLink", "Presentation"]], Cell[StyleData["RefGuideLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["GettingStartedLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "GettingStarted", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["GettingStartedLink", "Presentation"]], Cell[StyleData["GettingStartedLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["OtherInformationLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "OtherInformation", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["OtherInformationLink", "Presentation"]], Cell[StyleData["OtherInformationLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headers and Footers", "Section"], Cell[StyleData["Header"], CellMargins->{{0, 0}, {4, 1}}, StyleMenuListing->None, FontSize->10, FontSlant->"Italic"], Cell[StyleData["Footer"], CellMargins->{{0, 0}, {0, 4}}, StyleMenuListing->None, FontSize->9, FontSlant->"Italic"], Cell[StyleData["PageNumber"], CellMargins->{{0, 0}, {4, 1}}, StyleMenuListing->None, FontFamily->"Times", FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell["Palette Styles", "Section"], Cell["\<\ The cells below define styles that define standard \ ButtonFunctions, for use in palette buttons.\ \>", "Text"], Cell[StyleData["Paste"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, After]}]&)}], Cell[StyleData["Evaluate"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["EvaluateCell"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionMove[ FrontEnd`InputNotebook[ ], All, Cell, 1], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluate"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluateCell"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}] }, Closed]], Cell[CellGroupData[{ Cell["FormatType Styles", "Section"], Cell["\<\ The cells below define styles that are mixed in with the styles \ of most cells. If a cell's FormatType matches the name of one of the styles \ defined below, then that style is applied between the cell's style and its \ own options. This is particularly true of Input and Output.\ \>", "Text"], Cell[StyleData["CellExpression"], PageWidth->Infinity, CellMargins->{{6, Inherited}, {Inherited, Inherited}}, ShowCellLabel->False, ShowSpecialCharacters->False, AllowInlineCells->False, AutoItalicWords->{}, StyleMenuListing->None, FontFamily->"Courier", FontSize->12, Background->GrayLevel[1]], Cell[StyleData["InputForm"], AllowInlineCells->False, StyleMenuListing->None, FontFamily->"Courier"], Cell[StyleData["OutputForm"], PageWidth->Infinity, TextAlignment->Left, LineSpacing->{0.6, 1}, StyleMenuListing->None, FontFamily->"Courier"], Cell[StyleData["StandardForm"], LineSpacing->{1.25, 0}, StyleMenuListing->None, FontFamily->"Courier"], Cell[StyleData["TraditionalForm"], LineSpacing->{1.25, 0}, SingleLetterItalics->True, TraditionalFunctionNotation->True, DelimiterMatching->None, StyleMenuListing->None], Cell["\<\ The style defined below is mixed in to any cell that is in an \ inline cell within another.\ \>", "Text"], Cell[StyleData["InlineCell"], TextAlignment->Left, ScriptLevel->1, StyleMenuListing->None, FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False, "StrikeThrough"->False, "Masked"->False, "CompatibilityType"->0, "RotationAngle"->0}], Cell[StyleData["InlineCellEditing"], StyleMenuListing->None, Background->RGBColor[0.460029, 1, 0.963958]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Automatic Numbering", "Section"], Cell["\<\ The following styles are useful for numbered equations, figures, \ etc. They automatically give the cell a FrameLabel containing a reference to \ a particular counter, and also increment that counter.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Equation"], CellMargins->{{40, 10}, {5, 5}}, CellFrameLabels->{{None, Cell[ TextData[ {"(", CounterBox[ "Chapter"], ".", CounterBox[ "Equation"], ")"}]]}, {None, None}}, DefaultFormatType->DefaultInputFormatType, CounterIncrements->"Equation", FormatTypeAutoConvert->False], Cell[StyleData["Equation", "Presentation"], CellMargins->{{60, 10}, {5, 5}}, FontSize->18], Cell[StyleData["Equation", "Printout"], CellMargins->{{55, 55}, {5, 5}}] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Bullet"], CellMargins->{{10, Inherited}, {Inherited, Inherited}}, CellGroupingRules->{"SectionGrouping", 70}, CellFrameLabels->{{Cell[ TextData[ { CounterBox[ "Bullet"], "."}]], None}, {None, None}}, CounterIncrements->"Bullet"], Cell[StyleData["Bullet", "Presentation"], CellMargins->{{20, Inherited}, {12, 12}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Bullet", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["ItalicBullet"], CellMargins->{{10, Inherited}, {Inherited, Inherited}}, CellGroupingRules->{"SectionGrouping", 70}, CellFrameLabels->{{Cell[ TextData[ { CounterBox[ "Bullet"], "."}]], None}, {None, None}}, CounterIncrements->"Bullet", FontSlant->"Italic"], Cell[StyleData["Bullet", "Presentation"], CellMargins->{{20, Inherited}, {12, 12}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Bullet", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Figure"], CellMargins->{{55, 145}, {2, 10}}, CellHorizontalScrolling->True, CellFrameLabels->{{Cell[ TextData[ {"Figure ", CounterBox[ "Chapter"], ".", CounterBox[ "Figure"]}], FontWeight -> "Bold"], None}, { None, None}}, CounterIncrements->"Figure", FormatTypeAutoConvert->False], Cell[StyleData["Figure", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Table"], CellMargins->{{55, 145}, {2, 10}}, CellFrameLabels->{{None, None}, {Cell[ TextData[ {"Table ", CounterBox[ "Table"]}], FontWeight -> "Bold"], None}}, TextAlignment->Center, CounterIncrements->"Table", FormatTypeAutoConvert->False], Cell[StyleData["Table", "Printout"], CellMargins->{{18, Inherited}, {Inherited, Inherited}}, TextAlignment->Left] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Tables", "Section"], Cell[CellGroupData[{ Cell[StyleData["2ColumnTable"], CellMargins->{{10, 20}, {0, 8}}, CellHorizontalScrolling->True, FontWeight->"Plain", GridBoxOptions->{ColumnWidths->{0.05, 0.95}, ColumnAlignments->{Left}}], Cell[StyleData["2ColumnTable", "Printout"], CellMargins->{{10, 20}, {0, 8}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["3ColumnTable"], CellMargins->{{10, 10}, {0, 8}}, CellHorizontalScrolling->True, GridBoxOptions->{ColumnWidths->{0.1, 0.6, 0.3}, ColumnAlignments->{Left}}], Cell[StyleData["3ColumnTable", "Presentation"], CellMargins->{{30, 10}, {0, 8}}, FontSize->16, GridBoxOptions->{ColumnWidths->{0.15, 0.55, 0.3}}], Cell[StyleData["3ColumnTable", "Printout"], CellMargins->{{20, 10}, {0, 8}}, GridBoxOptions->{ColumnWidths->{0.1, 0.4, 0.5}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["4ColumnTable"], CellMargins->{{10, 60}, {0, 8}}, GridBoxOptions->{ColumnWidths->{0.07, 0.33, 0.1, 0.5}, ColumnAlignments->{Left}}], Cell[StyleData["4ColumnTable", "Printout"], CellMargins->{{10, 60}, {0, 8}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["5ColumnTable"], CellMargins->{{10, 10}, {0, 8}}, CellHorizontalScrolling->True, GridBoxOptions->{ColumnWidths->{0.05, 0.05, 0.05, 0.8, 0.05}, ColumnAlignments->{Left, Left, Left, Left, Right}}], Cell[StyleData["5ColumnTable", "Printout"], CellMargins->{{10, 10}, {0, 8}}, FontSize->10] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["1ColumnBox"], CellFrame->True, CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, LineIndent->0, StyleMenuListing->None, Background->GrayLevel[0.8], FrameBoxOptions->{BoxMargins->{{1, 1}, {1.5, 1.5}}}, GridBoxOptions->{ColumnSpacings->1}], Cell[StyleData["1ColumnBox", "Printout"], CellMargins->{{2, 4}, {0, 8}}, FontSize->10, Background->GrayLevel[0.900008]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["2ColumnBox"], CellFrame->True, CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, LineIndent->0, StyleMenuListing->None, Background->GrayLevel[0.8], FrameBoxOptions->{BoxMargins->{{1, 1}, {1.5, 1.5}}}, GridBoxOptions->{ColumnWidths->{0.39, 0.59}}], Cell[StyleData["2ColumnBox", "Printout"], CellMargins->{{2, 4}, {0, 8}}, FontSize->10, Background->GrayLevel[0.900008]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["2ColumnSmallBox"], CellFrame->True, CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, LineIndent->0, StyleMenuListing->None, Background->GrayLevel[0.8], FrameBoxOptions->{BoxMargins->{{1, 1}, {1.5, 1.5}}}, GridBoxOptions->{ColumnSpacings->1.5, ColumnWidths->0.35, ColumnAlignments->{Right, Left}}], Cell[StyleData["2ColumnSmallBox", "Printout"], CellMargins->{{2, 4}, {0, 8}}, FontSize->10, Background->GrayLevel[0.900008]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["3ColumnBox"], CellFrame->True, CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, LineIndent->0, StyleMenuListing->None, Background->GrayLevel[0.8], FrameBoxOptions->{BoxMargins->{{1, 1}, {1.5, 1.5}}}, GridBoxOptions->{ColumnWidths->0.325}], Cell[StyleData["3ColumnBox", "Printout"], CellMargins->{{2, 4}, {0, 8}}, FontSize->10, Background->GrayLevel[0.900008]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["3ColumnSmallBox"], CellFrame->True, CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, LineIndent->0, StyleMenuListing->None, Background->GrayLevel[0.8], FrameBoxOptions->{BoxMargins->{{1, 1}, {1.5, 1.5}}}, GridBoxOptions->{ColumnSpacings->1.5, ColumnWidths->0.23, ColumnAlignments->{Right, Center, Left}}], Cell[StyleData["3ColumnSmallBox", "Printout"], CellMargins->{{2, 4}, {0, 8}}, FontSize->10, Background->GrayLevel[0.900008]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["4ColumnBox"], CellFrame->True, CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, LineIndent->0, StyleMenuListing->None, Background->GrayLevel[0.8], FrameBoxOptions->{BoxMargins->{{1, 1}, {1.5, 1.5}}}, GridBoxOptions->{ColumnWidths->{0.145, 0.345, 0.145, 0.345}}], Cell[StyleData["4ColumnBox", "Printout"], CellMargins->{{2, 4}, {0, 8}}, FontSize->10, Background->GrayLevel[0.900008]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["5ColumnBox"], CellFrame->True, CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, LineIndent->0, StyleMenuListing->None, Background->GrayLevel[0.8], FrameBoxOptions->{BoxMargins->{{1, 1}, {1.5, 1.5}}}, GridBoxOptions->{ColumnWidths->0.195}], Cell[StyleData["5ColumnBox", "Printout"], CellMargins->{{2, 4}, {0, 8}}, FontSize->10, Background->GrayLevel[0.900008]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["6ColumnBox"], CellFrame->True, CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, LineIndent->0, StyleMenuListing->None, Background->GrayLevel[0.8], FrameBoxOptions->{BoxMargins->{{1, 1}, {1.5, 1.5}}}, GridBoxOptions->{ColumnWidths->{0.13, 0.23, 0.13, 0.13, 0.23, 0.13}}], Cell[StyleData["6ColumnBox", "Printout"], CellMargins->{{2, 4}, {0, 8}}, FontSize->10, Background->GrayLevel[0.900008]] }, Closed]] }, Closed]] }, Open ]] }], MacintoshSystemPageSetup->"\<\ 00<0001804P00000=j8W4?m0oeThGBNb0dL5N`?P0080001804P000003;T8^`01 0000I00000400@410?l00BL?00400@0000000000000006P801T1T0000000h000 00000000004000000000000000000082\>" ] (*********************************************************************** Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. ***********************************************************************) (*CellTagsOutline CellTagsIndex->{ "Kernel"->{ Cell[2700, 91, 1096, 24, 260, "Text", CellTags->{"Kernel", "Built-in functions"}]}, "Built-in functions"->{ Cell[2700, 91, 1096, 24, 260, "Text", CellTags->{"Kernel", "Built-in functions"}], Cell[205233, 4250, 134, 4, 46, "SmallText", CellTags->"Built-in functions"]}, "Tour of Mathematica"->{ Cell[3799, 117, 1530, 36, 260, "Text", CellTags->{ "Tour of Mathematica", "The Mathematica Journal", "Tricks of the Trade", "In and Out"}]}, "The Mathematica Journal"->{ Cell[3799, 117, 1530, 36, 260, "Text", CellTags->{ "Tour of Mathematica", "The Mathematica Journal", "Tricks of the Trade", "In and Out"}]}, "Tricks of the Trade"->{ Cell[3799, 117, 1530, 36, 260, "Text", CellTags->{ "Tour of Mathematica", "The Mathematica Journal", "Tricks of the Trade", "In and Out"}]}, "In and Out"->{ Cell[3799, 117, 1530, 36, 260, "Text", CellTags->{ "Tour of Mathematica", "The Mathematica Journal", "Tricks of the Trade", "In and Out"}]}, "Packages"->{ Cell[5332, 155, 521, 13, 116, "Text", CellTags->{ "Packages", "Function Browser", "Reference Guide", "Version 3"}]}, "Function Browser"->{ Cell[5332, 155, 521, 13, 116, "Text", CellTags->{ "Packages", "Function Browser", "Reference Guide", "Version 3"}]}, "Reference Guide"->{ Cell[5332, 155, 521, 13, 116, "Text", CellTags->{ "Packages", "Function Browser", "Reference Guide", "Version 3"}]}, "Version 3"->{ Cell[5332, 155, 521, 13, 116, "Text", CellTags->{ "Packages", "Function Browser", "Reference Guide", "Version 3"}], Cell[24808, 976, 949, 33, 140, "Text", CellTags->"Version 3"]}, "Interpreted code"->{ Cell[5856, 170, 823, 17, 212, "Text", CellTags->{"Interpreted code", "Compiled code", "Spreadsheet"}]}, "Compiled code"->{ Cell[5856, 170, 823, 17, 212, "Text", CellTags->{"Interpreted code", "Compiled code", "Spreadsheet"}], Cell[24190, 953, 615, 21, 92, "Text", CellTags->"Compiled code"], Cell[29371, 1154, 431, 12, 92, "Text", CellTags->{"Sound", "Compiled code"}]}, "Spreadsheet"->{ Cell[5856, 170, 823, 17, 212, "Text", CellTags->{"Interpreted code", "Compiled code", "Spreadsheet"}], Cell[179025, 3363, 490, 16, 71, "Exercise", CellTags->"Spreadsheet"]}, "Programming principles"->{ Cell[6682, 189, 638, 15, 140, "Text", CellTags->{ "Programming principles", "Program verification", "Efficiency", "Generalisation"}]}, "Program verification"->{ Cell[6682, 189, 638, 15, 140, "Text", CellTags->{ "Programming principles", "Program verification", "Efficiency", "Generalisation"}]}, "Efficiency"->{ Cell[6682, 189, 638, 15, 140, "Text", CellTags->{ "Programming principles", "Program verification", "Efficiency", "Generalisation"}], Cell[205782, 4267, 502, 13, 124, "SmallText", CellTags->{"List", "Efficiency", "Procedural programming"}]}, "Generalisation"->{ Cell[6682, 189, 638, 15, 140, "Text", CellTags->{ "Programming principles", "Program verification", "Efficiency", "Generalisation"}]}, "Typed Compiling"->{ Cell[25782, 1013, 152, 8, 56, "Subsection", CellTags->"Typed Compiling"]}, "Mandlebrot set"->{ Cell[25959, 1025, 141, 4, 68, "Text", CellTags->"Mandlebrot set"]}, "Underlying algorithm"->{ Cell[26676, 1047, 785, 24, 117, "Text", CellTags->{"Underlying algorithm", "Machine numbers"}]}, "Machine numbers"->{ Cell[26676, 1047, 785, 24, 117, "Text", CellTags->{"Underlying algorithm", "Machine numbers"}]}, "Complex variables"->{ Cell[27464, 1073, 1248, 46, 141, "Text", CellTags->"Complex variables"]}, "Sound"->{ Cell[29371, 1154, 431, 12, 92, "Text", CellTags->{"Sound", "Compiled code"}]}, "Logistic mapping"->{ Cell[29827, 1170, 471, 14, 68, "Text", CellTags->{"Logistic mapping", "Iterative programming"}]}, "Iterative programming"->{ Cell[29827, 1170, 471, 14, 68, "Text", CellTags->{"Logistic mapping", "Iterative programming"}]}, "Period-doubling route to chaos"->{ Cell[173594, 3195, 189, 6, 54, "Text", CellTags->"Period-doubling route to chaos"]}, "Notebooks"->{ Cell[173918, 3213, 440, 8, 140, "Text", CellTags->{"Notebooks", "Front end"}]}, "Front end"->{ Cell[173918, 3213, 440, 8, 140, "Text", CellTags->{"Notebooks", "Front end"}]}, "Block"->{ Cell[191892, 3690, 161, 5, 62, "Section", CellTags->{"Block", "Module", "Variable scoping"}], Cell[193787, 3776, 390, 18, 29, "Text", CellTags->"Block"], Cell[199065, 4011, 956, 31, 64, "Text", CellTags->{"Block", "Module", "System variable"}], Cell[202306, 4137, 411, 13, 43, "Text", CellTags->{"Block", "Module"}]}, "Module"->{ Cell[191892, 3690, 161, 5, 62, "Section", CellTags->{"Block", "Module", "Variable scoping"}], Cell[196462, 3892, 433, 19, 50, "Text", CellTags->"Module"], Cell[199065, 4011, 956, 31, 64, "Text", CellTags->{"Block", "Module", "System variable"}], Cell[202306, 4137, 411, 13, 43, "Text", CellTags->{"Block", "Module"}]}, "Variable scoping"->{ Cell[191892, 3690, 161, 5, 62, "Section", CellTags->{"Block", "Module", "Variable scoping"}]}, "Tracing computations"->{ Cell[194384, 3808, 202, 7, 27, "Text", CellTags->"Tracing computations"]}, "Dynamic scoping"->{ Cell[195936, 3863, 352, 13, 29, "Text", CellTags->"Dynamic scoping"]}, "Lexical scoping"->{ Cell[198614, 3985, 267, 10, 29, "Text", CellTags->"Lexical scoping"]}, "System variable"->{ Cell[199065, 4011, 956, 31, 64, "Text", CellTags->{"Block", "Module", "System variable"}]}, "$RecursionLimit"->{ Cell[201959, 4119, 151, 4, 27, "Text", CellTags->"$RecursionLimit"]}, "Natural implementation"->{ Cell[204127, 4219, 239, 7, 72, "SmallText", CellTags->"Natural implementation"]}, "Mathematica syntax"->{ Cell[204369, 4228, 315, 8, 98, "SmallText", CellTags->"Mathematica syntax"]}, "Functional dependence"->{ Cell[204687, 4238, 543, 10, 202, "SmallText", CellTags->"Functional dependence"]}, "Full names"->{ Cell[205370, 4256, 409, 9, 124, "SmallText", CellTags->{ "Full names", "Descriptive names", "User-defined rules", "Command Completion"}]}, "Descriptive names"->{ Cell[205370, 4256, 409, 9, 124, "SmallText", CellTags->{ "Full names", "Descriptive names", "User-defined rules", "Command Completion"}]}, "User-defined rules"->{ Cell[205370, 4256, 409, 9, 124, "SmallText", CellTags->{ "Full names", "Descriptive names", "User-defined rules", "Command Completion"}]}, "Command Completion"->{ Cell[205370, 4256, 409, 9, 124, "SmallText", CellTags->{ "Full names", "Descriptive names", "User-defined rules", "Command Completion"}]}, "List"->{ Cell[205782, 4267, 502, 13, 124, "SmallText", CellTags->{"List", "Efficiency", "Procedural programming"}]}, "Procedural programming"->{ Cell[205782, 4267, 502, 13, 124, "SmallText", CellTags->{"List", "Efficiency", "Procedural programming"}]}, "Functional programming"->{ Cell[206287, 4282, 573, 13, 176, "SmallText", CellTags->"Functional programming"]} } *) (*CellTagsIndex CellTagsIndex->{ {"Kernel", 245100, 5636}, {"Built-in functions", 245220, 5639}, {"Tour of Mathematica", 245428, 5644}, {"The Mathematica Journal", 245625, 5649}, {"Tricks of the Trade", 245818, 5654}, {"In and Out", 246002, 5659}, {"Packages", 246184, 5664}, {"Function Browser", 246341, 5668}, {"Reference Guide", 246497, 5672}, {"Version 3", 246647, 5676}, {"Interpreted code", 246877, 5682}, {"Compiled code", 247012, 5685}, {"Spreadsheet", 247309, 5692}, {"Programming principles", 247533, 5697}, {"Program verification", 247721, 5702}, {"Efficiency", 247899, 5707}, {"Generalisation", 248198, 5714}, {"Typed Compiling", 248381, 5719}, {"Mandlebrot set", 248488, 5722}, {"Underlying algorithm", 248594, 5725}, {"Machine numbers", 248724, 5728}, {"Complex variables", 248856, 5731}, {"Sound", 248953, 5734}, {"Logistic mapping", 249066, 5737}, {"Iterative programming", 249203, 5740}, {"Period-doubling route to chaos", 249349, 5743}, {"Notebooks", 249461, 5746}, {"Front end", 249568, 5749}, {"Block", 249671, 5752}, {"Module", 250043, 5761}, {"Variable scoping", 250426, 5770}, {"Tracing computations", 250559, 5773}, {"Dynamic scoping", 250667, 5776}, {"Lexical scoping", 250771, 5779}, {"System variable", 250875, 5782}, {"$RecursionLimit", 251000, 5785}, {"Natural implementation", 251110, 5788}, {"Mathematica syntax", 251228, 5791}, {"Functional dependence", 251345, 5794}, {"Full names", 251456, 5797}, {"Descriptive names", 251645, 5802}, {"User-defined rules", 251835, 5807}, {"Command Completion", 252025, 5812}, {"List", 252201, 5817}, {"Procedural programming", 252349, 5820}, {"Functional programming", 252497, 5823} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1731, 51, 71, 1, 74, "Title"], Cell[1805, 54, 31, 0, 64, "Subtitle"], Cell[1839, 56, 286, 7, 138, "Author"], Cell[CellGroupData[{ Cell[2150, 67, 70, 3, 58, "Section"], Cell[2223, 72, 360, 8, 116, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[2620, 85, 77, 4, 62, "Section"], Cell[2700, 91, 1096, 24, 260, "Text", CellTags->{"Kernel", "Built-in functions"}], Cell[3799, 117, 1530, 36, 260, "Text", CellTags->{ "Tour of Mathematica", "The Mathematica Journal", "Tricks of the Trade", "In and Out"}], Cell[5332, 155, 521, 13, 116, "Text", CellTags->{ "Packages", "Function Browser", "Reference Guide", "Version 3"}], Cell[5856, 170, 823, 17, 212, "Text", CellTags->{"Interpreted code", "Compiled code", "Spreadsheet"}], Cell[6682, 189, 638, 15, 140, "Text", CellTags->{ "Programming principles", "Program verification", "Efficiency", "Generalisation"}], Cell[7323, 206, 828, 15, 236, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[8188, 226, 75, 4, 62, "Section"], Cell[8266, 232, 334, 6, 116, "Text"], Cell[CellGroupData[{ Cell[8625, 242, 108, 5, 56, "Subsection"], Cell[CellGroupData[{ Cell[8758, 251, 63, 0, 44, "Text"], Cell[CellGroupData[{ Cell[8846, 255, 57, 1, 56, "Input"], Cell[8906, 258, 58, 1, 52, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[9013, 265, 145, 3, 78, "Text"], Cell[CellGroupData[{ Cell[9183, 272, 69, 1, 56, "Input"], Cell[9255, 275, 58, 1, 60, "Output"] }, Closed]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[9374, 283, 110, 5, 46, "Subsection"], Cell[CellGroupData[{ Cell[9509, 292, 129, 3, 30, "Text"], Cell[9641, 297, 192, 4, 155, "Input"], Cell[CellGroupData[{ Cell[9858, 305, 67, 1, 28, "Input"], Cell[9928, 308, 58, 1, 60, "Output"] }, Closed]] }, Open ]], Cell[10013, 313, 716, 25, 45, "Text"], Cell[CellGroupData[{ Cell[10754, 342, 310, 12, 30, "Text"], Cell[CellGroupData[{ Cell[11089, 358, 65, 1, 28, "Input"], Cell[11157, 361, 70, 1, 60, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[11264, 367, 66, 1, 25, "Input"], Cell[11333, 370, 122, 3, 60, "Output"] }, Closed]], Cell[11470, 376, 66, 1, 25, "Input"], Cell[CellGroupData[{ Cell[11561, 381, 66, 1, 28, "Input"], Cell[11630, 384, 123, 3, 60, "Output"] }, Closed]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[11814, 394, 109, 5, 46, "Subsection"], Cell[CellGroupData[{ Cell[11948, 403, 125, 3, 30, "Text"], Cell[12076, 408, 125, 3, 28, "Input"], Cell[CellGroupData[{ Cell[12226, 415, 66, 1, 28, "Input"], Cell[12295, 418, 58, 1, 60, "Output"] }, Closed]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[12414, 426, 110, 5, 46, "Subsection"], Cell[CellGroupData[{ Cell[12549, 435, 291, 11, 30, "Text"], Cell[CellGroupData[{ Cell[12865, 450, 59, 1, 28, "Input"], Cell[12927, 453, 82, 1, 60, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[13058, 460, 394, 17, 27, "Text"], Cell[CellGroupData[{ Cell[13477, 481, 60, 1, 28, "Input"], Cell[13540, 484, 58, 1, 60, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[13647, 491, 58, 0, 27, "Text"], Cell[13708, 493, 88, 1, 28, "Input"], Cell[CellGroupData[{ Cell[13821, 498, 67, 1, 28, "Input"], Cell[13891, 501, 58, 1, 60, "Output"] }, Closed]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[14010, 509, 110, 5, 46, "Subsection"], Cell[CellGroupData[{ Cell[14145, 518, 143, 3, 30, "Text"], Cell[14291, 523, 69, 1, 28, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[14397, 529, 47, 0, 30, "Text"], Cell[14447, 531, 86, 1, 28, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[14570, 537, 132, 4, 32, "Text"], Cell[CellGroupData[{ Cell[14727, 545, 61, 1, 28, "Input"], Cell[14791, 548, 58, 1, 60, "Output"] }, Closed]] }, Open ]], Cell[14876, 553, 193, 4, 43, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[15106, 562, 136, 5, 46, "Subsection"], Cell[CellGroupData[{ Cell[15267, 571, 100, 3, 30, "Text"], Cell[15370, 576, 62, 1, 28, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[15469, 582, 389, 11, 48, "Text"], Cell[15861, 595, 108, 2, 28, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[16006, 602, 56, 0, 30, "Text"], Cell[16065, 604, 60, 1, 28, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[16162, 610, 205, 7, 30, "Text"], Cell[16370, 619, 62, 1, 28, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[16469, 625, 266, 8, 30, "Text"], Cell[16738, 635, 65, 1, 28, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[16840, 641, 135, 3, 30, "Text"], Cell[16978, 646, 77, 1, 28, "Input"], Cell[17058, 649, 131, 3, 28, "Input"], Cell[17192, 654, 61, 1, 28, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[17290, 660, 749, 26, 64, "Text"], Cell[18042, 688, 80, 1, 28, "Input"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[18171, 695, 138, 5, 46, "Subsection"], Cell[18312, 702, 321, 7, 48, "Text"], Cell[CellGroupData[{ Cell[18658, 713, 115, 3, 30, "Text"], Cell[CellGroupData[{ Cell[18798, 720, 160, 4, 44, "Input"], Cell[18961, 726, 221, 4, 88, "Output"] }, Closed]] }, Open ]], Cell[19209, 734, 377, 12, 45, "Text"], Cell[CellGroupData[{ Cell[19611, 750, 833, 31, 48, "Text"], Cell[CellGroupData[{ Cell[20469, 785, 109, 2, 28, "Input"], Cell[20581, 789, 52, 1, 60, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[20682, 796, 356, 12, 45, "Text"], Cell[CellGroupData[{ Cell[21063, 812, 88, 1, 36, "Input"], Cell[21154, 815, 88, 1, 89, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[21291, 822, 192, 8, 27, "Text"], Cell[CellGroupData[{ Cell[21508, 834, 99, 2, 28, "Input"], Cell[21610, 838, 52, 1, 60, "Output"] }, Closed]] }, Open ]], Cell[21689, 843, 239, 8, 27, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[21977, 857, 76, 4, 62, "Section"], Cell[CellGroupData[{ Cell[22078, 865, 113, 3, 30, "Text"], Cell[22194, 870, 80, 1, 28, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[22311, 876, 413, 13, 46, "Text"], Cell[CellGroupData[{ Cell[22749, 893, 68, 1, 28, "Input"], Cell[22820, 896, 63, 1, 52, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[22932, 903, 374, 11, 45, "Text"], Cell[CellGroupData[{ Cell[23331, 918, 75, 1, 28, "Input"], Cell[23409, 921, 631, 19, 26, "Output"] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[24101, 947, 86, 4, 62, "Section"], Cell[24190, 953, 615, 21, 92, "Text", CellTags->"Compiled code"], Cell[24808, 976, 949, 33, 140, "Text", CellTags->"Version 3"], Cell[CellGroupData[{ Cell[25782, 1013, 152, 8, 56, "Subsection", CellTags->"Typed Compiling"], Cell[CellGroupData[{ Cell[25959, 1025, 141, 4, 68, "Text", CellTags->"Mandlebrot set"], Cell[26103, 1031, 558, 13, 125, "Input"] }, Open ]], Cell[26676, 1047, 785, 24, 117, "Text", CellTags->{"Underlying algorithm", "Machine numbers"}], Cell[27464, 1073, 1248, 46, 141, "Text", CellTags->"Complex variables"], Cell[28715, 1121, 498, 19, 45, "Exercise"] }, Closed]], Cell[CellGroupData[{ Cell[29250, 1145, 118, 7, 46, "Subsection"], Cell[29371, 1154, 431, 12, 92, "Text", CellTags->{"Sound", "Compiled code"}], Cell[CellGroupData[{ Cell[29827, 1170, 471, 14, 68, "Text", CellTags->{"Logistic mapping", "Iterative programming"}], Cell[30301, 1186, 208, 4, 153, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[30546, 1195, 367, 14, 45, "Exercise"], Cell[CellGroupData[{ Cell[30938, 1213, 115, 2, 56, "Input"], Cell[31056, 1217, 142511, 1974, 204, 65583, 886, "GraphicsData", "PostScript", "Graphics"] }, Closed]] }, Closed]], Cell[173594, 3195, 189, 6, 54, "Text", CellTags->"Period-doubling route to chaos"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[173832, 3207, 83, 4, 62, "Section"], Cell[173918, 3213, 440, 8, 140, "Text", CellTags->{"Notebooks", "Front end"}], Cell[CellGroupData[{ Cell[174383, 3225, 123, 7, 56, "Subsection"], Cell[174509, 3234, 199, 6, 68, "Text"], Cell[CellGroupData[{ Cell[174733, 3244, 367, 14, 45, "Exercise"], Cell[175103, 3260, 87, 1, 56, "Input"], Cell[175193, 3263, 73, 1, 56, "Input"], Cell[CellGroupData[{ Cell[175291, 3268, 161, 3, 81, "Input"], Cell[175455, 3273, 3543, 86, 314, 802, 48, "GraphicsData", "PostScript", "Graphics"] }, Closed]] }, Closed]], Cell[179025, 3363, 490, 16, 71, "Exercise", CellTags->"Spreadsheet"], Cell[179518, 3381, 66, 0, 44, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[179621, 3386, 150, 7, 46, "Subsection"], Cell[179774, 3395, 360, 13, 68, "Text"], Cell[180137, 3410, 516, 16, 63, "Exercise"], Cell[CellGroupData[{ Cell[180678, 3430, 44, 0, 44, "Text"], Cell[180725, 3432, 226, 4, 131, "Input"] }, Open ]], Cell[180966, 3439, 725, 23, 140, "Text"], Cell[CellGroupData[{ Cell[181716, 3466, 35, 0, 44, "Text"], Cell[181754, 3468, 341, 6, 156, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[182132, 3479, 31, 0, 44, "Text"], Cell[CellGroupData[{ Cell[182188, 3483, 80, 1, 56, "Input"], Cell[182271, 3486, 9207, 187, 307, 1569, 88, "GraphicsData", "PostScript", "Graphics"] }, Closed]] }, Open ]], Cell[191505, 3677, 338, 7, 126, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[191892, 3690, 161, 5, 62, "Section", CellTags->{"Block", "Module", "Variable scoping"}], Cell[192056, 3697, 584, 19, 50, "Text"], Cell[192643, 3718, 247, 8, 32, "Text"], Cell[192893, 3728, 521, 19, 48, "Text"], Cell[CellGroupData[{ Cell[193439, 3751, 111, 7, 46, "Subsection"], Cell[CellGroupData[{ Cell[193575, 3762, 22, 0, 30, "Text"], Cell[CellGroupData[{ Cell[193622, 3766, 58, 1, 30, "Input"], Cell[193683, 3769, 55, 1, 64, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[193787, 3776, 390, 18, 29, "Text", CellTags->"Block"], Cell[CellGroupData[{ Cell[194202, 3798, 71, 1, 28, "Input"], Cell[194276, 3801, 59, 1, 64, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[194384, 3808, 202, 7, 27, "Text", CellTags->"Tracing computations"], Cell[CellGroupData[{ Cell[194611, 3819, 78, 1, 28, "Input"], Cell[194692, 3822, 1217, 37, 94, "Output"] }, Closed]] }, Open ]], Cell[195936, 3863, 352, 13, 29, "Text", CellTags->"Dynamic scoping"] }, Closed]], Cell[CellGroupData[{ Cell[196325, 3881, 112, 7, 30, "Subsection"], Cell[CellGroupData[{ Cell[196462, 3892, 433, 19, 50, "Text", CellTags->"Module"], Cell[CellGroupData[{ Cell[196920, 3915, 72, 1, 28, "Input"], Cell[196995, 3918, 59, 1, 64, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[197103, 3925, 445, 20, 29, "Text"], Cell[CellGroupData[{ Cell[197573, 3949, 79, 1, 28, "Input"], Cell[197655, 3952, 932, 29, 94, "Output"] }, Closed]] }, Open ]], Cell[198614, 3985, 267, 10, 29, "Text", CellTags->"Lexical scoping"] }, Closed]], Cell[CellGroupData[{ Cell[198918, 4000, 122, 7, 30, "Subsection"], Cell[CellGroupData[{ Cell[199065, 4011, 956, 31, 64, "Text", CellTags->{"Block", "Module", "System variable"}], Cell[200024, 4044, 266, 6, 118, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[200327, 4055, 46, 0, 30, "Text"], Cell[CellGroupData[{ Cell[200398, 4059, 57, 1, 28, "Input"], Cell[200458, 4062, 70, 1, 60, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[200577, 4069, 161, 7, 27, "Text"], Cell[CellGroupData[{ Cell[200763, 4080, 56, 1, 28, "Input"], Cell[200822, 4083, 60, 1, 30, "Print"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[200931, 4090, 75, 0, 27, "Text"], Cell[CellGroupData[{ Cell[201031, 4094, 58, 1, 28, "Input"], Cell[201092, 4097, 216, 5, 58, "Message"], Cell[201311, 4104, 599, 9, 360, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[201959, 4119, 151, 4, 27, "Text", CellTags->"$RecursionLimit"], Cell[CellGroupData[{ Cell[202135, 4127, 65, 1, 28, "Input"], Cell[202203, 4130, 54, 1, 60, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[202306, 4137, 411, 13, 43, "Text", CellTags->{"Block", "Module"}], Cell[202720, 4152, 63, 1, 30, "Input"], Cell[202786, 4155, 363, 7, 154, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[203186, 4167, 71, 0, 30, "Text"], Cell[CellGroupData[{ Cell[203282, 4171, 70, 1, 28, "Input"], Cell[203355, 4174, 55, 1, 60, "Output"] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[203459, 4181, 184, 7, 27, "Text"], Cell[CellGroupData[{ Cell[203668, 4192, 65, 1, 28, "Input"], Cell[203736, 4195, 54, 1, 60, "Output"] }, Closed]] }, Open ]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[203863, 4204, 76, 4, 62, "Section"], Cell[CellGroupData[{ Cell[203964, 4212, 160, 5, 82, "Text"], Cell[204127, 4219, 239, 7, 72, "SmallText", CellTags->"Natural implementation"], Cell[204369, 4228, 315, 8, 98, "SmallText", CellTags->"Mathematica syntax"], Cell[204687, 4238, 543, 10, 202, "SmallText", CellTags->"Functional dependence"], Cell[205233, 4250, 134, 4, 46, "SmallText", CellTags->"Built-in functions"], Cell[205370, 4256, 409, 9, 124, "SmallText", CellTags->{ "Full names", "Descriptive names", "User-defined rules", "Command Completion"}], Cell[205782, 4267, 502, 13, 124, "SmallText", CellTags->{"List", "Efficiency", "Procedural programming"}], Cell[206287, 4282, 573, 13, 176, "SmallText", CellTags->"Functional programming"] }, Open ]] }, Closed]] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)