Re: [BLACKBOX] Matrix slices - syntax

From: Douglas G. Danforth <"Douglas>
Date: Fri, 2 Apr 2010 15:04:21 -0700

----boundary-LibPST-iamunique-591937410_-_- Content-type: text/plain Josef, Your complex number example is a good one. It becomes even more obvious if one writes TYPE Complex1 = RECORD a, b: REAL END; Complex2 = RECORD a, b: REAL END ; for now the identifiers of the fields are the same in both cases, however, Complex1 is "meant" to refer to Cartesian coordinates and Complex2 is "meant" to refer to polar coordinates. If they were to be considered the "same" , i.e. TYPE Complex RECORD a,b: REAL END; then one could not write Arg(c: Complex): REAL; and call c: Complex1; Arg(c) for the procedure Arge would not know how to compute the function which, under the two different representations, would be Arg => c.b (* Complex2 *)) Arg => Math.Atan2(c.b,c.a) (* Complex1 *) So Name Equivalence is indeed necessary. -Doug Josef Templ wrote: Languages in the Pascal family (Pascal, Modula-2, Oberon, CP) always employed a type eqivalence principle named 'Name Equivalence' rather than 'Structural Equivalence'. Two types are compatible if they refer to one and the same type constructor (ARRAY, RECORD, PROCEDURE). For reusing such a type constructor you must give it a name and reuse the name of the type. The main reason, as far as I know, is that name equivalence is more expressive than structural equivalence because the former also allows you to express 'incompatibility' by introducing multiple type constructors. Look for the famous example of complex numbers, which may be expressed in cartesian or polar coordinates. Both representations have the same structure but are clearly incompatible. TYPE Complex1 = RECORD x, y: REAL END; Complex2 = RECORD r, phi: REAL END ; The compiler may also be simplified a bit and type checking is faster but I think these are not the main reasons. There are only a few exceptions from the name equivalence principle. One is the usage of open arrays, which have been introduced for string and vector operations. Fixed sized arrays follow the name equivalence rule just like records do. In your case, why don't you define M3Desc as: M3Desc = ARRAY 3 OF V3Desc; which would make it explicit that the element type of M3Desc is V3Desc. - Josef ----- Original Message ----- From: Douglas G. Danforth To: BLACKBOX{([at]})nowhere.xySubject: [BLACKBOX] Matrix slices - syntax Folks, I don't understand this. If I define a procedure that takes an ARRAY OF REAL and pass it an row of a matrix then that works BUT if I specialize the procedure to take an ARRAY 3 OF REAL and pass it a row of a matrix ARRAY 3,3 OF REAL then the compiler complains. TYPE VDesc = ARRAY OF REAL; V3Desc = ARRAY 3 OF REAL; MDesc = ARRAY OF ARRAY OF REAL; M3Desc = ARRAY 3,3 OF REAL; PROCEDURE Q (IN v: VDesc); BEGIN END Q; PROCEDURE Q3 (IN v: V3Desc); BEGIN END Q3; PROCEDURE Test; VAR m3: M3Desc; BEGIN Q(m3[0]); (* works *) Q3(m3[0]) (* fails! incompatible assignment *) END Test; The "slice" m3[0], which is the first row of m3, is accepted by a routine that accepts general non specific vectors but that same slice which has length 3 is rejected by a routine that wants vectors of length 3. Why? I really don't understand the strong typing in this case. -Doug Danforth ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ---- To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to LISTSERV{([at]})nowhere.xy ----boundary-LibPST-iamunique-591937410_-_- Content-type: application/rtf Content-transfer-encoding: base64 Content-Disposition: attachment; filename="rtf-body.rtf" e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbWh0bWwxIFxkZWZmMHtcZm9udHRibA0Ke1xmMFxm c3dpc3NcZmNoYXJzZXQwIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYy XGZuaWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIg TmV3O319DQp7XGNvbG9ydGJsXHJlZDBcZ3JlZW4wXGJsdWUwO1xyZWQwXGdyZWVuMFxibHVlMjU1 O30NClx1YzFccGFyZFxwbGFpblxkZWZ0YWIzNjAgXGYwXGZzMjQgDQp7XCpcaHRtbHRhZzI0MyA8 IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwv L0VOIj59DQp7XCpcaHRtbHRhZzMgXHBhciB9DQp7XCpcaHRtbHRhZzE5IDxodG1sPn0NCntcKlxo dG1sdGFnMiBccGFyIH0NCntcKlxodG1sdGFnMzQgPGhlYWQ+fQ0Ke1wqXGh0bWx0YWcxIFxwYXIg fQ0Ke1wqXGh0bWx0YWcyNDEgICB9DQp7XCpcaHRtbHRhZzEgXHBhciB9DQp7XCpcaHRtbHRhZzQx IDwvaGVhZD59DQp7XCpcaHRtbHRhZzIgXHBhciB9DQp7XCpcaHRtbHRhZzUwIDxib2R5IGJnY29s b3I9IiNmZmZmZmYiIHRleHQ9IiMwMDAwMDAiPn1caHRtbHJ0ZiBcdmlld2tpbmQ1DQp7XCpcYmFj a2dyb3VuZCB7XHNocHtcKlxzaHBpbnN0e1xzcHtcc24gZmlsbENvbG9yfXtcc3YgMTY3NzcyMTV9 fXtcc3B7XHNuIGZGaWxsZWR9e1xzdiAxfX19fX1caHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzAgXHBh ciB9e1wqXGh0bWx0YWc2NH1caHRtbHJ0ZiB7XGh0bWxydGYwIEpvc2VmLA0Ke1wqXGh0bWx0YWcx MTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVlv dXIgY29tcGxleCBudW1iZXIgZXhhbXBsZSBpcyBhIGdvb2Qgb25lLg0Ke1wqXGh0bWx0YWcxMTYg PGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUl0IGJl Y29tZXMgZXZlbiBtb3JlIG9idmlvdXMgaWYgb25lIHdyaXRlcw0Ke1wqXGh0bWx0YWcxMTYgPGJy Pn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0 bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxw YXIgfVRZUEUgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIENv bXBsZXgxID0gUkVDT1JEIGEsIGI6IFJFQUwgRU5EOw0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1s cnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0 ZiBcJ2EwXGh0bWxydGYwIENvbXBsZXgyID0gUkVDT1JEIGEsIGI6IFJFQUwgRU5EIDsNCntcKlxo dG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1c aHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0 YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIg fWZvciBub3cgdGhlIGlkZW50aWZpZXJzIG9mIHRoZSBmaWVsZHMgYXJlIHRoZSBzYW1lIGluIGJv dGggY2FzZXMsDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAg DQp7XCpcaHRtbHRhZzQgXHBhciB9aG93ZXZlciwgQ29tcGxleDEgaXMgIm1lYW50IiB0byByZWZl ciB0byBDYXJ0ZXNpYW4gY29vcmRpbmF0ZXMNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYg XGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1hbmQgQ29tcGxleDIgaXMgIm1l YW50IiB0byByZWZlciB0byBwb2xhciBjb29yZGluYXRlcy4NCntcKlxodG1sdGFnMTE2IDxicj59 XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1s dGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFy IH1JZiB0aGV5IHdlcmUgdG8gYmUgY29uc2lkZXJlZCB0aGUgInNhbWUiICwgaS5lLg0Ke1wqXGh0 bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxw YXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc0IFxwYXIgfVRZUEUgQ29tcGxleCBSRUNPUkQgYSxiOiBSRUFMIEVORDsNCntcKlxo dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc cGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntc KlxodG1sdGFnNCBccGFyIH10aGVuIG9uZSBjb3VsZCBub3Qgd3JpdGUgQXJnKGM6IENvbXBsZXgp OiBSRUFMOw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc0IFxwYXIgfWFuZCBjYWxsDQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRm IFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzExNiA8 YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpc aHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAm bmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1s cnRmIFwnYTBcaHRtbHJ0ZjAgIGM6IENvbXBsZXgxOw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4 NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxo dG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2Ew XGh0bWxydGYwICBBcmcoYykNCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxo dG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxy dGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1mb3IgdGhlIHByb2NlZHVy ZSBBcmdlIHdvdWxkIG5vdCBrbm93IGhvdyB0byBjb21wdXRlIHRoZSANCntcKlxodG1sdGFnMTE2 IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1mdW5j dGlvbiB3aGljaCwgdW5kZXIgdGhlIHR3byBkaWZmZXJlbnQgcmVwcmVzZW50YXRpb25zLCB3b3Vs ZCBiZQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0 bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxy dGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwICBBcmcg PQ0Ke1wqXGh0bWx0YWc4NCAmZ3Q7fVxodG1scnRmID5caHRtbHJ0ZjAgIGMuYg0Ke1wqXGh0bWx0 YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQgJm5ic3A7 fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgICgqIENvbXBsZXgyICopKQ0Ke1wqXGh0bWx0YWcxMTYg PGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wq XGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCANCntcKlxodG1sdGFnODQg Jm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRt bHJ0ZiBcJ2EwXGh0bWxydGYwICBBcmcgPQ0Ke1wqXGh0bWx0YWc4NCAmZ3Q7fVxodG1scnRmID5c aHRtbHJ0ZjAgIE1hdGguQXRhbjIoYy5iLGMuYSkNCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1s cnRmIFwnYTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0 bWxydGYwICAoKiBDb21wbGV4MSAqKQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1c aHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVNvIE5hbWUgRXF1 aXZhbGVuY2UgaXMgaW5kZWVkIG5lY2Vzc2FyeS4NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxy dGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnMTE2 IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0tRG91 Zw0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxy dGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfUpvc2VmIFRlbXBsIHdyb3RlOg0Ke1wqXGh0bWx0YWc0 IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAge1wqXGh0bWx0YWc3Mn1caHRtbHJ0ZlxwYXJ9XGh0 bWxydGYwDQoNCntcKlxodG1sdGFnOTYgPGJsb2NrcXVvdGUgY2l0ZT0ibWlkOjYwQjFEQzZFMkFB RTQ4NjY5NEIwN0QxOTk3ODg0QzkxQE1PREVDU0pUIlxwYXIgIHR5cGU9ImNpdGUiPn1caHRtbHJ0 ZiBccGFyDQp7XGh0bWxydGYwIHtcKlxodG1sdGFnNjR9XGh0bWxydGYge1xodG1scnRmMCBcbGkz NjAgTGFuZ3VhZ2VzIGluIHRoZSBQYXNjYWwgZmFtaWx5IChQYXNjYWwsIE1vZHVsYS0yLCBPYmVy b24sDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCBDUCkNCntcKlxodG1s dGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxo dG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBc cGFyIH1hbHdheXMgZW1wbG95ZWQgYSB0eXBlIGVxaXZhbGVuY2UgcHJpbmNpcGxlIG5hbWVkICdO YW1lIEVxdWl2YWxlbmNlJw0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAg cmF0aGVyIHRoYW4gJ1N0cnVjdHVyYWwgRXF1aXZhbGVuY2UnLg0Ke1wqXGh0bWx0YWc0IFxwYXIg fVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYg PGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVR3byB0 eXBlcyBhcmUgY29tcGF0aWJsZSBpZiB0aGV5IHJlZmVyIHRvIG9uZSBhbmQgdGhlIHNhbWUgdHlw ZQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0 ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc0IFxwYXIgfWNvbnN0cnVjdG9yIChBUlJBWSwgUkVDT1JELCBQUk9DRURVUkUpLg0K e1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAg fQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfUZvciByZXVzaW5nIHN1Y2ggYSB0eXBlIGNvbnN0cnVjdG9yIHlvdSBtdXN0 IGdpdmUgaXQgYSBuYW1lIGFuZA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0 ZjAgDQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfXJldXNlIHRoZSBuYW1lIG9mIHRoZSB0 eXBlLg0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh Zzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2IDxi cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1UaGUgbWFp biByZWFzb24sIGFzIGZhciBhcyBJIGtub3csIGlzIHRoYXQgbmFtZSBlcXVpdmFsZW5jZQ0Ke1wq XGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAgfQ0K e1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWc0IFxwYXIgfWlzIG1vcmUgZXhwcmVzc2l2ZSB0aGFuIHN0cnVjdHVyYWwgZXF1aXZhbGVuY2Ug YmVjYXVzZSB0aGUgZm9ybWVyDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRm MCANCntcKlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9YWxzbyBhbGxvd3MgeW91IHRvIGV4cHJl c3MgJ2luY29tcGF0aWJpbGl0eScgYnkgaW50cm9kdWNpbmcgbXVsdGlwbGUNCntcKlxodG1sdGFn NCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1s dGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFy IH10eXBlIGNvbnN0cnVjdG9ycy4NCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxy dGYwIA0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxp bmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICB9DQp7 XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh ZzQgXHBhciB9TG9vayBmb3IgdGhlIGZhbW91cyBleGFtcGxlIG9mIGNvbXBsZXggbnVtYmVycywN CntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAg IH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxo dG1sdGFnNCBccGFyIH13aGljaCBtYXkgYmUgZXhwcmVzc2VkIGluIGNhcnRlc2lhbiBvciBwb2xh ciBjb29yZGluYXRlcy4NCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxo dG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1Cb3RoIHJlcHJlc2VudGF0aW9ucyBoYXZlIHRo ZSBzYW1lIHN0cnVjdHVyZSBidXQgYXJlIGNsZWFybHkNCntcKlxodG1sdGFnNCBccGFyIH1caHRt bHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59 XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1pbmNvbXBhdGli bGUuDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCANCntcKlxodG1sdGFn ODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7 XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJy Pn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVRZUEUgDQp7 XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIENvbXBsZXgxID0gUkVD T1JEIHgsIHk6IFJFQUwgRU5EOw0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0 ZjAgDQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9 XGh0bWxydGYgXCdhMFxodG1scnRmMCBDb21wbGV4MiA9IFJFQ09SRCByLCBwaGk6IFJFQUwgRU5E IDsNCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4 NCAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntc KlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+ fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9VGhlIGNvbXBp bGVyIG1heSBhbHNvIGJlIHNpbXBsaWZpZWQgYSBiaXQgYW5kIHR5cGUgY2hlY2tpbmcgaXMgZmFz dGVyDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCANCntcKlxodG1sdGFn ODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7 XCpcaHRtbHRhZzQgXHBhciB9YnV0IEkgdGhpbmsgdGhlc2UgYXJlIG5vdCB0aGUgbWFpbiByZWFz b25zLg0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh Zzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc0IFxwYXIgfVRoZXJlIGFyZSBvbmx5IGEgZmV3IGV4Y2VwdGlvbnMgZnJvbSB0 aGUgbmFtZSBlcXVpdmFsZW5jZSBwcmluY2lwbGUuDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxy dGYgIFxodG1scnRmMCBPbmUgaXMgdGhlIHVzYWdlIG9mIG9wZW4gYXJyYXlzLCB3aGljaCBoYXZl IGJlZW4NCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCAN CntcKlxodG1sdGFnNCBccGFyIH1pbnRyb2R1Y2VkIGZvciBzdHJpbmcgYW5kIHZlY3RvciBvcGVy YXRpb25zLiBGaXhlZCBzaXplZCBhcnJheXMgZm9sbG93DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0 bWxydGYgIFxodG1scnRmMCB0aGUgbmFtZSBlcXVpdmFsZW5jZSBydWxlIGp1c3QgbGlrZSByZWNv cmRzIGRvLg0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYw IA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2 IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1JbiB5 b3VyIGNhc2UsIHdoeSBkb24ndCB5b3UgZGVmaW5lIE0zRGVzYyBhczoNCntcKlxodG1sdGFnNCBc cGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFn MTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0N CntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgTTNEZXNjID0gQVJS QVkgMyBPRiBWM0Rlc2M7DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCAN CntcKlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpc aHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9d2hpY2ggd291bGQgbWFrZSBpdCBleHBsaWNp dCB0aGF0IHRoZSBlbGVtZW50IHR5cGUgb2YgTTNEZXNjDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0 bWxydGYgIFxodG1scnRmMCANCntcKlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+ fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9aXMgVjNEZXNj Lg0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0 ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wq XGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59 XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0tIEpvc2VmDQp7 XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCANCntcKlxodG1sdGFnODQgICB9 DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfS0tLS0tIE9yaWdpbmFs IE1lc3NhZ2UgLS0tLS0gRnJvbTogRG91Z2xhcyBHLiBEYW5mb3J0aCBUbzoNCntcKlxodG1sdGFn NCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIHt9DQp7XCpcaHRtbHRhZzg0IDxhIGNsYXNzPSJt b3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzpCTEFDS0JPWEBMSVNUUy5PQkVS T04uQ0giPn1caHRtbHJ0ZiB7XGZpZWxke1wqXGZsZGluc3R7SFlQRVJMSU5LICJtYWlsdG86QkxB Q0tCT1hATElTVFMuT0JFUk9OLkNIIn19e1xmbGRyc2x0XGNmMVx1bCBcaHRtbHJ0ZjAgQkxBQ0tC T1hATElTVFMuT0JFUk9OLkNIXGh0bWxydGYgfVxodG1scnRmMCBcaHRtbHJ0ZiB9XGh0bWxydGYw IA0Ke1wqXGh0bWx0YWc5MiA8L2E+fSBTZW50OiBUaHVyc2RheSwgQXByaWwgMDEsIDIwMTAgNDoy MyBBTQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh Zzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc0IFxwYXIgfVN1YmplY3Q6IFtCTEFDS0JPWF0gTWF0cml4IHNsaWNlcyAtIHN5 bnRheA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh Zzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2IDxi cj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxo dG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0 ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9Rm9sa3MsDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxy dGYgIFxodG1scnRmMCANCntcKlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxo dG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRh Zzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc0IFxwYXIgfUkgZG9uJ3QgdW5kZXJzdGFuZCB0aGlzLg0Ke1wqXGh0bWx0YWc0 IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0 YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIg fUlmIEkgZGVmaW5lIGEgcHJvY2VkdXJlIHRoYXQgdGFrZXMgYW4gQVJSQVkgT0YgUkVBTCBhbmQN CntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAg IH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxo dG1sdGFnNCBccGFyIH1wYXNzIGl0IGFuIHJvdyBvZiBhIG1hdHJpeCB0aGVuIHRoYXQgd29ya3Mg QlVUIGlmIEkgc3BlY2lhbGl6ZQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0 ZjAgDQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGlu ZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfXRoZSBwcm9jZWR1cmUgdG8gdGFrZSBh biBBUlJBWSAzIE9GIFJFQUwgYW5kIHBhc3MgaXQgYQ0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1s cnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1c aHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfXJvdyBvZiBhIG1h dHJpeCBBUlJBWSAzLDMgT0YgUkVBTCB0aGVuIHRoZSBjb21waWxlciBjb21wbGFpbnMuDQp7XCpc aHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCANCntcKlxodG1sdGFnODQgICB9DQp7 XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRh ZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0 ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVRZUEUNCntcKlxodG1sdGFn NCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1s dGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFy IH1WRGVzYyA9IEFSUkFZIE9GIFJFQUw7DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxo dG1scnRmMCANCntcKlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRm IFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9VjNEZXNjID0gQVJSQVkgMyBP RiBSRUFMOw0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYw IA0Ke1wqXGh0bWx0YWc0IFxwYXIgfU1EZXNjID0gQVJSQVkgT0YgQVJSQVkgT0YgUkVBTDsNCntc KlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgIH0N CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s dGFnNCBccGFyIH1NM0Rlc2MgPSBBUlJBWSAzLDMgT0YgUkVBTDsNCntcKlxodG1sdGFnNCBccGFy IH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2 IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntc KlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0 ZiBcJ2EwXGh0bWxydGYwIFBST0NFRFVSRSBRIChJTiB2OiBWRGVzYyk7IEJFR0lOIEVORCBROw0K e1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAg fQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRm MCBQUk9DRURVUkUgUTMgKElOIHY6IFYzRGVzYyk7IEJFR0lOIEVORCBRMzsNCntcKlxodG1sdGFn NCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1s dGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFy IH0NCntcKlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5l DQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICZuYnNwO31c aHRtbHJ0ZiBcJ2EwXGh0bWxydGYwIFBST0NFRFVSRSBUZXN0Ow0Ke1wqXGh0bWx0YWc0IFxwYXIg fVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYg PGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wq XGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1scnRmMCBWQVIgbTM6IE0zRGVzYzsN CntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAg IH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxo dG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0 ZjAgQkVHSU4NCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0 bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRm MCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwn YTBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxydGYw ICBRKG0zWzBdKTsNCntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAg ICgqIHdvcmtzICopDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCANCntc KlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRt bHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0 ZiBcJ2EwXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAmbmJzcDt9XGh0bWxydGYgXCdhMFxodG1s cnRmMCAgUTMobTNbMF0pDQp7XCpcaHRtbHRhZzg0ICZuYnNwO31caHRtbHJ0ZiBcJ2EwXGh0bWxy dGYwICAoKiBmYWlscyEgaW5jb21wYXRpYmxlIGFzc2lnbm1lbnQgKikNCntcKlxodG1sdGFnNCBc cGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFn MTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0N CntcKlxodG1sdGFnODQgJm5ic3A7fVxodG1scnRmIFwnYTBcaHRtbHJ0ZjAgRU5EIFRlc3Q7DQp7 XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCANCntcKlxodG1sdGFnODQgICB9 DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRt bHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVRoZSAic2xpY2UiIG0z WzBdLCB3aGljaCBpcyB0aGUgZmlyc3Qgcm93IG9mIG0zLCBpcyBhY2NlcHRlZCBieSBhDQp7XCpc aHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1scnRmMCByb3V0aW5lDQp7XCpcaHRtbHRhZzQg XHBhciB9XGh0bWxydGYgIFxodG1scnRmMCANCntcKlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRh ZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9 dGhhdCBhY2NlcHRzIGdlbmVyYWwgbm9uIHNwZWNpZmljIHZlY3RvcnMgYnV0IHRoYXQgc2FtZSBz bGljZSB3aGljaA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpc aHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxy dGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfWhhcyBsZW5ndGggMyBpcyByZWplY3RlZCBieSBhIHJv dXRpbmUgdGhhdCB3YW50cyB2ZWN0b3JzIG9mIGxlbmd0aCAzLg0Ke1wqXGh0bWx0YWc0IFxwYXIg fVxodG1scnRmICBcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYg PGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVdoeT8N CntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAg IH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxo dG1sdGFnNCBccGFyIH1JIHJlYWxseSBkb24ndCB1bmRlcnN0YW5kIHRoZSBzdHJvbmcgdHlwaW5n IGluIHRoaXMgY2FzZS4NCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxo dG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICB9DQp7XCpcaHRt bHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBh ciB9LURvdWcgRGFuZm9ydGgNCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYw IA0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUN ClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICB9DQp7XCpc aHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQg XHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBc bGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfQ0Ke1wqXGh0bWx0YWc4NCAgIH0N CntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxodG1s dGFnNCBccGFyIH0tLS0tIFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgbWVzc2FnZSB3aXRoIGJvZHkg IlNJR05PRkYgQkxBQ0tCT1giIHRvDQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1s cnRmMCB7fQ0Ke1wqXGh0bWx0YWc4NCA8YSBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVk IiBocmVmPSJtYWlsdG86TElTVFNFUlZATElTVFMuT0JFUk9OLkNIIj59XGh0bWxydGYge1xmaWVs ZHtcKlxmbGRpbnN0e0hZUEVSTElOSyAibWFpbHRvOkxJU1RTRVJWQExJU1RTLk9CRVJPTi5DSCJ9 fXtcZmxkcnNsdFxjZjFcdWwgXGh0bWxydGYwIExJU1RTRVJWQExJU1RTLk9CRVJPTi5DSFxodG1s cnRmIH1caHRtbHJ0ZjAgXGh0bWxydGYgfVxodG1scnRmMCANCntcKlxodG1sdGFnOTIgPC9hPn0N CntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAg IH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYgXGxpbmUNClxodG1scnRmMCANCntcKlxo dG1sdGFnNCBccGFyIH0NCntcKlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxo dG1scnRmIFxsaW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRh Zzg0ICAgfQ0Ke1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0K e1wqXGh0bWx0YWc0IFxwYXIgfS0tLS0NCntcKlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0 bWxydGYwIA0Ke1wqXGh0bWx0YWc4NCAgIH0NCntcKlxodG1sdGFnMTE2IDxicj59XGh0bWxydGYg XGxpbmUNClxodG1scnRmMCANCntcKlxodG1sdGFnNCBccGFyIH1UbyB1bnN1YnNjcmliZSwgc2Vu ZCBhIG1lc3NhZ2Ugd2l0aCBib2R5ICJTSUdOT0ZGIEJMQUNLQk9YIiB0bw0Ke1wqXGh0bWx0YWc0 IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAge30NCntcKlxodG1sdGFnODQgPGEgY2xhc3M9Im1v ei10eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOkxJU1RTRVJWQExJU1RTLk9CRVJP Ti5DSCI+fVxodG1scnRmIHtcZmllbGR7XCpcZmxkaW5zdHtIWVBFUkxJTksgIm1haWx0bzpMSVNU U0VSVkBMSVNUUy5PQkVST04uQ0gifX17XGZsZHJzbHRcY2YxXHVsIFxodG1scnRmMCBMSVNUU0VS VkBMSVNUUy5PQkVST04uQ0hcaHRtbHJ0ZiB9XGh0bWxydGYwIFxodG1scnRmIH1caHRtbHJ0ZjAg DQp7XCpcaHRtbHRhZzkyIDwvYT59DQp7XCpcaHRtbHRhZzQgXHBhciB9XGh0bWxydGYgIFxodG1s cnRmMCANCntcKlxodG1sdGFnODQgICB9DQp7XCpcaHRtbHRhZzExNiA8YnI+fVxodG1scnRmIFxs aW5lDQpcaHRtbHJ0ZjAgDQp7XCpcaHRtbHRhZzQgXHBhciB9DQp7XCpcaHRtbHRhZzg0ICAgfQ0K e1wqXGh0bWx0YWcxMTYgPGJyPn1caHRtbHJ0ZiBcbGluZQ0KXGh0bWxydGYwIA0Ke1wqXGh0bWx0 YWc0IFxwYXIgfXtcKlxodG1sdGFnNzJ9XGh0bWxydGZccGFyfVxodG1scnRmMA0KDQp7XCpcaHRt bHRhZzEwNCA8L2Jsb2NrcXVvdGU+fVxodG1scnRmIH1ccGFyDQpcaHRtbHJ0ZjAgDQp7XCpcaHRt bHRhZzAgXHBhciB9DQp7XCpcaHRtbHRhZzU4IDwvYm9keT59DQp7XCpcaHRtbHRhZzIgXHBhciB9 DQp7XCpcaHRtbHRhZzI3IDwvaHRtbD59DQp7XCpcaHRtbHRhZzMgXHBhciB9DQp7XCpcaHRtbHRh ZzY0IDxwPn1caHRtbHJ0ZiB7XGh0bWxydGYwIA0Ke1wqXGh0bWx0YWc0IFxwYXIgfS0tLS0NCntc KlxodG1sdGFnNCBccGFyIH1caHRtbHJ0ZiAgXGh0bWxydGYwIFRvIHVuc3Vic2NyaWJlLCBzZW5k IGEgbWVzc2FnZSB3aXRoIGJvZHkgIlNJR05PRkYgQkxBQ0tCT1giIHRvIExJU1RTRVJWQExJU1RT Lk9CRVJPTi5DSA0Ke1wqXGh0bWx0YWc0IFxwYXIgfVxodG1scnRmICBcaHRtbHJ0ZjAgXGh0bWxy dGZccGFyfVxodG1scnRmMA0KfQ== ----boundary-LibPST-iamunique-591937410_-_--- Received on Sat Apr 03 2010 - 00:04:21 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:33 UTC