ycl

Artifact [b617d0a14a]
Login

Artifact [b617d0a14a]

Artifact b617d0a14a3929458fcb8d4b6cb8c0810439e6fc:


#! /bin/env tclsh


proc accounting name {
	package require sqlite3

	uplevel [list [namespace which sqlite3] $name :memory:]
	uplevel [list $name eval {
		create table account (id int primary key , name)
		; create table "transaction" (id int primary key , link , tid , date
			, account , amount , comment)

		; create table unit (id int primary key , name , description)

		; insert into account values
			(1 , 'bank1')
			, (2 , 'vendor1')
			, (3 , 'vendor2')
			, (4 , 'client1')
			, (5 , 'client2')
			, (6 , 'loan1')
			, (7 , 'loan2')
			, (8 , 'loans')
			, (9 , 'facilities' )
			, (10 , 'expense' )
			, (11 , 'electrical' )
			, (12 , 'asset')
			, (13 , 'liability')
			, (14 , 'rent')
			, (15 , 'telecommunications')
			, (16 , 'entertainment')
			, (17 , 'travel')
			, (18 , 'sales')


		;insert into unit values
			(1 , 'United States dollar' , '')

		; insert into "transaction" values
			(1  , '' , 1 , 2015-03-05 , 1 , -15.00 , '')
			, (2 , '' , 1 , 2015-03-05 , 4 , +15.00 , '')
			, (3  , '' , 2 , 2015-03-05 , 4 , -37.00 , '')
			, (4 , '' , 2 , 2015-03-05 , 8 , +37.00 , '')
			, (5  , 2 , 3 , 2015-03-05 , 8 , -37.00 , '')
			, (6 , 2 , 3 , 2015-03-05 , 1 , +37.00 , '')

	}]
}


proc bytes {} {
	for {set i 0} {$i < 256} {incr i} {
		append data [binary format c $i]
		for {set j 0} {$j < 256} {incr j} {
			append data [binary format c $j]
		}
		append data [binary format c 0] 
	}
	return [string length $data\n]$data
}


proc commands {} {
	# Make sure to preserve the tabs and spaces in these values, including
	# whitespace at the end of lines .
	lappend res \
		2 {#! /bin/env tclsh} \
		21 {#a comment} \
		35 {set res [li\tst]   } \

	lappend res \
		57 "\0and {another

		   command

		   # comprising multiple
 		#
		 #	
		\$lines

	}"

	lappend res \
		138 {command and empty } \
		158 {command followed by } \
		182 {one two three }

	lappend res \
   202 "# a comment spanning \\\n    	multiple lines"


lappend res \
		246 {two } 252 {commands\  } \
		267 {and [$finally a] } \
		285 "# inline comment; with a semicolon\\\n   and a newline" \
		339 {and another} \
		352 {# inline comment  	 } \
		374 {last "command"}

	return $res
}


proc dirtree {} {
	package require {ycl list}
	namespace import [yclprefix]::list::sl
	sl {
		[sl {
			a {
				{
					c {
						{}
						{five cabbage}
					}
				}
				{
					one hello
					two goodbye
					three cabbage
					four cabbage
				}
			}
			b [sl {
				{}
				[sl {
					six goodbye
					seven whateber
					eight cabbage
					d [bytes]
				}]
			}]
		}]
		{}
	}
}

proc {deep scripted dict} {} {
	set data {
		actors {
			{{} {
				target {.. things {{William Shatner}}}
			}}
		}
		[lindex productions] {
			{} {
				{{{Star Trek}}}
			}
		}
		things {
			{{star trek}}
			{{William Shatner}}
		}
	}
}


proc eav1 name {
	package require sqlite3

	uplevel [list [namespace which sqlite3] $name :memory:]

	uplevel [list $name eval {
		create table person (
			id int primary key , name , middle , surname ,gender)

		; create table type (
			id int primary key , name
		)

		; create table "what" (
			id int primary key , value, type
		)
		; create table "when" (
			id int primary key , start , stop)
		; create table "where" (id int primary key , "where" , name
			, unique ("where" , name))
		; create table event (id int primary key , what , "where" , "when")
		; create table account (id int primary key, name)
		; create table attribute (id int primary key , context , "what"
			, attribute , value)
		; create table character(id int primary key , name , surname)
		; create table work (id int primary key , name )

		; insert into type values 
			(1 , 'what')
			, (2 , 'where')
			, (3 , 'when')
			, (4 , 'author')
			, (5 , 'event')
			, (6 , 'work')

		; insert into what values
			(1 , 1 , 3)
			, (2 , 'birth' , 1)
			, (3 , 1 , 3)
			, (4 , 1 , 4)
			, (5 , 1 , 5)
			, (6 , 'role' , 1)
			, (7 , 'of' , 1)
			, (8 , 2 , 4) 
			, (9 , 2 , 3) 
			, (10 , 2 , 5)
			, (11 , 2 , 4)
			, (12 , 'author' , 1)
			, (13 , 1 , 6)

		; insert into person values
			(1 , 'William'    , '' , 'Shakespeare' , '')
			, (2 , 'Geoffrey' , '' , 'Chaucer'     , '')
			, (3 , 'Jane'     , '' , 'Austen'      , '')
			, (4 , 'Mark'     , '' , 'Twain'       , '')
			, (5 , 'Virginia' , '' , 'Woolf'       , '')
			, (6 , 'T.S.' , '' , 'Eliot'       , '')
			, (7 , 'Vladimir' , '' , 'Nabokov'       , '')
			, (8 , 'Tony' , '' , 'Morrison'       , '')
			, (9 , 'Salman' , '' , 'Rushdie'       , '')

		; insert into work values 
			(1 , 'A Midsummer Night''s Dream')	

		; insert into "when" values
			(1 , 1564-04-26 , '')
			,(2 , 1343 , '')

		; insert into "event" values
			(1 , 2 , '' , 1)
			,(2 , 2 , '' , 9)

		; insert into attribute values
			(1  , 5 , 5 , 7 , 4)
			, (2 , 10 , 10 , 7 , 4)
			, (3 , 13 , 13 , 12 , 4)

			
	}]

}

proc eav2 name {
	package require sqlite3

	uplevel [list [namespace which sqlite3] $name :memory:]

	uplevel [list $name eval {
		-- primary keys in v and s must not overlap .
		create table v (id int primary key , value)

		; create table s (id int primary key , value , next)

		; create table a (id int primary key , context , "what"
			, attribute , value , unique (
				context , "what" , attribute , value ))

		-- An odd value in the value field of the attribute table is the id of
		-- a record in the attribute table .
		
		-- An even value in the value field of the attribute table is the type
		-- of the value in the value field is "value" .

		; insert into v values
			  (2 , 'value')
			, (4 , 'attribute')
			, (6 , 'type')
			, (8 , 'kind')
			, (10 , 'name')
			, (12 , 'structure')
			, (14 , 'component')
			, (16 , 'time')
			, (18 , 'place')
			, (20 , 'event')
			, (22 , 'person')
			, (24 , 'William')
			, (26 , 'Shakespeare')
			, (28 , 'birth')
			, (30 , 'subject')
			, (32 , '1564-04-26')
			, (34 , 'Geoffrey')
			, (36 , 'of')
			, (38 , 'Chaucer')

		; insert into s values
			(-1 , 24 , -2)
			, (-2 , 26 , '')
			, (-3 , 34 , -4)
			, (-4 , 38 , '') 

		; insert into a values
			(1 , 0 , 1 , 5 , 1)
			, (2 , 0 , 1,  9 , 2)

			, (3 , 0 , 3 , 5 , 3)
			, (4 , 0 , 3 , 9 , 4)

			, (5 , 0 , 5 , 5 , 5)
			, (6 , 0 , 5 , 9 , 6)

			, (7 , 0 , 7 , 5 , 7)
			, (8 , 0 , 7 , 9 , 8)

			, (9 , 0 , 9 , 5 , 9)
			, (10 , 0 , 9 , 9 , 10)

			, (11 , 0 , 11 , 5 , 11)
			, (12 , 0 , 11 , 9 , 12)

			, (13 , 0 , 13 , 5 , 13)
			, (14 , 0 , 13 , 9 , 14)

			, (15 , 0 , 15 , 5 , 15)
			, (16 , 0 , 15 , 9 , 16)

			, (17 , 0 , 17 , 5 , 17)
			, (18 , 0 , 17 , 9 , 18)

			, (19 , 0 , 19 , 5 , 19)
			, (20 , 0 , 19 , 9 , 20)


			, (21 , 0 , 21 , 5 , 21)
			, (22 , 0 , 21 , 9 , 22)

			, (23 , 0 , 21 , 7 , 23)

			, (24 , 0 , 23 , 9 , -1)

			, (25 , 0 , 25 , 5 , 25)
			, (26 , 0 , 25 , 9 , 28)

			, (27 , 0 , 27 , 5 , 27)
			, (28 , 0 , 27 , 9 , 36)

			, (29 , 0 , 25 , 27 , 23)  
			, (30 , 0 , 29 , 16 , 32)

			, (31 , 0 , 21 , 7 ,  31)
			, (33 , 0 , 31 , 9 , -3)



		
	}]
}


proc fruits {} {
	return [list apple orange banana pear kiwi {star fruit} tomato]
}


proc httprequest {} {
	lindex {
	
GET /index.html HTTP/1.1
Host: www.example.com
Summary:  This is a value with
	some folded text
		and another
	line here

This is the body .
}}


proc httpresponse {} {
	lindex [string map \n \r\n] {
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Content-Type: text/html; charset=UTF-8
Content-Encoding: UTF-8
Content-Length: 138
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
ETag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Connection: close

<html>
    <head>
         <title>An Example Page</title>
    </head>
    <body>
        Hello World, this is a very simple HTML document.
    </body>
</html>
}]
}


proc http_response_trailer {} {

	lindex [string map [list \n \r\n] {HTTP/1.1 200 OK
Date: Mon, 22 Mar 2004 11:15:03 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Trailer: Expires

29
<html><body><p>The file you requested is 
5
3,400
22
bytes long and was last modified: 
1d
Sat, 20 Mar 2004 21:12:00 GMT
13
.</p></body></html>
0
Expires: Sat, 27 Mar 2004 21:12:00 GMT
}]
}


proc indented1 {} {
	set data "
\x20\x20\x20\x09\x20snode1
\x20\x20\x20\x09\x20\x20\x20\x20\x20node1.1
\x20\x09\x20\x09\x20\x20\x20\x20\x20node1.2
\x09\x09\x20\x09\x20node2
\x20\x20\x09\x20\x09\x09\x09
\x20\x09\x20\x09\x20\x20\x20\x20\x20node1.2
\x09\x09\x09\x09\x20node3
\x09\x09\x09\x09\x09\x09\x09\x09\x09node1.2
"
return $data
}

proc indented2 {} {
	set data "
\x20\x09\x20\x09\x20snode1
\x20\x09\x20\x09\x20\x20\x20\x20\x20node1.1
\x20\x09\x20\x09\x20\x20\x20\x20\x20node1.2
\x20\x09\x20\x09\x20node2
\x20\x09\x20\x20\x09\x09\x09
\x20\x09\x20\x09\x20\x20\x20\x20\x20node1.2
\x20\x09\x20\x09\x20node3
\x20\x09\x20\x09\x09\x09\x09\x09\x09node1.2
"
return $data
}


proc languages {} {
	return {
		languages {
			English {
				countries {
					England {
					}
					{United States of America} {
					}
				}
			}
			Estonian {
				riigid {
					Eesti
				}
			}
		}
	}
}


proc list1 {} {
	lappend list üks {kaks kolm} 020 "\{\" " neli " \t\n " 20 010 10 viis \
		001 01 
	return $list
}


proc matrix1 {} {
	return {
		{1 2 3}
		{4 5 6}
		{7 8 9}
	}
}



proc pkikey {} {
	set pkikey {
		p
		94159960284725384554125296314265997970836440758380212900655608346828872286133061846769970950330398312448746238288271408216065371031792738313990490989718519766398751771917608961735126528414368984972176160838176314405794342515440800833231664240450406352636251212059440449303127915686596585098355696079699218793
		l 2048 d
		25145475369197042361883927212790781684267712572788263701368310165578241814813996088253308237692811897019228199121601769301630759677253977065165852513130344355884031714089941454208960821425746473641501737166525094472026809666049292675254174246804378607863923338705870950830627329287231290579347029541223104528326782390329142377660673218951236713032444195631795029821998529801974391592266155650659336263380808502507157031369926998863394821436522712680534742220389484606853249865402704269453263200880301352938309582919399644558254177749616404905899352845831249900182825599471737380978280121624133515609535555670436443009
		q
		173366512815386796945238680283650671759753520104174826903516662829090014962800430818804163619629678908862955837221627845714816717563902550008612330129634666692216537515570925645230843689529727941265161592061376397638563869537421263952595404137730381235666620222139127004326810937975056210525451253024329783699
		e 0x10001 type rsa n
		16324183961398155215060493479521648498710803935363583071128605112543597291955234781241154825795168132329712719766150399741669061504162313722558983241075197896540650868197881102746777333324541828225722118914757063915655173003842147694529408209969278080905558521364278711710385364128469738991784870780600073317021551529711184810122348570765513155803251178561272755841935937548373080348449570037763501008398028394431715055588460408979918327724047267688481708124045175252094778910565809249441191217984634109923822370696017314087054781186476161864814368158841325514329912417166505213527449990943537634086661887212965855307
	}
	return $pkikey
}


proc script {} {
	# Make sure to preserve the various tabs and spaces in this value ,
	# including whitespace at the end of lines .

	# Note that there is no newline at the end of the last command .
	set res "
	#! /bin/env tclsh

#a comment
	
	set res \[li\\tst]   

	\0and {another

		   command

		   # comprising multiple
 		#
		 #	
		\$lines

	}

command and empty ;;command followed by ;	; one two three 
	"

	append res "
   # a comment spanning \\
    	multiple lines

two ; commands\\  

; and \[\$finally a] ;# inline comment; with a semicolon\\
   and a newline

and another; # inline comment  	 

last \"command\""

	return $res
}


proc sqlsyntax name {
	uplevel [list [namespace which sqlite3] $name :memory:]
	uplevel [list $name eval {
		create table "wh""ere" ( "values" , "select")

		;insert into "wh""ere" values
			('one' , 2.35)
			, ('two' , 3.17)
	}]
}


proc startrek {} {
	if 0 {
		the format of each line is

			id parent {*}values

		each id is an even number

			or that number +1 if the value is actually a pointer to another id


		semantics

			tree
				the top nodes in the tree are a sequence of things

				normally
				
					each child of a thing is an attribute of the thing

						recursively


			node

				has

					id
						even

							the value of the node is interpreted according to
							its context

						odd

							the node is a link whose value is the id of another
							node

					parent

					value

			special nodes
				0
					the only node that has itself as a parent

				value

					normally

						its id is 2
				
					meaning

						each child of a link pointing to this node is a component of the
						value rather than an attribute
							recusively


			
	}

	# unused  
	# next even 190
	set tree {
		2 2 value
		8 8 kind
		4 4 name
		6 6 thing
		108 108 {Star Trek}
			111 108 4
				139 111 2
					128 139 Star
					134 139 Trek
				35 111 16
					37 35 18 
			33 108 14
				3 33 10
			144 108
				118 144 4
					141 118 2
						112 141 the
						114 141 original
						116 141 series
				148 144 seasons
					142 148 1
				53 144 86
					57 53 64
						73 57 70
						79 57 82
							81 79 76
		10 10 {Gene Roddenberry}
			147 10 4
				131 147 2
					124 131 Gene
					126 131 Roddenberry
			39 10 26
				41 39 30
			42 10 
				153 42 4
					155 153 2
						156 155 birth
						158 155 date
				45 42 2 
					46 44 1921
					48 44 08
					50 44 19
		14 14
			161 14 4
				163 161 2
					164 163 executive
					166 163 producer
		18 18 星際爭霸戰
		20 20 translation
			151 20 8
				16 151 Chinese
				22 151 Russian
		26 26 hypocoristicon
		30 30 Gene
		62 62 {U.S.S. Enterprise}
			169 62 4
				171 169 2
					172 171 U.S.S.
					174 171 Enterprise
		64 64 captain
			66 64 of
				69 66 62
		70
			75 70 4
				55 75 2
					176 55 James
					178 55 T.
					182 55 Kirk
		76 76 {William Shatner}
			181 76 4
				183 181 2
					184 183 William
					186 183 Shatner
		82 82 actor
		84 84 role
		86 86 roles
			91 86 96
				93 91 88
					97 93 94
						99 97 84
		88 88 list
		94 94 of
		96 96 as
		# this is a link to a link for testing purposes
		101 101 81
		# a cyclical symbolic link to a link for testing purposes
		103 103 105
		105 105 107
		107 107 103
		# something that is its own parent, for testing purposes
		188 188 ownself
		190 190 one
			192 190 31415926535
				194 192 two 



	}

	return $tree
}


proc tclchars {} {
	lappend list { } "\"" $ ";" {[} {]} "{" "}" " \"$;\[]{}" "{ \"$;\[]}"
	return $list
}


proc unichars args {
	if {[llength $args]} {
		lassign $args varname
	} else {
		set varname unichars
	}
	upvar 1 $varname chars
	set chars {}
	set charcount 0
	for {set i 0} {$i <= 0x10ffff} {incr i} {
		set char [format %c $i]
		scan $char %c ord
		if {$ord == $i} {
			incr charcount
			# this is a supported unicode character
			lappend chars $char
		}
	}
	return
}


proc utf8_01 {} {
	return "\xe4\xbd\xa0\xe5\xa5\xbd"
}


proc values {} {
	return {
		{hex number in whitespace}
			{ 0x15520 }
		{decimal number in whitespace}
			{ 15520 }
		{decimal leading zero with mantissa in whitespace}
			{ 012.038900 }
		{negative invalid octal in whitespace}
			{  -00099930 }
		{negaive invalid octal with mantissa with exponent in whitespace}
			{   -0009388.3333e+67 }
		{octal in whitespace}
			{ 0o00730}
		ascii
			hello
		{invalid hexadecimal in whitespace}
			{ 0xhello }
		{Inf in whitespace}
			{   Inf   }
		{invalid exponent in whitespace}
			{ 5.2e }
		{minus sign in whitespace}
			{   -   }
		{NaN in whitespace}
			{ NaN }
		{True in whitespace}
			{ True }
	}
}

proc vrtcl1 {} {
	return {

		
		{
			is TtGaNKlhnsi9b1DYR4A@P3YCOZlr4j-pR8f5^o#09m

			name {{Sly Mold Corporation}}
		}
			

		"
			is lVlkUcVh6QhxhM99yAb#wk#FRqfn6KMhNSUkB=9YTR

			name {
				first Piers
				
				last Niketas
			}

			{middle name} Anders
		"

		{

			GVejDwIuipPIKm@MyLBN9PzZbw2Zk1h-shgwOq+sOF

			name CEO


		}

		{
				
			is 1SvINHOoC7WutLc4u12kd#aZ10HDXuxrR+-j9tY26v

			name {{CEO of Sly Mold Corporation}}

			as GVejDwIuipPIKm@MyLBN9PzZbw2Zk1h-shgwOq+sOF

			of TtGaNKlhnsi9b1DYR4A@P3YCOZlr4j-pR8f5^o#09m
		}

		{

			lVlkUcVh6QhxhM99yAb#wk#FRqfn6KMhNSUkB=9YTR

			name expense
		}

		{


			OEuefwrM0ZlbsscoNOAE1=z3gKHeOEllKZx#^5@lXR

			name {{{Sly Mold Corporation} expense}}

			as lVlkUcVh6QhxhM99yAb#wk#FRqfn6KMhNSUkB=9YTR

			by TtGaNKlhnsi9b1DYR4A@P3YCOZlr4j-pR8f5^o#09m

		}

	}
}


proc xhierarchy {} {
	return {

		config {

			programs {
				
				prefix /path/to/gargonzola

				program1 {

					prefix /path/to/program1

					prefix /other/path/to/program1

					[lindex commands] {

						cmd1 {

							opts {
								default [! list -f [format %s -e] -c [[ancestor::*[prefix][1]/prefix[1]]]/etc/configfile]
							}

							opts2 {
								default [! list -f [format %s -e] -c [[^::prefix]]/etc/configfile]
							}

							opts3 [lindex eigth]

						}
					}
				}
			}
		}

		filesystem {
			prefix {
				default [! file dirname [file dirname [info script]]]
			}
		}

		packages {

			{
				name bash

				version 4.4

				flavour pkgsrc_2016Q3

				need {

					name pkgsrc_bootstrap

					== {{version 2016Q3}}
				}
			}

			{
				name pkgsrc_shells_bash

				version 2016Q3

				need {

					name pkgsrc_bootstrap

					== {{version 2016Q3}}

				}

				provide {

					name bash

					version 4.4

				}
			}

			{

				name R

				need {
					name bash
				}

			}
		}
	}
}

# This format was abandoned, 2016-12-11
proc xhierarchy20161211 {} {
	return {
		config [{
			programs [{
				program1 [{
					prefix /path/to/program1 
					prefix /other/path/to/program1 
					path bin/program1

					commands [{
						cmd1 [{
							opts [{
								default [list -f [format %s -e] -c [[ancestor::*/prefix[1]]]/etc/configfile]
							}]
							opts2 {[one two three]}
						}]
					}]
				}]
			}]
		}]
		filesystem [{
			prefix [{
				default [file dirname [file dirname [info script]]]
			}]
		}]
		packages  [{
			[{
				name bash
				version 4.4
				flavour pkgsrc_2016Q3
				need [{
					name pkgsrc_bootstrap
					== version 2016Q3
				}]
			}]

			[{
				name pkgsrc_shells_bash
				version 2016Q3
				need [{
					name pkgsrc_bootstrap
					== version 2016Q3
				}]
				provide [{
					name bash
					version 4.4
				}]
			}]

			[{
				name R
				need [{
					name bash
				}]
			}]
		}]
	}
}


variable tcldsc {
Format: 3.0 (quilt)
Source: tcl8.6
Binary: tcl8.6, tcl8.6-doc, tcl8.6-dev
Architecture: any all
Version: 8.6.0-1
Maintainer: Tcl/Tk Debian Packagers <pkg-tcltk-devel@lists.alioth.debian.org>
Uploaders: Sergei Golovan <sgolovan@debian.org>
Homepage: http://www.tcl.tk/
Standards-Version: 3.9.3
Build-Depends: debhelper (>= 8.0.0), dpkg-dev (>= 1.16.1~), zlib1g-dev
Package-List: 
 tcl8.6 deb interpreters optional
 tcl8.6-dev deb devel optional
 tcl8.6-doc deb doc optional
Checksums-Sha1: 
 30643d99d756b20ce318a613ff5f2b2c6e60c57c 5719946 tcl8.6_8.6.0.orig.tar.gz
 0f79dc0d1c71004271b66325b03bb4203e273b85 10460 tcl8.6_8.6.0-1.debian.tar.gz
Checksums-Sha256: 
 c53915996bb3ddda05d765f848bbd55111d44b74406a9b67a02070078a645964 5719946 tcl8.6_8.6.0.orig.tar.gz
 61f38136231d6311c598b79615c1ec5c8a70bcbd1153bdfc6bdc812e2ab98fe7 10460 tcl8.6_8.6.0-1.debian.tar.gz
Files: 
 f1edba1eeb1b02c7531b6b408f92ad69 5719946 tcl8.6_8.6.0.orig.tar.gz
 c522c797de768bc54927b352cef3e180 10460 tcl8.6_8.6.0-1.debian.tar.gz
}

variable tcldscparsed {
{Format {3.0 (quilt)}} {Source tcl8.6} {Binary {tcl8.6, tcl8.6-doc, tcl8.6-dev}} {Architecture {any all}} {Version 8.6.0-1} {Maintainer {Tcl/Tk Debian Packagers <pkg-tcltk-devel@lists.alioth.debian.org>}} {Uploaders {Sergei Golovan <sgolovan@debian.org>}} {Homepage http://www.tcl.tk/} {Standards-Version 3.9.3} {Build-Depends {debhelper (>= 8.0.0), dpkg-dev (>= 1.16.1~), zlib1g-dev}} {Package-List {tcl8.6 deb interpreters optional
 tcl8.6-dev deb devel optional
 tcl8.6-doc deb doc optional}} {Checksums-Sha1 {30643d99d756b20ce318a613ff5f2b2c6e60c57c 5719946 tcl8.6_8.6.0.orig.tar.gz
 0f79dc0d1c71004271b66325b03bb4203e273b85 10460 tcl8.6_8.6.0-1.debian.tar.gz}} {Checksums-Sha256 {c53915996bb3ddda05d765f848bbd55111d44b74406a9b67a02070078a645964 5719946 tcl8.6_8.6.0.orig.tar.gz
 61f38136231d6311c598b79615c1ec5c8a70bcbd1153bdfc6bdc812e2ab98fe7 10460 tcl8.6_8.6.0-1.debian.tar.gz}} {Files {f1edba1eeb1b02c7531b6b408f92ad69 5719946 tcl8.6_8.6.0.orig.tar.gz
 c522c797de768bc54927b352cef3e180 10460 tcl8.6_8.6.0-1.debian.tar.gz}}
}


variable tkdsc {
Format: 3.0 (quilt)
Source: tk8.6
Binary: tk8.6, tk8.6-doc, tk8.6-dev
Architecture: any all
Version: 8.6.0-1
Maintainer: Tcl/Tk Debian Packagers <pkg-tcltk-devel@lists.alioth.debian.org>
Uploaders: Sergei Golovan <sgolovan@debian.org>
Homepage: http://www.tcl.tk/
Standards-Version: 3.9.3
Build-Depends: debhelper (>= 8.0.0), dpkg-dev (>= 1.16.1~), x11proto-core-dev, libx11-dev, libxt-dev, libxss-dev, libxext-dev, libxft-dev, tcl8.6-dev (>= 8.6.0)
Package-List: 
 tk8.6 deb libs optional
 tk8.6-dev deb devel optional
 tk8.6-doc deb doc optional
Checksums-Sha1: 
 c42e160285e2d26eae8c2a1e6c6f86db4fa7663b 4239836 tk8.6_8.6.0.orig.tar.gz
 f896ff651c15f5f65f217144ec11cdc1a0ce084a 8644 tk8.6_8.6.0-1.debian.tar.gz
Checksums-Sha256: 
 5c708b2b6f658916df59190b27750fa1ea2bc10992108e10f961c0700f058de6 4239836 tk8.6_8.6.0.orig.tar.gz
 c3a94b0d060d9f897b8c5164c76092e619306f2992fba0125d22a78c59773366 8644 tk8.6_8.6.0-1.debian.tar.gz
Files: 
 b883a1a3c489c17413fb602a94bf54e8 4239836 tk8.6_8.6.0.orig.tar.gz
 fd73f5fc2de642ccee265a3a8619136a 8644 tk8.6_8.6.0-1.debian.tar.gz
}

variable tkdscparsed {
{Format {3.0 (quilt)}} {Source tk8.6} {Binary {tk8.6, tk8.6-doc, tk8.6-dev}} {Architecture {any all}} {Version 8.6.0-1} {Maintainer {Tcl/Tk Debian Packagers <pkg-tcltk-devel@lists.alioth.debian.org>}} {Uploaders {Sergei Golovan <sgolovan@debian.org>}} {Homepage http://www.tcl.tk/} {Standards-Version 3.9.3} {Build-Depends {debhelper (>= 8.0.0), dpkg-dev (>= 1.16.1~), x11proto-core-dev, libx11-dev, libxt-dev, libxss-dev, libxext-dev, libxft-dev, tcl8.6-dev (>= 8.6.0)}} {Package-List {tk8.6 deb libs optional
 tk8.6-dev deb devel optional
 tk8.6-doc deb doc optional}} {Checksums-Sha1 {c42e160285e2d26eae8c2a1e6c6f86db4fa7663b 4239836 tk8.6_8.6.0.orig.tar.gz
 f896ff651c15f5f65f217144ec11cdc1a0ce084a 8644 tk8.6_8.6.0-1.debian.tar.gz}} {Checksums-Sha256 {5c708b2b6f658916df59190b27750fa1ea2bc10992108e10f961c0700f058de6 4239836 tk8.6_8.6.0.orig.tar.gz
 c3a94b0d060d9f897b8c5164c76092e619306f2992fba0125d22a78c59773366 8644 tk8.6_8.6.0-1.debian.tar.gz}} {Files {b883a1a3c489c17413fb602a94bf54e8 4239836 tk8.6_8.6.0.orig.tar.gz
 fd73f5fc2de642ccee265a3a8619136a 8644 tk8.6_8.6.0-1.debian.tar.gz}}
}

variable turingtest1 {
	pooryorick brings forth  mst's comments over the weekend about using ""
instead of {} so that his brain can continue to parse {} as a list or block as
an argument for using {} instead of "" wherever possible to disavow that notion
}