ÐÏࡱá>þÿ þÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿpª|YªrσRASHp wžÂþÿÿÿContentsÿÿÿÿÿÿÿÿ'RPage 1ÿÿÿÿÿÿÿÿÿÿÿÿiÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ !"#$%&þÿÿÿ()*+,-./0þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿpª|YªrσRASHÃ^šÂþÿÿÿContentsÿÿÿÿÿÿÿÿRPage 1ÿÿÿÿÿÿÿÿÿÿÿÿyÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿýÿÿÿ þÿÿÿ1ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿCPicPageÿÿ CPicLayerÿÿ CPicFrameÿÿCPicText€€ {$Wÿÿÿ…Ûÿÿ�l @TÀArial3f3n"äýfor(i in doc.firstChild. attributes) {trace(i + ": " +doc.firstChild.attributes[i]);ÿÿ CPicShape€€€ $"´¿8@Arialÿÿÿÿ"¬þP €€€ fÌ™ÿó^;˜�ò¾�/Ñ/Ñq0¸B/q//q/0p BqÑ/Ñ/�0Hþ¾Ñ�ÑÑ�Ñ€€€ _Èø8@Arialÿÿÿÿ"¬þxmlDoc€€€ �'´’8@Arialÿÿÿÿ"¬þ#text€€fÌ™ÿóœUÀ¸0èþ03’í„ý0èþ þ0ý3üøý0|3Œ ¸¦ý0èþ00ý3üú0¸3( 06ö3Ê üIö0 ¤0èþ0 €€€Ä�[šýÿÿ]ûÿÿ3f3nóÈU°"˜®0¶0hQ0J€ Ž$—…ÛÿÿÙ0@ÀArialÿÿÌÿ"¬þxml object code sample €€€˜Ì˜¸óÈU°"˜®0¶0hQ0J€ Hþÿÿn ¹6u@ Arial3f3n"¬þ€€ 3f3ÿû(˜Zh8ÿïÀ8ÿrÌ8*ª8æ˜8"Š0 U0ÐÁ0`ª8œpÿÿÿ?ÿÿ€€ backgroundÿÿÿÿÿOOÿ€€€€€ d‹C*˜@ò@ArialÿÿÌÿ"this is a code demo showing how to strip empty whitespace nodes from an xml object. view the code on the first frame of the scripts layer. export the movie and watch the output window to see the results of the trace statements in the code...€€ÿÿÿ?ÿÿ„c€€ contentÿÿÿÿOÿOÿ€€€€ÿÿÿ?ÿÿëÿ // make an xml doc with whitespace. externally loaded docs very often have lots of whitespace between tags doc = new XML(' ActionScript: The Definitive Guide' + 'Colin Moock ' + 'O\'reilly & Associates, Inc '); // let's see what our doc looks like before we remove the whitespace nodes trace("\n-------------before empty node strip------------------"); trace(doc); // see below for two different whitespace stripping functions. the function // stripWhitespaceDoublePass is faster than stripWhitespaceTraverse in the // flash 5 player because Array.concat() is slow. stripWhitespaceDoublePass(doc); // uncomment the following line to try the other function. // stripWhitespaceTraverse (doc); // all clean! let's look at the new version trace("\n-------------after empty node strip------------------"); trace(doc); // Function: stripWhitespaceTraverse() // Version: 1.0.1 // Desc: Strips whitespace nodes from an // XML document by traversing the tree function stripWhitespaceTraverse (XMLnode) { // Create a list of nodes to process var nodeList = new Array(); // Seed the list with the node passed to the function nodeList[0] = XMLnode; // Create a local variable to track whether we've // found an empty node. var emptyNode; // Local counter variable. var i = 0; // Process the passed node and its descendents until // there are none left to process while (nodeList.length > 0) { // Grab the first node on the list, and remove it from the list currentNode = nodeList.shift(); // Assume we're dealing with a non-empty node. emptyNode = false; // If this node has children... if (currentNode.childNodes.length > 0) { // ...add this node's children to the list of nodes to process nodeList = nodeList.concat(currentNode.childNodes); } else { // ...otherwise, this node is the end of a branch, so check if it's a // text node... if (currentNode.nodeType == 3) { // Yup, it's a text node, so check if it only contains empty whitespace. // Assume it's only whitespace and try to prove the assumption wrong. emptyNode = true; for(i = 0; i < currentNode.nodeValue.length; i++) { // A useful character is anything over 32 (space, // tab, new line, etc are all below). if(currentNode.nodeValue.charCodeAt(i) > 32) { emptyNode = false; break; } } } // If no useful charaters were found, delete the node if(emptyNode) { currentNode.removeNode(); } } } } // Strips whitespace nodes from an XML document // by passing twice through each level in the tree function stripWhitespaceDoublePass(XMLnode) { // Loop through all the children of XMLnode for (var i = 0; i < XMLnode.childNodes.length; i++) { // If the current node is a text node... if(XMLnode.childNodes[i].nodeType == 3) { // ...check for any useful characters in the node. var j = 0; var emptyNode = true; for(j = 0;j < XMLnode.childNodes[i].nodeValue.length; j++) { // A useful character is anything over 32 (space, tab, // new line, etc are all below). if(XMLnode.childNodes[i].nodeValue.charCodeAt(j) > 32) { emptyNode = false; break; } } // If no useful charaters were found, delete the node. if(emptyNode) { XMLnode.childNodes[i].removeNode(); } } } // Now that all the whitespace nodes have been removed from XMLnode, // call stripWhitespaceDoublePass on its remaining children. for(var k = 0; k < XMLnode.childNodes.length; k++) { stripWhitespaceDoublePass(XMLnode.childNodes[k]); } }€€ scriptsÿÿÿÿO€ÿÿ€€ÿÿÿÿ}õ =ÿÿÿÿø*@h�hhhhÌ33ÿÀÀÀÿ ´Vector::Template0"PublishFormatProperties::generatorÿÿÿÿýÿÿ CColorDefÿ€ÿ€ÿ€3ÿPï€fÿPï0€™ÿPïH€ÌÿPï`€ÿÿPïx€3)ÿÿ CDocumentPagePage 1Scene 1Ž…Ã9 ÿÿÿÿ¬÷ =ÿÿÿÿø*@h�hhhhÌ33ÿÀÀÀÿ ´Vector::Template0"PublishFormatProperties::generatorÿÿÿÿýÿÿ CColorDefÿ€ÿ€ÿ€3ÿPï€fÿPï0€™ÿPïH€ÌÿPï`€ÿÿPïx€3ÿï€33ÿ(ï€3fÿ<ï0€3™ÿCïH€3ÌÿFï`€3ÿÿHïx€fÿï0€f3ÿï0€ffÿ(ï0€f™ÿ5ïH€fÌÿ<ï`€fÿÿ@ïx€ÿ€333ÿ0€ÿ€3ÿ ï€33ÿxï€f3ÿdï0€™3ÿ]ïH€Ì3ÿZï`€ÿ3ÿXïx€33ÿÈï€333ÿ0€3f3ÿPPH€3™3ÿPx`€3Ì3ÿP�x€3ÿ3ÿPï�€f3ÿÜï0€f33ÿPH€ff3ÿ(PH€f™3ÿ<x`€fÌ3ÿC�x€fÿ3ÿFï�€ÿ€fffÿ`€ÿ€fÿ ï0€3fÿŒï0€ffÿxï0€™fÿkïH€Ìfÿdï`€ÿfÿ`ïx€3fÿ´ï0€33fÿ PH€3ffÿxPH€3™fÿdx`€3Ìfÿ]�x€3ÿfÿZï�€ffÿÈï0€f3fÿÈPH€fffÿ`€f™fÿP0x€fÌfÿPx�€fÿfÿP切ÿ€™™™ÿ�€ÿ€™ÿ ïH€3™ÿ“ïH€f™ÿ…ïH€™™ÿxïH€Ì™ÿnï`€ÿ™ÿhïx€3™ÿ­ïH€33™ÿ x`€3f™ÿŒx`€3™™ÿxx`€3Ì™ÿk�x€3ÿ™ÿdï�€f™ÿ»ïH€f3™ÿ´x`€ff™ÿ 0x€f™™ÿx0x€fÌ™ÿdx�€fÿ™ÿ]切ÿ€ÌÌÌÿÀ€ÿ€Ìÿ ï`€3Ìÿ–ï`€fÌÿŒï`€™Ìÿ‚ï`€ÌÌÿxï`€ÿÌÿpïx€3Ìÿªï`€33Ìÿ �x€3fÌÿ“�x€3™Ìÿ…�x€3ÌÌÿx�x€3ÿÌÿnï�€fÌÿ´ï`€f3Ìÿ­�x€ffÌÿ x�€f™ÌÿŒx�€fÌÌÿxx�€fÿÌÿk切ÿ€ÿÿÿÿð€ÿ€ÿÿ ïx€3ÿÿ˜ïx€fÿÿ�ïx€™ÿÿˆïx€Ìÿÿ€ïx€ÿÿÿxïx€3ÿÿ¨ïx€33ÿÿ ï�€3fÿÿ–ï�€3™ÿÿŒï�€3Ìÿÿ‚ï�€3ÿÿÿxï�€fÿÿ°ïx€f3ÿÿªï�€ffÿÿ ï¨€f™ÿÿ“切fÌÿÿ…切fÿÿÿx切ÿ€ÿÿïx€ÿ€™ÿïH€™3ÿ ïH€™fÿïH€™™ÿ(ïH€™Ìÿ2ï`€™ÿÿ8ïx€Ìÿï`€Ì3ÿ ï`€Ìfÿï`€Ì™ÿï`€ÌÌÿ(ï`€Ìÿÿ0ïx€ÿÿïx€ÿ3ÿïx€ÿfÿïx€ÿ™ÿïx€ÿÌÿ ïx€ÿÿÿ(ïx€ÿ€ÿÿPïx€ÿ€™3ÿãïH€™33ÿx`€™f3ÿx`€™™3ÿ(x`€™Ì3ÿ5�x€™ÿ3ÿ<ï�€Ì3ÿæï`€Ì33ÿ�x€Ìf3ÿ �x€Ì™3ÿ�x€ÌÌ3ÿ(�x€Ìÿ3ÿ2ï�€ÿ3ÿèïx€ÿ33ÿï�€ÿf3ÿ ï�€ÿ™3ÿï�€ÿÌ3ÿï�€ÿÿ3ÿ(ï�€ÿ€ÿÿ ïx€ÿ€™fÿÕïH€™3fÿÜx`€™ffÿ0x€™™fÿ(0x€™Ìfÿ<x�€™ÿfÿC切ÌfÿÜï`€Ì3fÿã�x€Ìffÿx�€Ì™fÿx�€ÌÌfÿ(x�€Ìÿfÿ5切ÿfÿàïx€ÿ3fÿæï�€ÿffÿ切ÿ™fÿ 切ÿÌfÿ切ÿÿfÿ(切ÿ€ÿÿÿ(ïx€ÿ€™™ÿÈïH€™3™ÿÈx`€™f™ÿÈ0x€™™™ÿ�€™Ì™ÿPP¨€™ÿ™ÿPïÀ€Ì™ÿÒï`€Ì3™ÿÕ�x€Ìf™ÿÜx�€Ì™™ÿP¨€ÌÌ™ÿ(P¨€Ìÿ™ÿ<ïÀ€ÿ™ÿØïx€ÿ3™ÿÜï�€ÿf™ÿã切ÿ™™ÿïÀ€ÿÌ™ÿïÀ€ÿÿ™ÿ(ïÀ€ÿ€ÿÿÿxïx€ÿ€™Ìÿ¾ï`€™3Ìÿ»�x€™fÌÿ´x�€™™Ìÿ P¨€™ÌÌÿxP¨€™ÿÌÿdïÀ€ÌÌÿÈï`€Ì3ÌÿÈ�x€ÌfÌÿÈx�€Ì™ÌÿÈP¨€ÌÌÌÿÀ€ÌÿÌÿPïØ€ÿÌÿÐïx€ÿ3ÌÿÒï�€ÿfÌÿÕ切ÿ™ÌÿÜïÀ€ÿÌÌÿïØ€ÿÿÌÿ(ïØ€ÿ€ÿÿÿÈïx€ÿ€™ÿÿ¸ïx€™3ÿÿ´ï�€™fÿÿ­ï¨€™™ÿÿ ïÀ€™ÌÿÿŒïÀ€™ÿÿÿxïÀ€ÌÿÿÀïx€Ì3ÿÿ¾ï�€Ìfÿÿ»ï¨€Ì™ÿÿ´ïÀ€ÌÌÿÿ ïØ€ÌÿÿÿxïØ€ÿÿÿÈïx€ÿ3ÿÿÈï�€ÿfÿÿÈ切ÿ™ÿÿÈïÀ€ÿÌÿÿÈïØ€ÿÿÿÿð€ÿ€3f3nPPH€ÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿ€ÿÿÿÿÿ€ÿÿÿÿÿ€ÿÿÿÿÿ€ÿfýÿ`ÿÿÿÿzÿÿÿÿ€™fÿªÿÌÿÿÿÿÿÿ€ÿÿÿ*ÿÿÿ]ÿÿÿÿÿªÿÿÔÿÿÿÿÿÿxÔ‚ÿ ÿÿCPicPageÿÿ CPicLayerÿÿ CPicFrameÿÿCPicText€€ {$Wÿÿÿ…Ûÿÿ�l @TÀArial3f3n"äýfor(i in doc.firstChild. attributes) {trace(i + ": " +doc.firstChild.attributes[i]);ÿÿ CPicShape€€€ $"´¿8@Arialÿÿÿÿ"¬þP €€€ fÌ™ÿó^;˜�ò¾�/Ñ/Ñq0¸B/q//q/0p BqÑ/Ñ/�0Hþ¾Ñ�ÑÑ�Ñ€€€ _Èø8@Arialÿÿÿÿ"¬þxmlDoc€€€ �'´’8@Arialÿÿÿÿ"¬þ#text€€fÌ™ÿóœUÀ¸0èþ03’í„ý0èþ þ0ý3üøý0|3Œ ¸¦ý0èþ00ý3üú0¸3( 06ö3Ê üIö0 ¤0èþ0 €€€Ä�[šýÿÿ]ûÿÿ3f3nóÈU°"˜®0¶0hQ0J€ Ž$—…ÛÿÿÙ0@ÀArialÿÿÌÿ"¬þxml object code sample €€€˜Ì˜¸óÈU°"˜®0¶0hQ0J€ Hþÿÿn ¹6u@ Arial3f3n"¬þ€€ 3f3ÿû(˜Zh8ÿïÀ8ÿrÌ8*ª8æ˜8"Š0 U0ÐÁ0`ª8œpÿÿÿ?ÿÿ€€ backgroundÿÿÿÿÿOOÿ€€€€€ d‹C*˜@ò@ArialÿÿÌÿ"this is a code demo showing how to strip empty whitespace nodes from an xml object. view the code on the first frame of the scripts layer. export the movie and watch the output window to see the results of the trace statements in the code...€€ÿÿÿ?ÿÿ„c€€ contentÿÿÿÿOÿOÿ€€€€ÿÿÿ?ÿÿëÿ // make an xml doc with whitespace. externally loaded docs very often have lots of whitespace between tags doc = new XML(' ActionScript: The Definitive Guide' + 'Colin Moock ' + 'O\'reilly & Associates, Inc '); // let's see what our doc looks like before we remove the whitespace nodes trace("\n-------------before empty node strip------------------"); trace(doc); // see below for two different whitespace stripping functions. the function // stripWhitespaceDoublePass is faster than stripWhitespaceTraverse in the // flash 5 player because Array.concat() is slow. stripWhitespaceDoublePass(doc); // uncomment the following line to try the other function. // stripWhitespaceTraverse (doc); // all clean! let's look at the new version trace("\n-------------after empty node strip------------------"); trace(doc); // Function: stripWhitespaceTraverse() // Version: 1.0.1 // Desc: Strips whitespace nodes from an // XML document by traversing the tree function stripWhitespaceTraverse (XMLnode) { // Create a list of nodes to process var nodeList = new Array(); // Seed the list with the node passed to the function nodeList[0] = XMLnode; // Create a local variable to track whether we've // found an empty node. var emptyNode; // Local counter variable. var i = 0; // Process the passed node and its descendents until // there are none left to process while (nodeList.length > 0) { // Grab the first node on the list, and remove it from the list currentNode = nodeList.shift(); // Assume we're dealing with a non-empty node. emptyNode = false; // If this node has children... if (currentNode.childNodes.length > 0) { // ...add this node's children to the list of nodes to process nodeList = nodeList.concat(currentNode.childNodes); } else { // ...otherwise, this node is the end of a branch, so check if it's a // text node... if (currentNode.nodeType == 3) { // Yup, it's a text node, so check if it only contains empty whitespace. // Assume it's only whitespace and try to prove the assumption wrong. emptyNode = true; for(i = 0; i < currentNode.nodeValue.length; i++) { // A useful character is anything over 32 (space, // tab, new line, etc are all below). if(currentNode.nodeValue.charCodeAt(i) > 32) { emptyNode = false; break; } } } // If no useful charaters were found, delete the node if(emptyNode) { currentNode.removeNode(); } } } } // Strips whitespace nodes from an XML document // by passing twice through each level in the tree function stripWhitespaceDoublePass(XMLnode) { // Loop through all the children of XMLnode for (var i = 0; i < XMLnode.childNodes.length; i++) { // If the current node is a text node... if(XMLnode.childNodes[i].nodeType == 3) { // ...check for any useful characters in the node. var j = 0; var emptyNode = true; for(j = 0;j < XMLnode.childNodes[i].nodeValue.length; j++) { // A useful character is anything over 32 (space, tab, // new line, etc are all below). if(XMLnode.childNodes[i].nodeValue.charCodeAt(j) > 32) { emptyNode = false; break; } } // If no useful charaters were found, delete the node. if(emptyNode) { XMLnode.childNodes[i].removeNode(); } } } // Now that all the whitespace nodes have been removed from XMLnode, // call stripWhitespaceDoublePass on its remaining children. for(var k = 0; k < XMLnode.childNodes.length; k++) { stripWhitespaceDoublePass(XMLnode.childNodes[k]); } }€€ scriptsÿÿÿÿO€ÿÿ€€€€ÿÿÿÿø*@h�hhhhÌ33ÿÀÀÀÿ ´Vector::Template0"PublishFormatProperties::generatorÿÿÿÿýÿÿ CColorDefÿ€ÿ€ÿ€3ÿPï€fÿPï0€™ÿPïH€ÌÿPï`€ÿÿPïx€3)ÿÿ CDocumentPagePage 1Scene 1Ž…Ã9 ÿÿÿÿ±÷ =ÿÿÿÿø*@h�hhhhÌ33ÿÀÀÀÿ ´Vector::Template0"PublishFormatProperties::generatorÿÿÿÿýÿÿ CColorDefÿ€ÿ€ÿ€3ÿPï€fÿPï0€™ÿPïH€ÌÿPï`€ÿÿPïx€3ÿï€33ÿ(ï€3fÿ<ï0€3™ÿCïH€3ÌÿFï`€3ÿÿHïx€fÿï0€f3ÿï0€ffÿ(ï0€f™ÿ5ïH€fÌÿ<ï`€fÿÿ@ïx€ÿ€333ÿ0€ÿ€3ÿ ï€33ÿxï€f3ÿdï0€™3ÿ]ïH€Ì3ÿZï`€ÿ3ÿXïx€33ÿÈï€333ÿ0€3f3ÿPPH€3™3ÿPx`€3Ì3ÿP�x€3ÿ3ÿPï�€f3ÿÜï0€f33ÿPH€ff3ÿ(PH€f™3ÿ<x`€fÌ3ÿC�x€fÿ3ÿFï�€ÿ€fffÿ`€ÿ€fÿ ï0€3fÿŒï0€ffÿxï0€™fÿkïH€Ìfÿdï`€ÿfÿ`ïx€3fÿ´ï0€33fÿ PH€3ffÿxPH€3™fÿdx`€3Ìfÿ]�x€3ÿfÿZï�€ffÿÈï0€f3fÿÈPH€fffÿ`€f™fÿP0x€fÌfÿPx�€fÿfÿP切ÿ€™™™ÿ�€ÿ€™ÿ ïH€3™ÿ“ïH€f™ÿ…ïH€™™ÿxïH€Ì™ÿnï`€ÿ™ÿhïx€3™ÿ­ïH€33™ÿ x`€3f™ÿŒx`€3™™ÿxx`€3Ì™ÿk�x€3ÿ™ÿdï�€f™ÿ»ïH€f3™ÿ´x`€ff™ÿ 0x€f™™ÿx0x€fÌ™ÿdx�€fÿ™ÿ]切ÿ€ÌÌÌÿÀ€ÿ€Ìÿ ï`€3Ìÿ–ï`€fÌÿŒï`€™Ìÿ‚ï`€ÌÌÿxï`€ÿÌÿpïx€3Ìÿªï`€33Ìÿ �x€3fÌÿ“�x€3™Ìÿ…�x€3ÌÌÿx�x€3ÿÌÿnï�€fÌÿ´ï`€f3Ìÿ­�x€ffÌÿ x�€f™ÌÿŒx�€fÌÌÿxx�€fÿÌÿk切ÿ€ÿÿÿÿð€ÿ€ÿÿ ïx€3ÿÿ˜ïx€fÿÿ�ïx€™ÿÿˆïx€Ìÿÿ€ïx€ÿÿÿxïx€3ÿÿ¨ïx€33ÿÿ ï�€3fÿÿ–ï�€3™ÿÿŒï�€3Ìÿÿ‚ï�€3ÿÿÿxï�€fÿÿ°ïx€f3ÿÿªï�€ffÿÿ ï¨€f™ÿÿ“切fÌÿÿ…切fÿÿÿx切ÿ€ÿÿïx€ÿ€™ÿïH€™3ÿ ïH€™fÿïH€™™ÿ(ïH€™Ìÿ2ï`€™ÿÿ8ïx€Ìÿï`€Ì3ÿ ï`€Ìfÿï`€Ì™ÿï`€ÌÌÿ(ï`€Ìÿÿ0ïx€ÿÿïx€ÿ3ÿïx€ÿfÿïx€ÿ™ÿïx€ÿÌÿ ïx€ÿÿÿ(ïx€ÿ€ÿÿPïx€ÿ€™3ÿãïH€™33ÿx`€™f3ÿx`€™™3ÿ(x`€™Ì3ÿ5�x€™ÿ3ÿ<ï�€Ì3ÿæï`€Ì33ÿ�x€Ìf3ÿ �x€Ì™3ÿ�x€ÌÌ3ÿ(�x€Ìÿ3ÿ2ï�€ÿ3ÿèïx€ÿ33ÿï�€ÿf3ÿ ï�€ÿ™3ÿï�€ÿÌ3ÿï�€ÿÿ3ÿ(ï�€ÿ€ÿÿ ïx€ÿ€™fÿÕïH€™3fÿÜx`€™ffÿ0x€™™fÿ(0x€™Ìfÿ<x�€™ÿfÿC切ÌfÿÜï`€Ì3fÿã�x€Ìffÿx�€Ì™fÿx�€ÌÌfÿ(x�€Ìÿfÿ5切ÿfÿàïx€ÿ3fÿæï�€ÿffÿ切ÿ™fÿ 切ÿÌfÿ切ÿÿfÿ(切ÿ€ÿÿÿ(ïx€ÿ€™™ÿÈïH€™3™ÿÈx`€™f™ÿÈ0x€™™™ÿ�€™Ì™ÿPP¨€™ÿ™ÿPïÀ€Ì™ÿÒï`€Ì3™ÿÕ�x€Ìf™ÿÜx�€Ì™™ÿP¨€ÌÌ™ÿ(P¨€Ìÿ™ÿ<ïÀ€ÿ™ÿØïx€ÿ3™ÿÜï�€ÿf™ÿã切ÿ™™ÿïÀ€ÿÌ™ÿïÀ€ÿÿ™ÿ(ïÀ€ÿ€ÿÿÿxïx€ÿ€™Ìÿ¾ï`€™3Ìÿ»�x€™fÌÿ´x�€™™Ìÿ P¨€™ÌÌÿxP¨€™ÿÌÿdïÀ€ÌÌÿÈï`€Ì3ÌÿÈ�x€ÌfÌÿÈx�€Ì™ÌÿÈP¨€ÌÌÌÿÀ€ÌÿÌÿPïØ€ÿÌÿÐïx€ÿ3ÌÿÒï�€ÿfÌÿÕ切ÿ™ÌÿÜïÀ€ÿÌÌÿïØ€ÿÿÌÿ(ïØ€ÿ€ÿÿÿÈïx€ÿ€™ÿÿ¸ïx€™3ÿÿ´ï�€™fÿÿ­ï¨€™™ÿÿ ïÀ€™ÌÿÿŒïÀ€™ÿÿÿxïÀ€ÌÿÿÀïx€Ì3ÿÿ¾ï�€Ìfÿÿ»ï¨€Ì™ÿÿ´ïÀ€ÌÌÿÿ ïØ€ÌÿÿÿxïØ€ÿÿÿÈïx€ÿ3ÿÿÈï�€ÿfÿÿÈ切ÿ™ÿÿÈïÀ€ÿÌÿÿÈïØ€ÿÿÿÿð€ÿ€3f3nPPH€ÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿ€ÿÿÿÿÿ€ÿÿÿÿÿ€ÿÿÿÿÿ€ÿfýÿ`ÿÿÿÿzÿÿÿÿ€™fÿªÿÌÿÿÿÿÿÿ€ÿÿÿ*ÿÿÿ]ÿÿÿÿÿªÿÿÔÿÿÿÿÿÿxÔ‚ÿ ÿÿh