----=_NextPart_ST_19_46_05_Monday_December_06_2004_17975 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable A couple of years ago, I wrote a script to convert Across Lite PUZ files=0At= o Postscript that prints the way the puzzles normally look in=0Anewspapers. = It's definitely not perfect, but I figured I'd throw it in=0Afor fun.=0A= =0AI generally convert the postscript into a PDF before printing, because= =0Amany printers seem to have problems with the fonts, even though they=0Ash= ould all come standard on a Postscript printer ... probably because my=0APS = knowledge isn't as good as it could be!=0A=0AI've attached the script, and a= sample PUZ. I was going to include the=0Aequivalent PDF, but the list serv= er wasn't happy with the size of the=0Amessage.=0A=0AI use this six days a w= eek to convert the Sydney Morning Herald=0Acrossword into a form that I can = print and do on the train.=0A=0ACheers,=0A=0AH.=0A=0APS - Note that this was= one of my earliest Ruby programs, so the style=0Ais probably horrible ... n= ot to say things are any better now, of course=0A:-).=0A=0A=0A**************= **********************************************************=0A=0AIf you have = received this e-mail in error, please delete it and notify the sender as soo= n as possible. The contents of this e-mail may be confidential and the unaut= horized use, copying, or dissemination of it and any attachments to it, is p= rohibited. = =0A=0AInternet communications are not secure and Hyperion does not, therefor= e, accept legal responsibility for the contents of this message nor for any = damage caused by viruses. The views expressed here do not necessarily repre= sent those of Hyperion.=0A=0AFor more information about Hyperion, please vis= it our Web site at www.hyperion.com=0A ----=_NextPart_ST_19_46_05_Monday_December_06_2004_17975 Content-Type: application/octet-stream; name="20041004.puz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="20041004.puz" Content-Description: 20041004.puz ioZBQ1JPU1MmRE9XTgABSkg0K/kLfTU+MS4yAAAAAAAAAAAAAAAAAAAAAAAPDxoAAQAAAC5TLkMu Uy4uLlMuWS5ELlNQQVJTRS5ERVBMT1lFRC5VLk8uVC5SLlIuVS5MLi5SSVNPVFRPLklOQ0lURS5J LlMuTC5PLk4uQS5BLi5PTlRIRVNQT1QuTk9TSC5VLkguLi5TLkUuTi4uLkFTQ0VUSUMuQURWRVJT RS4uLlIuTS5QLi4uVi5FLkJFQVUuUEVSTUFORU5ULi5QLkIuTy5PLlMuUi5BLk1PVElGUy5NVVRB VEVTLi5DLkMuVC5QLkguRS5JLlRIUk9XT1VULk1FTE9EWS5TLk4uUi4uLkEuTC5FLi4tLi0uLS4u Li0uLS4tLi0tLS0tLS4tLS0tLS0tLS4tLi0uLS4tLi0uLS4tLi4tLS0tLS0tLi0tLS0tLS4tLi0u LS4tLi0uLS4tLi4tLS0tLS0tLS0uLS0tLS4tLi0uLi4tLi0uLS4uLi0tLS0tLS0uLS0tLS0tLS4u Li0uLS4tLi4uLS4tLi0tLS0uLS0tLS0tLS0tLi4tLi0uLS4tLi0uLS4tLi0tLS0tLS4tLS0tLS0t Li4tLi0uLS4tLi0uLS4tLi0tLS0tLS0tLi0tLS0tLS4tLi0uLS4uLi0uLS4tLkNyeXB0aWMsIE9j dG9iZXIgNCwgMjAwNABDcmVhdGVkIGJ5IEVQAKkgVGhlIFN5ZG5leSBNb3JuaW5nIEhlcmFsZABJ bmNlbnRpdmUgdG8gc2hvdyB0aGF0IGRlYnRzIGFyZSBmYWxzZSAoOCkASXJyaXRhdGVkIGJ5IHRo ZSBwb2xpc2ggb24gdGhlIHNpZ24sIGJ1dCBjYW4ndCBnbyBiYWNrICg1LDMsNykAQ2xlYXIgdXAg dGhlIHNlYXQgKDYpAFJ1c2hlZCB0byBmaW5kIHRoZSBjb3Vyc2Ugd2hpY2ggaGFkIGJlZW4gcHVi bGlzaGVkICg4KQBZb3UgbXVzdCBhbHdheXMga2VlcCBtdW0gLS0gdW5zdXJlIHdoYXQgd2lsbCBo YXBwZW4hICgzLDMsNSw0KQBHcmVlayBsZXR0ZXJzIGxhc3RlZCBpbmRlZmluaXRlbHkgKDYpAFF1 YXJyZWwgY29uY2VybmluZyBkaXJlY3Rpb25zIHdhcyBpbmZyZXF1ZW50ICg2KQBJbnN0YWxsZWQg YW5kIHRoZW4gZ290IHJpZCBvZiB0aGUgdHJpY2shICg4KQBXaWx0cyB3aGVuIGRpcmVjdG9yIGZp bmRzIGFuaW1hbCB0cmFjayByZXR1cm5pbmcgKDYpAERpc2ggbWF5IGNhdXNlIHJpb3RzIHRvIHJl Y3VyICg3KQBFbmNvdXJhZ2UgdG8gY29tZSBpbnRvIHZpZXcgb2YgdGhlIGF1ZGllbmNlICg2KQBJ bW1lZGlhdGVseSBpbiB0cm91YmxlICgyLDMsNCkARG9uJ3QgYmUgcXVpZXQgYWJvdXQgdGhlIGZv b2QgKDQpAFB1cml0YW4gaGFzIGEgcGVjdWxpYXIgY2FzZSBvZiBzcGFzbSAoNykAQSB0YXggb3Ig YSBmYWtlPyAoOCkASG9zdGlsZSB0byB0aGUgcHJvbW90aW9uIG9mIHRoZSBsaW1lcmljayAoNykA UmVzZXJ2ZSBhdCB0aGUgYmVhY2ggaXMgd2l0aG91dCBjZW50cmFsIGhlYXRpbmcgKDMtNSkAUXVp Y2shIEpvZyB0aGUgbWVtb3J5ICg2KQBUaGUgbG92ZXIgc2VlbWVkIGJlYXV0aWZ1bCBpbiBQYXJp cyAoNCkASG9wZXMgaW52ZW50aW9uIGluY2x1ZGVzIGNvbGQgcGVyaW9kcyAoNikASGFpcmRvIGhh cyBhIG5ldyBleG90aWMgbmV0IHdoaWNoIHdvbid0IGNoYW5nZSAoOSkAQ29tcGxhaW50IGFib3V0 IG1hdGhzIGNvbWluZyBmaXJzdCAoNikARGVzaWducyBmb3Igc2Vjb25kIGxvdWQgcXVhcnJlbHMg KDYpAENoYW5nZXMgb2NjdXIgaW4gVXRhaCB3aGVuIGZyaWVuZHMgY29tZSBhcm91bmQgKDcpAFJl ZnVzZSB0byBhY2NlcHQgdGhhdCBpdCdzIG9mdGVuIHdvcnRoIGJlaW5nIGFic2VudCAoNSwzKQBB IHBpZWNlIG9mIG11c2ljIGluIHRoZSBQaGlsb21lbCBPZHlzc2V5ICg2KQAA ----=_NextPart_ST_19_46_05_Monday_December_06_2004_17975 Content-Type: application/octet-stream; name="crossword.rb" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="crossword.rb" Content-Description: crossword.rb CkRFQlVHID0gZmFsc2UKCiNTSVpFICA9IDI3ClNJWkUgID0gMTUKCgpjbGFzcyBCdWZmZXIKCiAg ICBkZWYgaW5pdGlhbGl6ZShzdHJpbmcpCgoJQHN0cmluZyA9IHN0cmluZwoJQGluZGV4ICA9IDAK CUBsZW5ndGggPSBzdHJpbmcubGVuZ3RoCgogICAgZW5kCgogICAgZGVmIGdldHMKCglpZiBAaW5k ZXggPT0gQGxlbmd0aAoJICAgIHN0cmluZyA9IG5pbAoJZWxzZQoJICAgIHN0cmluZyA9ICIiCgoJ ICAgIHdoaWxlIEBpbmRleCA8IEBsZW5ndGgKCQljID0gQHN0cmluZ1tAaW5kZXhdCgoJCWlmIGMg PT0gMAoJCSAgICBicmVhawoJCWVsc2UKCQkgICAgc3RyaW5nIDw8IGMKCgkJICAgIEBpbmRleCAr PSAxCgkJZW5kCgkgICAgZW5kCgoJICAgIGlmIEBpbmRleCA8IEBsZW5ndGgKCQlAaW5kZXggKz0g MQoJICAgIGVuZAoJZW5kCgoJcmV0dXJuIHN0cmluZwoKICAgIGVuZAoKCiAgICBkZWYgcmVhZChu KQoKCWlmIEBpbmRleCA9PSBAbGVuZ3RoCgkgICAgc3RyaW5nID0gbmlsCgllbHNlCgkgICAgaWYg biA+IChAbGVuZ3RoIC0gQGluZGV4KQoJCW4gPSAoQGxlbmd0aCAtIEBpbmRleCkKCSAgICBlbmQK CgkgICAgc3RyaW5nID0gQHN0cmluZ1tAaW5kZXgsIG5dCgoJICAgIEBpbmRleCArPSBuCgllbmQK CglyZXR1cm4gc3RyaW5nCgogICAgZW5kCgplbmQKCgpjbGFzcyBDcm9zc3dvcmQKCgogICAgZGVm IGluaXRpYWxpemUocGF0aCwgYW5zd2Vyc1BhdGggPSBuaWwpCgoJaWYgcGF0aCA9fiAvLipcLnB1 eiQvCgkgICAgUmVhZFBVWihwYXRoKQoJZWxzaWYgcGF0aCA9fiAvLipcLnR4dCQvCgkgICAgUmVh ZFRYVChwYXRoLCBhbnN3ZXJzUGF0aCkKCWVuZAoKICAgIGVuZAoKCiAgICBkZWYgQW5zd2VyKGks IGopCgoJaWYgQGFuc3dlcnMKCSAgICBpZiBAYW5zd2Vyc1tpXS5uaWw/CgkJIyRzdGRlcnIucHV0 cyAiQGFuc3dlcnNbI3tpfV0gaXMgbmlsICEhIgoJCSIgIgoJICAgIGVsc2UKCQlpZiBAYW5zd2Vy c1tpXVtqXS5uaWw/CgkJICAgICMkc3RkZXJyLnB1dHMgIkBhbnN3ZXJzWyN7aX1dWyN7an1dIGlz IG5pbCAhISIKCQkgICAgIiAiCgkJZWxzZQoJCSAgICBpZiBAYW5zd2Vyc1tpXVtqXSA9PSBTdHJp bmcKCQkJQGFuc3dlcnNbaV1bal0KCQkgICAgZWxzZQoJCQlpZiAoYSA9IEBhbnN3ZXJzW2ldW2pd LmNocikgPT0gIi4iCgkJCSAgICAiICIKCQkJZWxzZQoJCQkgICAgYQoJCQllbmQKCQkgICAgZW5k CgkJZW5kCgkgICAgZW5kCgllbHNlCgkgICAgIiAiCgllbmQKCiAgICBlbmQKCgogICAgZGVmIENh bGN1bGF0ZU51bWJlcnMKCgludW1iZXIgPSAxCglzaXplICAgPSBAZ3JpZC5sZW5ndGgKCglAdG90 YWxBY3Jvc3NDbHVlcyA9IDAKCUB0b3RhbERvd25DbHVlcyAgID0gMAoKCUBjbHVlcyA9IEFycmF5 Lm5ldwoKCSgwLi4oc2l6ZSAtIDEpKS5lYWNoIGRvIHxpfAoJICAgICgwLi4oc2l6ZSAtIDEpKS5l YWNoIGRvIHxqfAoJCWlmIEBncmlkW2ldW2pdICE9IC0xCgkJICAgIG51bWJlcmVkID0gZmFsc2UK CgkJICAgIGlmIGogPT0gMCB8fCAoQGdyaWRbaV1baiAtIDFdID09IC0xKQoJCQlpZiAoaiA8IChz aXplIC0gMSkpICYmIChAZ3JpZFtpXVtqICsgMV0gIT0gLTEpCgkJCSAgICBAdG90YWxBY3Jvc3ND bHVlcyArPSAxCgkJCSAgICBAY2x1ZXMucHVzaChbIkEiLCBudW1iZXJdKTsKCgkJCSAgICBudW1i ZXJlZCA9IHRydWUKCQkJZW5kCgkJICAgIGVuZAoKCQkgICAgaWYgaSA9PSAwIHx8IChAZ3JpZFtp IC0gMV1bal0gPT0gLTEpCgkJCWlmIChpIDwgKHNpemUgLSAxKSkgJiYgKEBncmlkW2kgKyAxXVtq XSAhPSAtMSkKCQkJICAgIEB0b3RhbERvd25DbHVlcyArPSAxCgkJCSAgICBAY2x1ZXMucHVzaChb IkQiLCBudW1iZXJdKTsKCgkJCSAgICBudW1iZXJlZCA9IHRydWUKCQkJZW5kCgkJICAgIGVuZAoK CgkJICAgIGlmIG51bWJlcmVkCgkJCUBncmlkW2ldW2pdID0gbnVtYmVyCgoJCQludW1iZXIgKz0g MQoJCSAgICBlbmQKCQllbmQKCSAgICBlbmQKCWVuZAoKICAgIGVuZAoKCiAgICBkZWYgQ2xlYW4o dGV4dCkKCWNsZWFuID0gdGV4dC5nc3ViKC9bKF0vLCAiXFwoIikKCgljbGVhbi5nc3ViISgvWyld LywgIlxcKSIpCgljbGVhbi5nc3ViISgiJSIsICJcXCUiKQoJY2xlYW4uZ3N1YiEoJ5InLCAnXCcn KQoJY2xlYW4uZ3N1YiEoJ+knLCAnZScpCgoJY2xlYW4KICAgIGVuZAoKCiAgICBkZWYgUmVhZEFu c3dlcnMoZmlsZSkKCgl0ZXh0ID0gZmlsZS5nZXRzCgoJQGFuc3dlcnMgPSBBcnJheS5uZXcKCglp bmRleCA9IDAKCgkoMCAuLi4gU0laRSkuZWFjaCBkbyB8aXwKCSAgICByb3cgPSBBcnJheS5uZXcK CgkgICAgKDAgLi4uIFNJWkUpLmVhY2ggZG8gfGp8CgkJcm93W2pdID0gdGV4dFtpbmRleF0KCgkJ aW5kZXggKz0gMQoJICAgIGVuZAoKCSAgICBAYW5zd2Vycy5wdXNoKHJvdykKCWVuZAoKICAgIGVu ZAoKCiAgICBkZWYgUmVhZENyb3Nzd29yZChmaWxlKQoKCUB0aXRsZSA9IGZpbGUucmVhZGxpbmUu Y2hvcAoKCSRzdGRlcnIucHV0cyAiVGl0bGUgaXMgI3tAdGl0bGV9IgoKCXVudGlsIChsaW5lID0g ZmlsZS5nZXRzLmNob3ApID1+IC9HcmlkLwoJICAgICMgVGhyb3cgdGhpcyBsaW5lIGF3YXkKCWVu ZAoKCUBncmlkID0gQXJyYXkubmV3CgoJdW50aWwgKGxpbmUgPSBmaWxlLmdldHMuY2hvcCkgPX4g L0Fjcm9zcy8KCSAgICBpZiBsaW5lLmxlbmd0aCA+IDAKCQlyb3cgPSBBcnJheS5uZXcKCgkJbGlu ZS5lYWNoX2J5dGUgZG8gfGN8CgkJICAgIGlmIGMuY2hyID09ICdXJwoJCQl4ID0gMAoJCSAgICBl bHNlCgkJCXggPSAtMQoJCSAgICBlbmQKCgkJICAgIHJvdy5wdXNoKHgpCgkJZW5kCgoJCUBncmlk LnB1c2gocm93KQoJICAgIGVuZAoJZW5kCgoJQ2FsY3VsYXRlTnVtYmVycygpCgoJQGFjcm9zcyA9 IEhhc2gubmV3CgoJd2hpbGUgKGNsdWUgPSBmaWxlLmdldHMuY2hvcCkgIX4gL0Rvd24vCgoJICAg IGlmIGNsdWUgPX4gLyhcZCopICguKikvCgkJbnVtYmVyID0gJDEKCQl0ZXh0ICAgPSAkMgoKCQlA YWNyb3NzW251bWJlcl0gPSB0ZXh0CgkgICAgZW5kCgoJZW5kCgoJQGRvd24gPSBIYXNoLm5ldwoK CXdoaWxlICFmaWxlLmVvZgoJICAgIGNsdWUgPSBmaWxlLmdldHMuY2hvcAoKCSAgICBpZiBjbHVl ID1+IC8oXGQqKSAoLiopLwoJCW51bWJlciA9ICQxCgkJdGV4dCAgID0gJDIKCgkJQGRvd25bbnVt YmVyXSA9IHRleHQKCSAgICBlbmQKCWVuZAogICAgZW5kCgoKICAgIGRlZiBSZWFkUFVaKHBhdGgp CgoJRmlsZS5vcGVuKHBhdGgsICJyYiIpIGRvIHxmaWxlfAoJICAgICNmaWxlLmJpbm1vZGUKCgkg ICAgZGF0YSA9IGZpbGUuc3lzcmVhZChmaWxlLnN0YXQuc2l6ZSkKCgkgICAgYnVmZmVyID0gQnVm ZmVyLm5ldyhkYXRhKQoKCSAgICAjIFNraXAgaGVhZGVyIGluZm9ybWF0aW9uIC4uLgoKCSAgICBi dWZmZXIucmVhZCg1MikKCgkgICAgIyBQdWxsIG91dCB0aGUgdmFyaW91cyBzdHJpbmdzIHdlIG5l ZWQgLi4uCgoJICAgIEBhbnN3ZXJzU3RyaW5nID0gYnVmZmVyLnJlYWQoU0laRSAqIFNJWkUpCgkg ICAgQGdyaWRTdHJpbmcJICAgPSBidWZmZXIucmVhZChTSVpFICogU0laRSkKCSAgICBAdGl0bGUJ ICAgPSBidWZmZXIuZ2V0cwoJICAgIEBjcmVhdG9yCSAgID0gYnVmZmVyLmdldHMuc3RyaXAKCiMk c3RkZXJyLnB1dHMgIkBhbnN3ZXJzU3RyaW5nID0gJyN7QGFuc3dlcnNTdHJpbmd9JyIKCiMkc3Rk ZXJyLnB1dHMgInRpdGxlICAgPSA+PiN7QHRpdGxlfTw8IgojJHN0ZGVyci5wdXRzICJjcmVhdG9y ID0gPj4je0BjcmVhdG9yfTw8IgoKCSAgICBAdGl0bGUgPDwgIiAgXCgje0BjcmVhdG9yfVwpIgoK CSAgICAjIFNraXAgb3ZlciBhIHN0cmluZyB3ZSBkb24ndCBuZWVkIC4uLgoKCSAgICBAZXh0cmEJ ICAgPSBidWZmZXIuZ2V0cwoKCSAgICAjIFJlYWQgdGhlIGNsdWUgc3RyaW5ncyAuLi4KCgkgICAg QGNsdWVTdHJpbmdzID0gQXJyYXkubmV3CgoJICAgIHdoaWxlIChzID0gYnVmZmVyLmdldHMpICE9 IG5pbAoJCUBjbHVlU3RyaW5ncy5wdXNoKHMpCgkgICAgZW5kCgoJICAgIEBncmlkID0gQXJyYXku bmV3CgoJICAgIGluZGV4ID0gMAoKCSAgICAoMCAuLi4gU0laRSkuZWFjaCBkbyB8aXwKCQlyb3cg PSBBcnJheS5uZXcKCgkJKDAgLi4uIFNJWkUpLmVhY2ggZG8gfGp8CgkJICAgIGMgPSBAZ3JpZFN0 cmluZ1tpbmRleF0uY2hyCgoJCSAgICBpZiBjID09ICIuIgoJCQlyb3cucHVzaCgtMSkKCQkgICAg ZWxzZQoJCQlyb3cucHVzaCgwKQoJCSAgICBlbmQKCgkJICAgIGluZGV4ICs9IDEKCQllbmQKCgkJ QGdyaWQucHVzaChyb3cpCgkgICAgZW5kCgoJICAgIENhbGN1bGF0ZU51bWJlcnMoKQoKCSAgICBA YW5zd2VycyA9IEFycmF5Lm5ldwoKCSAgICBpbmRleCA9IDAKCgkgICAgKDAgLi4uIFNJWkUpLmVh Y2ggZG8gfGl8CgkJcm93ID0gQXJyYXkubmV3CgoJCSgwIC4uLiBTSVpFKS5lYWNoIGRvIHxqfAoJ CSAgICByb3dbal0gPSBAYW5zd2Vyc1N0cmluZ1tpbmRleF0KCgoJCSAgICBpZiByb3dbal0ubmls PwoJCQlyb3dbal0gPSAnICcKCQkgICAgZW5kCgojJHN0ZGVyci5wdXRzICJAYW5zd2Vyc1sje2l9 XVsje2p9XSA9ICN7cm93W2pdLmNocn0iCgoJCSAgICBpbmRleCArPSAxCgkJZW5kCgoJCUBhbnN3 ZXJzLnB1c2gocm93KQoJICAgIGVuZAoKCSAgICBpbmRleCAgID0gMAoKCSAgICBAYWNyb3NzID0g SGFzaC5uZXcKCSAgICBAZG93biAgID0gSGFzaC5uZXcKCgkgICAgQGNsdWVzLmVhY2hfaW5kZXgg ZG8gfGl8CgkJY2x1ZSAgID0gQGNsdWVzW2ldCgkJdHlwZSAgID0gY2x1ZVswXQoJCW51bWJlciA9 IGNsdWVbMV0KCQlzdHJpbmcgPSBAY2x1ZVN0cmluZ3NbaV0KCgkJaWYgdHlwZSA9PSAiQSIKCQkg ICAgQGFjcm9zc1tudW1iZXJdID0gc3RyaW5nCgkJZWxzZQoJCSAgICBAZG93bltudW1iZXJdID0g c3RyaW5nCgkJZW5kCgkgICAgZW5kCgllbmQKCiAgICBlbmQKCgogICAgZGVmIFJlYWRUWFQocGF0 aCwgYW5zd2Vyc1BhdGgpCgoJRmlsZS5vcGVuKHBhdGgpIGRvIHxmaWxlfAoKCSAgICBSZWFkQ3Jv c3N3b3JkKGZpbGUpCgoJZW5kCgoJaWYgYW5zd2Vyc1BhdGggPT0gbmlsCgkgICAgQGFuc3dlcnMg PSBuaWwKCWVsc2UKCSAgICBGaWxlLm9wZW4oYW5zd2Vyc1BhdGgpIGRvIHxmaWxlfAoKCQlSZWFk QW5zd2VycyhmaWxlKQoKCSAgICBlbmQKCWVuZAoKICAgIGVuZAoKCiAgICBkZWYgZWFjaF9ncmlk Cglyb3dOdW1iZXIgPSAwCgoJQGdyaWQuZWFjaCBkbyB8cm93fAoJICAgIHJvd051bWJlciArPSAx CgoJICAgIGNvbHVtbk51bWJlciA9IDAKCgkgICAgcm93LmVhY2ggZG8gfGNvbHVtbnwKCQljb2x1 bW5OdW1iZXIgKz0gMQoKCQl5aWVsZCByb3dOdW1iZXIsIGNvbHVtbk51bWJlciwgY29sdW1uCgkg ICAgZW5kCgllbmQKICAgIGVuZAoKCiAgICBkZWYgZWFjaF9hY3Jvc3MKCShAYWNyb3NzLmtleXMu c29ydCB7IHxhLCBifCBhLnRvX2kgPD0+IGIudG9faSB9KS5lYWNoIGRvIHxudW1iZXJ8CgkgICAg eWllbGQgbnVtYmVyLCBAYWNyb3NzW251bWJlcl0KCWVuZAogICAgZW5kCgoKICAgIGRlZiBlYWNo X2Rvd24KCShAZG93bi5rZXlzLnNvcnQgeyB8YSwgYnwgYS50b19pIDw9PiBiLnRvX2kgfSkuZWFj aCBkbyB8bnVtYmVyfAoJICAgIHlpZWxkIG51bWJlciwgQGRvd25bbnVtYmVyXQoJZW5kCiAgICBl bmQKCgogICAgZGVmIE91dHB1dAoJcHV0cyAiI3tAdGl0bGV9XG5cbiIKCglwdXRzICJHcmlkIgoK CUBncmlkLmVhY2ggZG8gfHJvd3wKCSAgICByb3cuZWFjaCBkbyB8Y29sdW1ufAoJCXggPSAoY29s dW1uID09IC0xKSA/ICJCIiA6ICJXIgoJCXByaW50ICIje3h9IgoJICAgIGVuZAoKCSAgICBwdXRz ICIiCgllbmQKCglwdXRzICJcbkFjcm9zc1xuXG4iCgoJKEBhY3Jvc3Mua2V5cy5zb3J0IHsgfGEs IGJ8IGEudG9faSA8PT4gYi50b19pIH0pLmVhY2ggZG8gfG51bWJlcnwKCSAgICBwcmludGYgIiUw MmQgJXNcbiIsIG51bWJlciwgQGFjcm9zc1tudW1iZXJdCgllbmQKCglwdXRzICJcbkRvd25cblxu IgoKCShAZG93bi5rZXlzLnNvcnQgeyB8YSwgYnwgYS50b19pIDw9PiBiLnRvX2kgfSkuZWFjaCBk byB8bnVtYmVyfAoJICAgIHByaW50ZiAiJTAyZCAlc1xuIiwgbnVtYmVyLCBAZG93bltudW1iZXJd CgllbmQKICAgIGVuZAoKCiAgICBkZWYgT3V0cHV0QWNyb3NzCgoJcHV0cyAiQWNyb3NzSGVhZGVy IgoJcHV0cyAiU3RhcnRBY3Jvc3NDbHVlcyIKCglzZWxmLmVhY2hfYWNyb3NzIGRvIHxudW1iZXIs IHRleHR8CgkgICAgcHV0cyAiI3tudW1iZXJ9IFN0YXJ0Q2x1ZSIKCgkgICAgY2xlYW4gPSBDbGVh bih0ZXh0KQoJICAgIHdvcmRzID0gY2xlYW4uc3BsaXQoIiAiKQoKCSAgICB3b3Jkcy5lYWNoIGRv IHx3fAoJCXB1dHMgIigje3d9KSBDbHVlV29yZCIKCSAgICBlbmQKCWVuZAoKICAgIGVuZAoKCiAg ICBkZWYgT3V0cHV0RG93bgoJcHV0cyAiRG93bkhlYWRlciIKCXB1dHMgIlN0YXJ0RG93bkNsdWVz IgoKCXNlbGYuZWFjaF9kb3duIGRvIHxudW1iZXIsIHRleHR8CgkgICAgcHV0cyAiI3tudW1iZXJ9 IFN0YXJ0Q2x1ZSIKCgkgICAgY2xlYW4gPSBDbGVhbih0ZXh0KQoJICAgIHdvcmRzID0gY2xlYW4u c3BsaXQoIiAiKQoKCSAgICB3b3Jkcy5lYWNoIGRvIHx3fAoJCXB1dHMgIigje3d9KSBDbHVlV29y ZCIKCSAgICBlbmQKCWVuZAoKICAgIGVuZAoKCiAgICBkZWYgT3V0cHV0R3JpZCh3aXRoQW5zd2Vy cykKCglzaXplID0gQGdyaWQubGVuZ3RoCgoJKDAuLihzaXplIC0gMSkpLmVhY2ggZG8gfGl8Cgkg ICAgKDAuLihzaXplIC0gMSkpLmVhY2ggZG8gfGp8CgkJeCA9IEBncmlkW2ldW2pdCgoJCWlmIHgg PT0gLTEKCQkgICAgcHV0cyAiI3tqfSAje2l9IEJsYWNrU3F1YXJlIgoJCWVsc2UKCQkgICAgaWYg d2l0aEFuc3dlcnMKCQkJYSA9IEFuc3dlcihpLCBqKQoKIyRzdGRlcnIucHV0cyAiQW5zd2VyKCN7 aX0sICN7an0pID0gI3thfSIKCgkJCXB1dHMgIiN7an0gI3tpfSAje3h9ICgje2F9KSBXaGl0ZVNx dWFyZSIKCQkgICAgZWxzZQoJCQlwdXRzICIje2p9ICN7aX0gI3t4fSAoICkgV2hpdGVTcXVhcmUi CgkJICAgIGVuZAoJCWVuZAoJICAgIGVuZAoJZW5kCgogICAgZW5kCgoKICAgIGRlZiBPdXRwdXRO ZXdQYWdlCglwdXRzICJcbnNob3dwYWdlXG4iCiAgICBlbmQKCiAgICBkZWYgT3V0cHV0UG9zdHNj cmlwdCh3aXRoQW5zd2VycykKCU91dHB1dFByZWFtYmxlKCkKCU91dHB1dFN1YnJvdXRpbmVzKCkK CU91dHB1dEdyaWQod2l0aEFuc3dlcnMpCglPdXRwdXRUaXRsZSgpCgoJaWYgU0laRSA+IDE1Cgkg ICAgT3V0cHV0TmV3UGFnZSgpCgllbmQKCglPdXRwdXRBY3Jvc3MoKQoJT3V0cHV0RG93bigpCglP dXRwdXRQcm9sb2d1ZSgpCiAgICBlbmQKCgogICAgZGVmIE91dHB1dFByZWFtYmxlKG91dCA9ICRz dGRvdXQpCgoJIyBPdXRwdXQgdGhlIG5lY2Vzc2FyeSBQb3N0c2NyaXB0IHByZWFtYmxlLCB2aWEK CSMgYSBoZXJlIGRvY3VtZW50IC4uLgoKCW91dC5wdXRzIDw8UFJFQU1CTEUKJSFQUy1BZG9iZS0z LjAKJSVDcmVhdG9yOiBIYXJyeSBPJ3MgQ3Jvc3N3b3JkIFByaW50ZXIKJSVMYW5ndWFnZUxldmVs OiAyCiUlRG9jdW1lbnRNZWRpYTogcGxhaW4gNjEyIDc5MiAwICgpICgpCiUlUGFnZXM6IDEKJSVF bmRDb21tZW50cwolJUJlZ2luRGVmYXVsdHMKJSVQYWdlTWVkaWE6IHBsYWluCiUlRW5kRGVmYXVs dHMKJSVCZWdpblByb2xvZwolJUVuZFByb2xvZwoKUFJFQU1CTEUKCiAgICBlbmQKCgogICAgZGVm IE91dHB1dFByb2xvZ3VlKG91dCA9ICRzdGRvdXQpCgoJb3V0LnB1dHMgIlxuXG5zaG93cGFnZSIK CiAgICBlbmQKCgogICAgZGVmIE91dHB1dFN1YnJvdXRpbmVzKG91dCA9ICRzdGRvdXQpCgoJIyBP dXRwdXQgdGhlIG5lY2Vzc2FyeSBQb3N0c2NyaXB0IHN1YnJvdXRpbmVzIHZpYQoJIyBhIGhlcmUg ZG9jdW1lbnQgLi4uCgoJb3V0LnB1dHMgPDxTVUJST1VUSU5FUwoKJQolIFNldCB0aGUgZm9udHMg dG8gdXNlIC4uLgolCgovTlVNQkVSRk9OVCAvVGltZXNSb21hbiBmaW5kZm9udCA2ICBzY2FsZWZv bnQgZGVmCi9BTlNXRVJGT05UIC9UaW1lc1JvbWFuIGZpbmRmb250IDEyIHNjYWxlZm9udCBkZWYK CgolCiUgR3JpZCBzaXplIC4uLgolCgovR1JJRF9TSVpFICN7U0laRX0gZGVmCgoKJQolIFNpemUg b2Ygc3F1YXJlIC4uLgolCgovU1FVQVJFX1NJWkUgMjIgZGVmCgoKJQolIERlZmluZSB0aGUgdG9w IGxlZnRoYW5kIGNvcm5lciBvZiB0aGUKJSBjcm9zc3dvcmQgZ3JpZCAuLi4KJQoKL0dSSURfVE9Q WCA4LjUgIDcyIG11bCBHUklEX1NJWkUgU1FVQVJFX1NJWkUgMSBhZGQgbXVsIHN1YiAyIGRpdiBk ZWYKL0dSSURfVE9QWSAxMS41IDcyIG11bCBkZWYKCi9DTFVFX1RPUFggR1JJRF9UT1BYIDAgYWRk IGRlZgoKL0NMVUVfVE9QWSAjeyhTSVpFID09IDE1KSA/ICJHUklEX1RPUFkgU1FVQVJFX1NJWkUg R1JJRF9TSVpFIG11bCBzdWIgNSBzdWIiIDogIkdSSURfVE9QWSA3MCBzdWIifSBkZWYKCgolCiUg SG93IGhpZ2ggZWFjaCBsaW5lIG9mIGNsdWUgdGV4dCBpcyAuLi4KJQoKL0NMVUVfSEVJR0hUIDEw IGRlZgoKCiUKJSBEZWZpbmUgdGhlIHdpZHRoIG9mIHRoZSBzcGFjZSB3ZSBoYXZlIGZvcgolIGEg Y29sdW1uIG9mIGNsdWUgdGV4dCAuLi4KJQoKL0NMVUVfV0lEVEggR1JJRF9TSVpFIFNRVUFSRV9T SVpFIDEgYWRkIG11bCAyIGRpdiAyNSBzdWIgZGVmCgoKJQolIFRoZSBzcGFjZSBmcm9tIHRoZSBz dGFydCBvZiB0aGUgY2x1ZSBsaW5lcwolIHRvIHRoZSBjbHVlIHRleHQgLi4uCiUKCi9DTFVFX1NQ QUNJTkcgMTUgZGVmCgoKJQolIEhvdyB0byBvdXRwdXQgdGhlIGFjcm9zcyBoZWFkZXIgLi4uCiUK Ci9BY3Jvc3NIZWFkZXIKewogICAgQ0xVRV9UT1BYIENMVUVfVE9QWSBtb3ZldG8KCiAgICAvVGlt ZXNSb21hbkJvbGQgZmluZGZvbnQgMTIgc2NhbGVmb250IHNldGZvbnQKCiAgICAoQWNyb3NzKSBz aG93Cn0KZGVmCgoKJQolIEhvdyB0byBkcmF3IGEgYmxhY2sgc3F1YXJlCiUKCi9CbGFja1NxdWFy ZQp7CiAgICAlIFN0b3JlIHRoZSBzdGFjayBjb250ZW50czogWCBZCgogICAgU1FVQVJFX1NJWkUg MSBzdWIgbXVsIEdSSURfVE9QWSBleGNoIHN1YiAvdG9wWSBleGNoIGRlZgogICAgU1FVQVJFX1NJ WkUgMSBzdWIgbXVsIEdSSURfVE9QWCBleGNoIGFkZCAvdG9wWCBleGNoIGRlZgoKICAgICUgU3Rh cnQgYSBuZXcgcGF0aCB0byBiZSBzdHJva2VkIG91dCAuLi4KCiAgICBuZXdwYXRoCgogICAgJSBN b3ZlIHRvIHRoZSB0b3AtbGVmdCBjb3JuZXIgYW5kIGRyYXcgYSBzcXVhcmUsCiAgICAlIHVzaW5n IHJlbGF0aXZlIGxpbmV0bydzIC4uLgoKICAgIHRvcFggICAgICAgICAgICAgICAgCXRvcFkgICAg ICAgICAgICAJbW92ZXRvCiAgICBTUVVBUkVfU0laRSAxIHN1YiAgICAgCTAgICAgICAgICAgICAg ICAJcmxpbmV0bwogICAgMCAgICAgICAgICAgICAgICAgICAJU1FVQVJFX1NJWkUgMSBzdWIgbmVn CXJsaW5ldG8KICAgIFNRVUFSRV9TSVpFIDEgc3ViIG5lZwkwICAgICAgICAgICAJCXJsaW5ldG8K ICAgIGNsb3NlcGF0aAoKICAgIGZpbGwKfQpkZWYKCgolCiUgQWRkIGEgd29yZCB0byB0aGUgY3Vy cmVudCBjbHVlIC4uLgolCgovQ2x1ZVdvcmQKewogICAgL1dPUkQgZXhjaCBkZWYKCiAgICAlIENh bGN1bGF0ZSB0aGUgd2lkdGggb2YgdGhpcyB3b3JkLCBwbHVzIGEgY291cGxlCiAgICAlIG9mIHBp eGVscyBmb3Igc3BhY2luZyAuLi4KCiAgICAvV09SRF9XSURUSCBXT1JEIHN0cmluZ3dpZHRoIHBv cCAyIGFkZCBkZWYKICAgIAogICAgJSBXb3JrIG91dCB3aGV0aGVyIHRoZXJlJ3MgZW5vdWdoIHNw YWNlIGxlZnQgb24gdGhlCiAgICAlIGN1cnJlbnQgbGluZSBmb3IgdGhpcyB3b3JkIC4uLgoKICAg IFdPUkRfV0lEVEggQ0xVRV9YIGFkZCBDTFVFX0xFRlRYIHN1YgogICAgQ0xVRV9XSURUSCBndAog ICAgewoJJSBUaGlzIHdvcmQgd29uJ3QgZml0LCBzbyBtb3ZlIHRvIHRoZQoJJSBuZXh0IGxpbmUg Li4uCgoJL0NMVUVfWSBDTFVFX1kgQ0xVRV9IRUlHSFQgc3ViIGRlZgoJL0NMVUVfWCBDTFVFX0xF RlRYIENMVUVfU1BBQ0lORyBhZGQgZGVmCiAgICB9CiAgICBpZgoKICAgIENMVUVfWCBDTFVFX1kg bW92ZXRvIFdPUkQgc2hvdwoKICAgIC9DTFVFX1ggQ0xVRV9YIFdPUkRfV0lEVEggYWRkIGRlZgp9 CmRlZgoKCiUKJSBIb3cgdG8gb3V0cHV0IHRoZSBkb3duIGhlYWRlciAuLi4KJQoKL0Rvd25IZWFk ZXIKewogICAgQ0xVRV9UT1BYIFNRVUFSRV9TSVpFICBHUklEX1NJWkUgbXVsIDIgZGl2IGFkZAog ICAgQ0xVRV9UT1BZCiAgICBtb3ZldG8KCiAgICAvVGltZXNSb21hbkJvbGQgZmluZGZvbnQgMTIg c2NhbGVmb250IHNldGZvbnQKCiAgICAoRG93bikgc2hvdwp9CmRlZgoKCiUKJSBTdGFydCBhIG5l dyBjbHVlIC4uLgolCgovTmV3Q2x1ZQp7CiAgICAvTlVNQkVSIGV4Y2ggZGVmCn0KZGVmCgoKJQol IERyYXcgYSBudW1iZXIsIGluIHRoZSBzcGVjaWZpZWQgd2lkdGggLi4uCiUKCi9OdW1iZXIKewog ICAgMiBzdHJpbmcgY3ZzIHNob3cKfQpkZWYKCgolCiUgU3RhcnQgYSBuZXcgY2x1ZSAuLi4KJQoK L1N0YXJ0Q2x1ZQp7CiAgICAlIFB1bGwgdGhlIGNsdWUgbnVtYmVyIG9mZiB0aGUgc3RhY2sgLi4u CgogICAgL05VTUJFUiBleGNoIGRlZgoKICAgICUgU2V0IHRoZSBYIGNvb3JkaW5hdGUgdG8gdGhl IGN1cnJlbnQKICAgICUgbGVmdCBtYXJnaW4gLi4uCgogICAgL0NMVUVfWCBDTFVFX0xFRlRYIGRl ZgoKICAgICUgTW92ZSBkb3duIGEgbGluZSAuLi4KCiAgICAvQ0xVRV9ZIENMVUVfWSBDTFVFX0hF SUdIVCBzdWIgMiBzdWIgZGVmCgogICAgJSBNb3ZlIHRvIHRoZSBhcHByb3ByaWF0ZSAoWCwgWSkg Li4uCgogICAgQ0xVRV9YIENMVUVfWSBtb3ZldG8KCiAgICAlIE91dHB1dCB0aGUgY2x1ZSBudW1i ZXIgaW4gVGltZSBSb21hbiBCb2xkIDEwIHB0IC4uLgoKICAgIC9UaW1lc1JvbWFuQm9sZCBmaW5k Zm9udCAxMCBzY2FsZWZvbnQgc2V0Zm9udAoKICAgIE5VTUJFUiAyIHN0cmluZyBjdnMgc2hvdwoK ICAgICUgU3RhcnQgdGhlIGNsdWUgdGV4dCBhIGZldyBwaXhlbHMgdG8gdGhlCiAgICAlIHJpZ2h0 IG9mIHRoZSBjbHVlIG51bWJlciBjb2x1bW4gLi4uCgogICAgL0NMVUVfWCBDTFVFX1ggQ0xVRV9T UEFDSU5HIGFkZCBkZWYKCiAgICAlIE1ha2Ugc3VyZSB0aGUgY2x1ZSB0ZXh0IGNvbWVzIG91dCBp biB0aGUgcmlnaHQKICAgICUgZm9udCAuLi4KCiAgICAvVGltZXNSb21hbiBmaW5kZm9udCAxMCBz Y2FsZWZvbnQgc2V0Zm9udAp9CmRlZgoKCiUKJSBTdGFydCB0aGUgYWNyb3NzIGNsdWVzIC4uLgol CgovU3RhcnRBY3Jvc3NDbHVlcwp7CiAgICBDTFVFX1RPUFggU3RhcnRDbHVlTGlzdAp9CmRlZgoK CiUKJSBTZXQgdGhlIG9mZnNldCBmb3IgdGhlIHN0YXJ0IG9mIGNsdWVzIC4uLgolCgovU3RhcnRD bHVlTGlzdAp7CiAgICAvQ0xVRV9MRUZUWCBleGNoIGRlZgoKICAgIENMVUVfVE9QWSAvQ0xVRV9Z IGV4Y2ggZGVmCn0KZGVmCgoKJQolIFN0YXJ0IHRoZSBkb3duIGNsdWVzIC4uLgolCgovU3RhcnRE b3duQ2x1ZXMKewogICAgQ0xVRV9UT1BYIFNRVUFSRV9TSVpFIEdSSURfU0laRSBtdWwgMiBkaXYg YWRkIFN0YXJ0Q2x1ZUxpc3QKfQpkZWYKCgolCiUgRHJhdyB0aGUgY3Jvc3N3b3JkJ3MgdGl0bGUg Li4uCiUKCi9UaXRsZQp7CiAgICAlIFN0b3JlIHRoZSB0aXRsZSAuLi4KCiAgICAvVElUTEUgZXhj aCBkZWYKCiAgICAlIENhbGN1bGF0ZSB0aGUgWCBvZmZzZXQgcmVxdWlyZWQgdG8gY2VudHJlCiAg ICAlIHRoZSB0aXRsZSBhYm92ZSB0aGUgY3Jvc3N3b3JkIC4uLgoKICAgIC9UaW1lc1JvbWFuQm9s ZCBmaW5kZm9udCAxNCBzY2FsZWZvbnQgc2V0Zm9udAoKICAgIFNRVUFSRV9TSVpFIDEgc3ViIEdS SURfU0laRSBtdWwKICAgIFRJVExFIHN0cmluZ3dpZHRoIHBvcCBzdWIKICAgIDIgZGl2CiAgICBH UklEX1RPUFggYWRkCgogICAgR1JJRF9UT1BZIDEyIGFkZAoKICAgIG1vdmV0bwoKICAgIFRJVExF IHNob3cKfQpkZWYKCgolCiUgSG93IHRvIGRyYXcgYSB3aGl0ZSBzcXVhcmUKJQoKL1doaXRlU3F1 YXJlCnsKICAgICUgU3RvcmUgdGhlIHN0YWNrIGNvbnRlbnRzOiBYIFkgTlVNQkVSIEFOU1dFUgoK ICAgIC9BTlNXRVIgZXhjaCBkZWYKICAgIC9OVU1CRVIgZXhjaCBkZWYKCiAgICBTUVVBUkVfU0la RSAxIHN1YiBtdWwgR1JJRF9UT1BZIGV4Y2ggc3ViIC90b3BZIGV4Y2ggZGVmCiAgICBTUVVBUkVf U0laRSAxIHN1YiBtdWwgR1JJRF9UT1BYIGV4Y2ggYWRkIC90b3BYIGV4Y2ggZGVmCgogICAgJSBT dGFydCBhIG5ldyBwYXRoIHRvIGJlIHN0cm9rZWQgb3V0IC4uLgoKICAgIG5ld3BhdGgKCiAgICAl IE1vdmUgdG8gdGhlIHRvcC1sZWZ0IGNvcm5lciBhbmQgZHJhdyBhIHNxdWFyZSwKICAgICUgdXNp bmcgcmVsYXRpdmUgbGluZXRvJ3MgLi4uCgogICAgdG9wWCAgICAgICAgICAgICAgICAJdG9wWSAg ICAgICAgICAgIAltb3ZldG8KICAgIFNRVUFSRV9TSVpFIDEgc3ViICAgICAJMCAgICAgICAgICAg ICAgIAlybGluZXRvCiAgICAwICAgICAgICAgICAgICAgICAgIAlTUVVBUkVfU0laRSAxIHN1YiBu ZWcJcmxpbmV0bwogICAgU1FVQVJFX1NJWkUgMSBzdWIgbmVnCTAgICAgICAgICAgIAkJcmxpbmV0 bwogICAgY2xvc2VwYXRoCgogICAgc3Ryb2tlCgogICAgJSBBZGQgdGhlIGNsdWUgbnVtYmVyIC4u LgoKICAgIE5VTUJFUiAwIGd0CiAgICB7CglOVU1CRVJGT05UIHNldGZvbnQKCgl0b3BYIDIgYWRk IHRvcFkgNiBzdWIgbW92ZXRvIE5VTUJFUiAyIHN0cmluZyBjdnMgc2hvdwogICAgfQogICAgaWYK CiAgICAlIEFkZCB0aGUgYW5zd2VyICh3aGljaCBtYXkgYmUgYmxhbmspIC4uLgoKICAgIEFOU1dF UkZPTlQgc2V0Zm9udAoKICAgIHRvcFggNyBhZGQgdG9wWSAxNiBzdWIgbW92ZXRvIEFOU1dFUiBz aG93Cn0KZGVmCgoKJSBTZXQgdGhlIGxpbmUgd2lkdGggdG8gb25lIHBpeGVsIGFuZCBjb2xvdXIg dG8gYmxhY2sgLi4uCgoxIHNldGxpbmV3aWR0aAowIHNldGNvbG9yCgowLjgwIDAuODAgc2NhbGUK MTIwIDQ1IHRyYW5zbGF0ZQoKU1VCUk9VVElORVMKCiAgICBlbmQKCgogICAgZGVmIE91dHB1dFRp dGxlKG91dCA9ICRzdGRvdXQpCgoJb3V0LnB1dHMgIigje0B0aXRsZX0pIFRpdGxlIgoKICAgIGVu ZAoKCiAgICBkZWYgVGl0bGUKCUB0aXRsZQogICAgZW5kCiAgICAKZW5kCgoKaWYgJDAgPT0gX19G SUxFX18KCiAgICBjcm9zc3dvcmRGaWxlID0gQVJHVlswXQoKICAgIGlmIEFSR1YubGVuZ3RoID4g MQoJYW5zd2VycyA9IEFSR1ZbMV0KICAgIGVsc2UKCWFuc3dlcnMgPSBuaWwKICAgIGVuZAoJCiAg ICBjID0gQ3Jvc3N3b3JkLm5ldyhjcm9zc3dvcmRGaWxlLCBhbnN3ZXJzKQoKICAgIGMuT3V0cHV0 UG9zdHNjcmlwdChhbnN3ZXJzICE9IG5pbCkKCmVuZAoK ----=_NextPart_ST_19_46_05_Monday_December_06_2004_17975--