(lp1 (ccopy_reg _reconstructor p2 (cpygments.token _TokenType p3 c__builtin__ tuple p4 (S'Keyword' p5 S'Reserved' p6 ttRp7 (dp8 S'subtypes' p9 c__builtin__ set p10 ((ltRp11 sS'parent' p12 g2 (g3 g4 (g5 ttRp13 (dp14 S'Pervasive' p15 g2 (g3 g4 (g5 g15 ttRp16 (dp17 g9 g10 ((ltRp18 sg12 g13 sbsS'Constant' p19 g2 (g3 g4 (g5 g19 ttRp20 (dp21 g9 g10 ((ltRp22 sg12 g13 sbsg12 g2 (g3 g4 (ttRp23 (dp24 S'Comment' p25 g2 (g3 g4 (g25 ttRp26 (dp27 g12 g23 sS'Preproc' p28 g2 (g3 g4 (g25 g28 ttRp29 (dp30 g9 g10 ((ltRp31 sg12 g26 sbsS'Single' p32 g2 (g3 g4 (g25 g32 ttRp33 (dp34 g9 g10 ((ltRp35 sg12 g26 sbsS'Multiline' p36 g2 (g3 g4 (g25 g36 ttRp37 (dp38 g9 g10 ((ltRp39 sg12 g26 sbsg9 g10 ((lp40 g2 (g3 g4 (g25 S'Special' p41 ttRp42 (dp43 g9 g10 ((ltRp44 sg12 g26 sbag29 ag33 ag37 atRp45 sg41 g42 sbsS'Name' p46 g2 (g3 g4 (g46 ttRp47 (dp48 S'Function' p49 g2 (g3 g4 (g46 g49 ttRp50 (dp51 g9 g10 ((ltRp52 sg12 g47 sbsS'Exception' p53 g2 (g3 g4 (g46 g53 ttRp54 (dp55 g9 g10 ((ltRp56 sg12 g47 sbsS'Tag' p57 g2 (g3 g4 (g46 g57 ttRp58 (dp59 g9 g10 ((ltRp60 sg12 g47 sbsg19 g2 (g3 g4 (g46 g19 ttRp61 (dp62 g9 g10 ((ltRp63 sg12 g47 sbsg12 g23 sS'Pseudo' p64 g2 (g3 g4 (g46 g64 ttRp65 (dp66 g9 g10 ((ltRp67 sg12 g47 sbsS'Attribute' p68 g2 (g3 g4 (g46 g68 ttRp69 (dp70 g9 g10 ((ltRp71 sg12 g47 sbsS'Label' p72 g2 (g3 g4 (g46 g72 ttRp73 (dp74 g9 g10 ((ltRp75 sg12 g47 sbsS'Blubb' p76 g2 (g3 g4 (g46 g76 ttRp77 (dp78 g9 g10 ((ltRp79 sg12 g47 sbsS'Entity' p80 g2 (g3 g4 (g46 g80 ttRp81 (dp82 g9 g10 ((ltRp83 sg12 g47 sbsS'Builtin' p84 g2 (g3 g4 (g46 g84 ttRp85 (dp86 g9 g10 ((lp87 g2 (g3 g4 (g46 g84 g64 ttRp88 (dp89 g9 g10 ((ltRp90 sg12 g85 sbatRp91 sg64 g88 sg12 g47 sbsS'Other' p92 g2 (g3 g4 (g46 g92 ttRp93 (dp94 g9 g10 ((ltRp95 sg12 g47 sbsS'Identifier' p96 g2 (g3 g4 (g46 g96 ttRp97 (dp98 g9 g10 ((ltRp99 sg12 g47 sbsS'Variable' p100 g2 (g3 g4 (g46 g100 ttRp101 (dp102 g12 g47 sS'Global' p103 g2 (g3 g4 (g46 g100 g103 ttRp104 (dp105 g9 g10 ((ltRp106 sg12 g101 sbsS'Instance' p107 g2 (g3 g4 (g46 g100 g107 ttRp108 (dp109 g9 g10 ((ltRp110 sg12 g101 sbsS'Anonymous' p111 g2 (g3 g4 (g46 g100 g111 ttRp112 (dp113 g9 g10 ((ltRp114 sg12 g101 sbsg9 g10 ((lp115 g112 ag108 ag104 ag2 (g3 g4 (g46 g100 S'Class' p116 ttRp117 (dp118 g9 g10 ((ltRp119 sg12 g101 sbatRp120 sg116 g117 sbsg9 g10 ((lp121 g2 (g3 g4 (g46 S'Decorator' p122 ttRp123 (dp124 g9 g10 ((ltRp125 sg12 g47 sbag69 ag61 ag65 ag2 (g3 g4 (g46 S'Namespace' p126 ttRp127 (dp128 g9 g10 ((ltRp129 sg12 g47 sbag97 ag85 ag101 ag93 ag77 ag81 ag50 ag2 (g3 g4 (g46 S'Property' p130 ttRp131 (dp132 g9 g10 ((ltRp133 sg12 g47 sbag73 ag58 ag54 ag2 (g3 g4 (g46 g116 ttRp134 (dp135 g9 g10 ((ltRp136 sg12 g47 sbatRp137 sg130 g131 sg116 g134 sg122 g123 sg126 g127 sbsg5 g13 sS'Generic' p138 g2 (g3 g4 (g138 ttRp139 (dp140 S'Prompt' p141 g2 (g3 g4 (g138 g141 ttRp142 (dp143 g9 g10 ((ltRp144 sg12 g139 sbsg12 g23 sS'Deleted' p145 g2 (g3 g4 (g138 g145 ttRp146 (dp147 g9 g10 ((ltRp148 sg12 g139 sbsS'Traceback' p149 g2 (g3 g4 (g138 g149 ttRp150 (dp151 g9 g10 ((ltRp152 sg12 g139 sbsS'Emph' p153 g2 (g3 g4 (g138 g153 ttRp154 (dp155 g9 g10 ((ltRp156 sg12 g139 sbsS'Output' p157 g2 (g3 g4 (g138 g157 ttRp158 (dp159 g9 g10 ((ltRp160 sg12 g139 sbsS'Subheading' p161 g2 (g3 g4 (g138 g161 ttRp162 (dp163 g9 g10 ((ltRp164 sg12 g139 sbsS'Error' p165 g2 (g3 g4 (g138 g165 ttRp166 (dp167 g9 g10 ((ltRp168 sg12 g139 sbsg9 g10 ((lp169 g158 ag154 ag166 ag162 ag150 ag146 ag2 (g3 g4 (g138 S'Heading' p170 ttRp171 (dp172 g9 g10 ((ltRp173 sg12 g139 sbag2 (g3 g4 (g138 S'Inserted' p174 ttRp175 (dp176 g9 g10 ((ltRp177 sg12 g139 sbag2 (g3 g4 (g138 S'Strong' p178 ttRp179 (dp180 g9 g10 ((ltRp181 sg12 g139 sbag142 atRp182 sg178 g179 sg174 g175 sg170 g171 sbsS'Text' p183 g2 (g3 g4 (g183 ttRp184 (dp185 g9 g10 ((lp186 g2 (g3 g4 (g183 S'Symbol' p187 ttRp188 (dp189 g9 g10 ((ltRp190 sg12 g184 sbag2 (g3 g4 (g183 S'Whitespace' p191 ttRp192 (dp193 g9 g10 ((ltRp194 sg12 g184 sbatRp195 sg187 g188 sg191 g192 sg12 g23 sbsS'Punctuation' p196 g2 (g3 g4 (g196 ttRp197 (dp198 g9 g10 ((lp199 g2 (g3 g4 (g196 S'Indicator' p200 ttRp201 (dp202 g9 g10 ((ltRp203 sg12 g197 sbatRp204 sg200 g201 sg12 g23 sbsS'Token' p205 g23 sS'Number' p206 g2 (g3 g4 (S'Literal' p207 g206 ttRp208 (dp209 S'Bin' p210 g2 (g3 g4 (g207 g206 g210 ttRp211 (dp212 g9 g10 ((ltRp213 sg12 g208 sbsS'Binary' p214 g2 (g3 g4 (g207 g206 g214 ttRp215 (dp216 g9 g10 ((ltRp217 sg12 g208 sbsg12 g2 (g3 g4 (g207 ttRp218 (dp219 S'String' p220 g2 (g3 g4 (g207 g220 ttRp221 (dp222 S'Regex' p223 g2 (g3 g4 (g207 g220 g223 ttRp224 (dp225 g9 g10 ((ltRp226 sg12 g221 sbsS'Interpol' p227 g2 (g3 g4 (g207 g220 g227 ttRp228 (dp229 g9 g10 ((ltRp230 sg12 g221 sbsS'Regexp' p231 g2 (g3 g4 (g207 g220 g231 ttRp232 (dp233 g9 g10 ((ltRp234 sg12 g221 sbsg12 g218 sS'Heredoc' p235 g2 (g3 g4 (g207 g220 g235 ttRp236 (dp237 g9 g10 ((ltRp238 sg12 g221 sbsS'Double' p239 g2 (g3 g4 (g207 g220 g239 ttRp240 (dp241 g9 g10 ((ltRp242 sg12 g221 sbsg187 g2 (g3 g4 (g207 g220 g187 ttRp243 (dp244 g9 g10 ((ltRp245 sg12 g221 sbsS'Escape' p246 g2 (g3 g4 (g207 g220 g246 ttRp247 (dp248 g9 g10 ((ltRp249 sg12 g221 sbsS'Character' p250 g2 (g3 g4 (g207 g220 g250 ttRp251 (dp252 g9 g10 ((ltRp253 sg12 g221 sbsS'Interp' p254 g2 (g3 g4 (g207 g220 g254 ttRp255 (dp256 g9 g10 ((ltRp257 sg12 g221 sbsS'Backtick' p258 g2 (g3 g4 (g207 g220 g258 ttRp259 (dp260 g9 g10 ((ltRp261 sg12 g221 sbsS'Char' p262 g2 (g3 g4 (g207 g220 g262 ttRp263 (dp264 g9 g10 ((ltRp265 sg12 g221 sbsg32 g2 (g3 g4 (g207 g220 g32 ttRp266 (dp267 g9 g10 ((ltRp268 sg12 g221 sbsg92 g2 (g3 g4 (g207 g220 g92 ttRp269 (dp270 g9 g10 ((ltRp271 sg12 g221 sbsS'Doc' p272 g2 (g3 g4 (g207 g220 g272 ttRp273 (dp274 g9 g10 ((ltRp275 sg12 g221 sbsg9 g10 ((lp276 g269 ag2 (g3 g4 (g207 g220 S'Atom' p277 ttRp278 (dp279 g9 g10 ((ltRp280 sg12 g221 sbag240 ag263 ag255 ag273 ag236 ag259 ag228 ag243 ag232 ag224 ag266 ag251 ag247 atRp281 sg277 g278 sbsg12 g23 sg206 g208 sS'Scalar' p282 g2 (g3 g4 (g207 g282 ttRp283 (dp284 g9 g10 ((lp285 g2 (g3 g4 (g207 g282 S'Plain' p286 ttRp287 (dp288 g9 g10 ((ltRp289 sg12 g283 sbatRp290 sg12 g218 sg286 g287 sbsg92 g2 (g3 g4 (g207 g92 ttRp291 (dp292 g9 g10 ((ltRp293 sg12 g218 sbsS'Date' p294 g2 (g3 g4 (g207 g294 ttRp295 (dp296 g9 g10 ((ltRp297 sg12 g218 sbsg9 g10 ((lp298 g295 ag221 ag291 ag208 ag283 atRp299 sbsS'Decimal' p300 g2 (g3 g4 (g207 g206 g300 ttRp301 (dp302 g9 g10 ((ltRp303 sg12 g208 sbsS'Float' p304 g2 (g3 g4 (g207 g206 g304 ttRp305 (dp306 g9 g10 ((ltRp307 sg12 g208 sbsS'Hex' p308 g2 (g3 g4 (g207 g206 g308 ttRp309 (dp310 g9 g10 ((ltRp311 sg12 g208 sbsS'Integer' p312 g2 (g3 g4 (g207 g206 g312 ttRp313 (dp314 g9 g10 ((lp315 g2 (g3 g4 (g207 g206 g312 S'Long' p316 ttRp317 (dp318 g9 g10 ((ltRp319 sg12 g313 sbatRp320 sg316 g317 sg12 g208 sbsS'Octal' p321 g2 (g3 g4 (g207 g206 g321 ttRp322 (dp323 g9 g10 ((ltRp324 sg12 g208 sbsg9 g10 ((lp325 g211 ag215 ag322 ag301 ag2 (g3 g4 (g207 g206 S'Oct' p326 ttRp327 (dp328 g9 g10 ((ltRp329 sg12 g208 sbag313 ag305 ag309 atRp330 sg326 g327 sbsg207 g218 sg92 g2 (g3 g4 (g92 ttRp331 (dp332 g9 g10 ((ltRp333 sg12 g23 sbsg165 g2 (g3 g4 (g165 ttRp334 (dp335 g9 g10 ((ltRp336 sg12 g23 sbsS'Operator' p337 g2 (g3 g4 (g337 ttRp338 (dp339 g9 g10 ((lp340 g2 (g3 g4 (g337 S'Word' p341 ttRp342 (dp343 g9 g10 ((ltRp344 sg12 g338 sbatRp345 sg341 g342 sg12 g23 sbsg9 g10 ((lp346 g26 ag334 ag139 ag184 ag47 ag197 ag13 ag218 ag338 ag331 atRp347 sg220 g221 sbsg126 g2 (g3 g4 (g5 g126 ttRp348 (dp349 g9 g10 ((ltRp350 sg12 g13 sbsg64 g2 (g3 g4 (g5 g64 ttRp351 (dp352 g9 g10 ((ltRp353 sg12 g13 sbsg6 g7 sS'Declaration' p354 g2 (g3 g4 (g5 g354 ttRp355 (dp356 g9 g10 ((ltRp357 sg12 g13 sbsg100 g2 (g3 g4 (g5 g100 ttRp358 (dp359 g9 g10 ((ltRp360 sg12 g13 sbsg9 g10 ((lp361 g20 ag7 ag2 (g3 g4 (g5 S'Type' p362 ttRp363 (dp364 g9 g10 ((ltRp365 sg12 g13 sbag16 ag355 ag358 ag348 ag351 atRp366 sg362 g363 sbsbVIMPLEMENTATION p367 tp368 a(g184 V tp369 a(g7 VMODULE p370 tp371 a(g184 V tp372 a(g47 VSorting p373 tp374 a(g197 V; tp375 a(g184 V\u000a\u000a p376 tp377 a(g37 V(* J. Andrea, Dec.16/91 *) p378 tp379 a(g184 V\u000a tp380 a(g37 V(* This code may be freely used and distributed, it may not be sold. *) p381 tp382 a(g184 V\u000a\u000a p383 tp384 a(g37 V(* Adapted to ISO Module-2 by Frank Schoonjans Feb 2004 *) p385 tp386 a(g184 V\u000a\u000a p387 tp388 a(g7 VFROM p389 tp390 a(g184 V tp391 a(g47 VStorage p392 tp393 a(g184 V tp394 a(g7 VIMPORT p395 tp396 a(g184 V tp397 a(g47 VALLOCATE p398 tp399 a(g197 V; tp400 a(g184 V\u000a\u000a p401 tp402 a(g7 VCONST p403 tp404 a(g184 V\u000a tp405 a(g184 V p406 tp407 a(g47 Vmax_stack p408 tp409 a(g184 V tp410 a(g338 V= tp411 a(g184 V tp412 a(g313 V20 p413 tp414 a(g197 V; tp415 a(g184 V\u000a tp416 a(g184 V p417 tp418 a(g47 Vn_small p419 tp420 a(g184 V p421 tp422 a(g338 V= tp423 a(g184 V tp424 a(g313 V6 tp425 a(g197 V; tp426 a(g184 V tp427 a(g37 V(* use a simple sort for this size and smaller *) p428 tp429 a(g184 V\u000a\u000a p430 tp431 a(g7 VVAR p432 tp433 a(g184 V\u000a tp434 a(g184 V p435 tp436 a(g47 Vrtemp p437 tp438 a(g184 V tp439 a(g197 V: tp440 a(g16 VREAL p441 tp442 a(g197 V; tp443 a(g184 V\u000a tp444 a(g184 V p445 tp446 a(g47 Vctemp p447 tp448 a(g184 V tp449 a(g197 V: tp450 a(g16 VCARDINAL p451 tp452 a(g197 V; tp453 a(g184 V\u000a\u000a p454 tp455 a(g184 V p456 tp457 a(g47 VL tp458 a(g197 V, tp459 a(g184 V tp460 a(g47 VR tp461 a(g197 V, tp462 a(g184 V tp463 a(g47 Vn tp464 a(g184 V p465 tp466 a(g197 V: tp467 a(g16 VINTEGER p468 tp469 a(g197 V; tp470 a(g184 V\u000a tp471 a(g184 V p472 tp473 a(g47 Vtop p474 tp475 a(g197 V, tp476 a(g184 V tp477 a(g47 Vbottom p478 tp479 a(g197 V, tp480 a(g184 V tp481 a(g47 Vlastflip p482 tp483 a(g184 V tp484 a(g197 V: tp485 a(g16 VINTEGER p486 tp487 a(g197 V; tp488 a(g184 V\u000a\u000a p489 tp490 a(g184 V p491 tp492 a(g47 Vtos p493 tp494 a(g184 V p495 tp496 a(g197 V: tp497 a(g16 VCARDINAL p498 tp499 a(g197 V; tp500 a(g184 V\u000a tp501 a(g184 V p502 tp503 a(g47 VLstack p504 tp505 a(g197 V, tp506 a(g184 V tp507 a(g47 VRstack p508 tp509 a(g184 V tp510 a(g197 V: tp511 a(g7 VARRAY p512 tp513 a(g184 V tp514 a(g197 V[ tp515 a(g313 V1 tp516 a(g338 V.. p517 tp518 a(g47 Vmax_stack p519 tp520 a(g197 V] tp521 a(g184 V tp522 a(g7 VOF p523 tp524 a(g184 V tp525 a(g16 VINTEGER p526 tp527 a(g197 V; tp528 a(g184 V\u000a\u000a p529 tp530 a(g184 V p531 tp532 a(g37 V(* --------------------------------------------------- *) p533 tp534 a(g184 V\u000a tp535 a(g184 V p536 tp537 a(g7 VPROCEDURE p538 tp539 a(g184 V tp540 a(g47 VCardQSortIndex p541 tp542 a(g197 V( tp543 a(g184 V tp544 a(g47 Vx tp545 a(g184 V tp546 a(g197 V: tp547 a(g7 VARRAY p548 tp549 a(g184 V tp550 a(g7 VOF p551 tp552 a(g184 V tp553 a(g16 VCARDINAL p554 tp555 a(g197 V; tp556 a(g184 V tp557 a(g47 Varray_len p558 tp559 a(g184 V tp560 a(g197 V: tp561 a(g16 VCARDINAL p562 tp563 a(g197 V; tp564 a(g184 V\u000a tp565 a(g184 V p566 tp567 a(g7 VVAR p568 tp569 a(g184 V tp570 a(g47 Vindex p571 tp572 a(g184 V tp573 a(g197 V: tp574 a(g7 VARRAY p575 tp576 a(g184 V tp577 a(g7 VOF p578 tp579 a(g184 V tp580 a(g16 VCARDINAL p581 tp582 a(g184 V tp583 a(g197 V) tp584 a(g197 V; tp585 a(g184 V\u000a\u000a p586 tp587 a(g184 V p588 tp589 a(g7 VVAR p590 tp591 a(g184 V\u000a tp592 a(g184 V p593 tp594 a(g47 Vmedian p595 tp596 a(g184 V tp597 a(g197 V: tp598 a(g184 V tp599 a(g16 VCARDINAL p600 tp601 a(g197 V; tp602 a(g184 V\u000a tp603 a(g184 V p604 tp605 a(g47 Vi tp606 a(g197 V, tp607 a(g47 Vj tp608 a(g184 V p609 tp610 a(g197 V: tp611 a(g184 V tp612 a(g16 VINTEGER p613 tp614 a(g197 V; tp615 a(g184 V\u000a tp616 a(g184 V p617 tp618 a(g7 VBEGIN p619 tp620 a(g184 V\u000a\u000a p621 tp622 a(g184 V p623 tp624 a(g47 Vn tp625 a(g184 V tp626 a(g338 V:= p627 tp628 a(g184 V tp629 a(g16 VVAL p630 tp631 a(g197 V( tp632 a(g16 VINTEGER p633 tp634 a(g197 V, tp635 a(g47 Varray_len p636 tp637 a(g197 V) tp638 a(g184 V tp639 a(g338 V- tp640 a(g184 V tp641 a(g313 V1 tp642 a(g197 V; tp643 a(g184 V tp644 a(g37 V(* back to zero offset *) p645 tp646 a(g184 V\u000a\u000a p647 tp648 a(g184 V p649 tp650 a(g37 V(* initialize the index *) p651 tp652 a(g184 V\u000a tp653 a(g184 V p654 tp655 a(g7 VFOR p656 tp657 a(g184 V tp658 a(g47 Vi tp659 a(g184 V tp660 a(g338 V:= p661 tp662 a(g184 V tp663 a(g313 V0 tp664 a(g184 V tp665 a(g7 VTO p666 tp667 a(g184 V tp668 a(g47 Vn tp669 a(g184 V tp670 a(g7 VDO p671 tp672 a(g184 V\u000a tp673 a(g184 V p674 tp675 a(g47 Vindex p676 tp677 a(g197 V[ tp678 a(g47 Vi tp679 a(g197 V] tp680 a(g184 V tp681 a(g338 V:= p682 tp683 a(g184 V tp684 a(g16 VVAL p685 tp686 a(g197 V( tp687 a(g16 VCARDINAL p688 tp689 a(g197 V, tp690 a(g47 Vi tp691 a(g197 V) tp692 a(g197 V; tp693 a(g184 V\u000a tp694 a(g184 V p695 tp696 a(g7 VEND p697 tp698 a(g197 V; tp699 a(g184 V\u000a\u000a p700 tp701 a(g184 V p702 tp703 a(g47 Vtos p704 tp705 a(g184 V tp706 a(g338 V:= p707 tp708 a(g184 V tp709 a(g313 V0 tp710 a(g197 V; tp711 a(g184 V\u000a\u000a p712 tp713 a(g184 V p714 tp715 a(g47 VL tp716 a(g184 V tp717 a(g338 V:= p718 tp719 a(g184 V tp720 a(g313 V0 tp721 a(g197 V; tp722 a(g184 V p723 tp724 a(g47 VR tp725 a(g184 V tp726 a(g338 V:= p727 tp728 a(g184 V tp729 a(g47 Vn tp730 a(g197 V; tp731 a(g184 V\u000a\u000a p732 tp733 a(g184 V p734 tp735 a(g37 V(* PUSH very first set *) p736 tp737 a(g184 V\u000a tp738 a(g184 V p739 tp740 a(g47 Vtos p741 tp742 a(g184 V tp743 a(g338 V:= p744 tp745 a(g184 V tp746 a(g47 Vtos p747 tp748 a(g184 V tp749 a(g338 V+ tp750 a(g184 V tp751 a(g313 V1 tp752 a(g197 V; tp753 a(g184 V p754 tp755 a(g47 VLstack p756 tp757 a(g197 V[ tp758 a(g47 Vtos p759 tp760 a(g197 V] tp761 a(g184 V tp762 a(g338 V:= p763 tp764 a(g184 V tp765 a(g47 VL tp766 a(g197 V; tp767 a(g184 V p768 tp769 a(g47 VRstack p770 tp771 a(g197 V[ tp772 a(g47 Vtos p773 tp774 a(g197 V] tp775 a(g184 V tp776 a(g338 V:= p777 tp778 a(g184 V tp779 a(g47 VR tp780 a(g197 V; tp781 a(g184 V\u000a\u000a p782 tp783 a(g184 V p784 tp785 a(g7 VREPEAT p786 tp787 a(g184 V\u000a\u000a p788 tp789 a(g184 V p790 tp791 a(g37 V(* POP *) p792 tp793 a(g184 V\u000a tp794 a(g184 V p795 tp796 a(g47 VL tp797 a(g184 V tp798 a(g338 V:= p799 tp800 a(g184 V tp801 a(g47 VLstack p802 tp803 a(g197 V[ tp804 a(g47 Vtos p805 tp806 a(g197 V] tp807 a(g197 V; tp808 a(g184 V p809 tp810 a(g47 VR tp811 a(g184 V tp812 a(g338 V:= p813 tp814 a(g184 V tp815 a(g47 VRstack p816 tp817 a(g197 V[ tp818 a(g47 Vtos p819 tp820 a(g197 V] tp821 a(g197 V; tp822 a(g184 V p823 tp824 a(g47 Vtos p825 tp826 a(g184 V tp827 a(g338 V:= p828 tp829 a(g184 V tp830 a(g47 Vtos p831 tp832 a(g184 V tp833 a(g338 V- tp834 a(g184 V tp835 a(g313 V1 tp836 a(g197 V; tp837 a(g184 V\u000a\u000a p838 tp839 a(g184 V p840 tp841 a(g7 VIF p842 tp843 a(g184 V tp844 a(g47 VR tp845 a(g184 V tp846 a(g338 V- tp847 a(g184 V tp848 a(g47 VL tp849 a(g184 V tp850 a(g338 V+ tp851 a(g184 V tp852 a(g313 V1 tp853 a(g184 V tp854 a(g338 V> tp855 a(g184 V tp856 a(g47 Vn_small p857 tp858 a(g184 V tp859 a(g7 VTHEN p860 tp861 a(g184 V\u000a\u000a p862 tp863 a(g184 V p864 tp865 a(g7 VREPEAT p866 tp867 a(g184 V\u000a tp868 a(g184 V p869 tp870 a(g47 Vi tp871 a(g184 V tp872 a(g338 V:= p873 tp874 a(g184 V tp875 a(g47 VL tp876 a(g197 V; tp877 a(g184 V p878 tp879 a(g47 Vj tp880 a(g184 V tp881 a(g338 V:= p882 tp883 a(g184 V tp884 a(g47 VR tp885 a(g197 V; tp886 a(g184 V p887 tp888 a(g47 Vmedian p889 tp890 a(g184 V tp891 a(g338 V:= p892 tp893 a(g184 V tp894 a(g47 Vx tp895 a(g197 V[ tp896 a(g47 Vindex p897 tp898 a(g197 V[ tp899 a(g197 V( tp900 a(g184 V tp901 a(g47 VL tp902 a(g184 V tp903 a(g338 V+ tp904 a(g184 V tp905 a(g47 VR tp906 a(g184 V tp907 a(g197 V) tp908 a(g184 V tp909 a(g7 VDIV p910 tp911 a(g184 V tp912 a(g313 V2 tp913 a(g197 V] tp914 a(g197 V] tp915 a(g197 V; tp916 a(g184 V\u000a\u000a p917 tp918 a(g184 V p919 tp920 a(g7 VREPEAT p921 tp922 a(g184 V\u000a tp923 a(g184 V p924 tp925 a(g7 VWHILE p926 tp927 a(g184 V tp928 a(g47 Vx tp929 a(g197 V[ tp930 a(g47 Vindex p931 tp932 a(g197 V[ tp933 a(g47 Vi tp934 a(g197 V] tp935 a(g197 V] tp936 a(g184 V tp937 a(g338 V< tp938 a(g184 V tp939 a(g47 Vmedian p940 tp941 a(g184 V tp942 a(g7 VDO p943 tp944 a(g184 V\u000a tp945 a(g184 V p946 tp947 a(g47 Vi tp948 a(g184 V tp949 a(g338 V:= p950 tp951 a(g184 V tp952 a(g47 Vi tp953 a(g184 V tp954 a(g338 V+ tp955 a(g184 V tp956 a(g313 V1 tp957 a(g197 V; tp958 a(g184 V\u000a tp959 a(g184 V p960 tp961 a(g7 VEND p962 tp963 a(g197 V; tp964 a(g184 V\u000a tp965 a(g184 V p966 tp967 a(g7 VWHILE p968 tp969 a(g184 V tp970 a(g47 Vmedian p971 tp972 a(g184 V tp973 a(g338 V< tp974 a(g184 V tp975 a(g47 Vx tp976 a(g197 V[ tp977 a(g47 Vindex p978 tp979 a(g197 V[ tp980 a(g47 Vj tp981 a(g197 V] tp982 a(g197 V] tp983 a(g184 V tp984 a(g7 VDO p985 tp986 a(g184 V\u000a tp987 a(g184 V p988 tp989 a(g47 Vj tp990 a(g184 V tp991 a(g338 V:= p992 tp993 a(g184 V tp994 a(g47 Vj tp995 a(g184 V tp996 a(g338 V- tp997 a(g184 V tp998 a(g313 V1 tp999 a(g197 V; tp1000 a(g184 V\u000a tp1001 a(g184 V p1002 tp1003 a(g7 VEND p1004 tp1005 a(g197 V; tp1006 a(g184 V\u000a\u000a p1007 tp1008 a(g184 V p1009 tp1010 a(g7 VIF p1011 tp1012 a(g184 V tp1013 a(g47 Vi tp1014 a(g184 V tp1015 a(g338 V< tp1016 a(g338 V= tp1017 a(g184 V tp1018 a(g47 Vj tp1019 a(g184 V tp1020 a(g7 VTHEN p1021 tp1022 a(g184 V tp1023 a(g37 V(* swap *) p1024 tp1025 a(g184 V\u000a tp1026 a(g184 V p1027 tp1028 a(g47 Vctemp p1029 tp1030 a(g184 V tp1031 a(g338 V:= p1032 tp1033 a(g184 V tp1034 a(g47 Vindex p1035 tp1036 a(g197 V[ tp1037 a(g47 Vi tp1038 a(g197 V] tp1039 a(g197 V; tp1040 a(g184 V p1041 tp1042 a(g47 Vindex p1043 tp1044 a(g197 V[ tp1045 a(g47 Vi tp1046 a(g197 V] tp1047 a(g184 V tp1048 a(g338 V:= p1049 tp1050 a(g184 V tp1051 a(g47 Vindex p1052 tp1053 a(g197 V[ tp1054 a(g47 Vj tp1055 a(g197 V] tp1056 a(g197 V; tp1057 a(g184 V p1058 tp1059 a(g47 Vindex p1060 tp1061 a(g197 V[ tp1062 a(g47 Vj tp1063 a(g197 V] tp1064 a(g184 V tp1065 a(g338 V:= p1066 tp1067 a(g184 V tp1068 a(g47 Vctemp p1069 tp1070 a(g197 V; tp1071 a(g184 V\u000a tp1072 a(g184 V p1073 tp1074 a(g47 Vi tp1075 a(g184 V tp1076 a(g338 V:= p1077 tp1078 a(g184 V tp1079 a(g47 Vi tp1080 a(g184 V tp1081 a(g338 V+ tp1082 a(g184 V tp1083 a(g313 V1 tp1084 a(g197 V; tp1085 a(g184 V p1086 tp1087 a(g47 Vj tp1088 a(g184 V tp1089 a(g338 V:= p1090 tp1091 a(g184 V tp1092 a(g47 Vj tp1093 a(g184 V tp1094 a(g338 V- tp1095 a(g184 V tp1096 a(g313 V1 tp1097 a(g197 V; tp1098 a(g184 V\u000a tp1099 a(g184 V p1100 tp1101 a(g7 VEND p1102 tp1103 a(g197 V; tp1104 a(g184 V\u000a tp1105 a(g184 V p1106 tp1107 a(g7 VUNTIL p1108 tp1109 a(g184 V tp1110 a(g47 Vi tp1111 a(g184 V tp1112 a(g338 V> tp1113 a(g184 V tp1114 a(g47 Vj tp1115 a(g197 V; tp1116 a(g184 V\u000a\u000a p1117 tp1118 a(g184 V p1119 tp1120 a(g7 VIF p1121 tp1122 a(g184 V tp1123 a(g47 Vj tp1124 a(g184 V tp1125 a(g338 V- tp1126 a(g184 V tp1127 a(g47 VL tp1128 a(g184 V tp1129 a(g338 V< tp1130 a(g184 V tp1131 a(g47 VR tp1132 a(g184 V tp1133 a(g338 V- tp1134 a(g184 V tp1135 a(g47 Vi tp1136 a(g184 V tp1137 a(g7 VTHEN p1138 tp1139 a(g184 V\u000a tp1140 a(g184 V p1141 tp1142 a(g7 VIF p1143 tp1144 a(g184 V tp1145 a(g47 Vi tp1146 a(g184 V tp1147 a(g338 V< tp1148 a(g184 V tp1149 a(g47 VR tp1150 a(g184 V tp1151 a(g7 VTHEN p1152 tp1153 a(g184 V tp1154 a(g37 V(* PUSH *) p1155 tp1156 a(g184 V\u000a tp1157 a(g184 V p1158 tp1159 a(g47 Vtos p1160 tp1161 a(g184 V tp1162 a(g338 V:= p1163 tp1164 a(g184 V tp1165 a(g47 Vtos p1166 tp1167 a(g184 V tp1168 a(g338 V+ tp1169 a(g184 V tp1170 a(g313 V1 tp1171 a(g197 V; tp1172 a(g184 V p1173 tp1174 a(g47 VLstack p1175 tp1176 a(g197 V[ tp1177 a(g47 Vtos p1178 tp1179 a(g197 V] tp1180 a(g184 V tp1181 a(g338 V:= p1182 tp1183 a(g184 V tp1184 a(g47 Vi tp1185 a(g197 V; tp1186 a(g184 V p1187 tp1188 a(g47 VRstack p1189 tp1190 a(g197 V[ tp1191 a(g47 Vtos p1192 tp1193 a(g197 V] tp1194 a(g184 V tp1195 a(g338 V:= p1196 tp1197 a(g184 V tp1198 a(g47 VR tp1199 a(g197 V; tp1200 a(g184 V\u000a tp1201 a(g184 V p1202 tp1203 a(g7 VEND p1204 tp1205 a(g197 V; tp1206 a(g184 V\u000a tp1207 a(g184 V p1208 tp1209 a(g47 VR tp1210 a(g184 V tp1211 a(g338 V:= p1212 tp1213 a(g184 V tp1214 a(g47 Vj tp1215 a(g197 V; tp1216 a(g184 V\u000a tp1217 a(g184 V p1218 tp1219 a(g7 VELSE p1220 tp1221 a(g184 V\u000a tp1222 a(g184 V p1223 tp1224 a(g7 VIF p1225 tp1226 a(g184 V tp1227 a(g47 VL tp1228 a(g184 V tp1229 a(g338 V< tp1230 a(g184 V tp1231 a(g47 Vj tp1232 a(g184 V tp1233 a(g7 VTHEN p1234 tp1235 a(g184 V tp1236 a(g37 V(* push *) p1237 tp1238 a(g184 V\u000a tp1239 a(g184 V p1240 tp1241 a(g47 Vtos p1242 tp1243 a(g184 V tp1244 a(g338 V:= p1245 tp1246 a(g184 V tp1247 a(g47 Vtos p1248 tp1249 a(g184 V tp1250 a(g338 V+ tp1251 a(g184 V tp1252 a(g313 V1 tp1253 a(g197 V; tp1254 a(g184 V p1255 tp1256 a(g47 VLstack p1257 tp1258 a(g197 V[ tp1259 a(g47 Vtos p1260 tp1261 a(g197 V] tp1262 a(g184 V tp1263 a(g338 V:= p1264 tp1265 a(g184 V tp1266 a(g47 VL tp1267 a(g197 V; tp1268 a(g184 V p1269 tp1270 a(g47 VRstack p1271 tp1272 a(g197 V[ tp1273 a(g47 Vtos p1274 tp1275 a(g197 V] tp1276 a(g184 V tp1277 a(g338 V:= p1278 tp1279 a(g184 V tp1280 a(g47 Vj tp1281 a(g197 V; tp1282 a(g184 V\u000a tp1283 a(g184 V p1284 tp1285 a(g7 VEND p1286 tp1287 a(g197 V; tp1288 a(g184 V\u000a tp1289 a(g184 V p1290 tp1291 a(g47 VL tp1292 a(g184 V tp1293 a(g338 V:= p1294 tp1295 a(g184 V tp1296 a(g47 Vi tp1297 a(g197 V; tp1298 a(g184 V\u000a tp1299 a(g184 V p1300 tp1301 a(g7 VEND p1302 tp1303 a(g197 V; tp1304 a(g184 V\u000a\u000a p1305 tp1306 a(g184 V p1307 tp1308 a(g7 VUNTIL p1309 tp1310 a(g184 V tp1311 a(g47 VL tp1312 a(g184 V tp1313 a(g338 V> tp1314 a(g338 V= tp1315 a(g184 V tp1316 a(g47 VR tp1317 a(g197 V; tp1318 a(g184 V\u000a\u000a p1319 tp1320 a(g184 V p1321 tp1322 a(g7 VELSE p1323 tp1324 a(g184 V\u000a\u000a p1325 tp1326 a(g184 V p1327 tp1328 a(g37 V(* small sort for small number of values *) p1329 tp1330 a(g184 V\u000a tp1331 a(g184 V p1332 tp1333 a(g7 VFOR p1334 tp1335 a(g184 V tp1336 a(g47 Vi tp1337 a(g184 V tp1338 a(g338 V:= p1339 tp1340 a(g184 V tp1341 a(g47 VL tp1342 a(g184 V tp1343 a(g7 VTO p1344 tp1345 a(g184 V tp1346 a(g47 VR tp1347 a(g184 V tp1348 a(g338 V- tp1349 a(g184 V tp1350 a(g313 V1 tp1351 a(g184 V tp1352 a(g7 VDO p1353 tp1354 a(g184 V\u000a tp1355 a(g184 V p1356 tp1357 a(g7 VFOR p1358 tp1359 a(g184 V tp1360 a(g47 Vj tp1361 a(g184 V tp1362 a(g338 V:= p1363 tp1364 a(g184 V tp1365 a(g47 Vi tp1366 a(g184 V tp1367 a(g7 VTO p1368 tp1369 a(g184 V tp1370 a(g47 VR tp1371 a(g184 V tp1372 a(g7 VDO p1373 tp1374 a(g184 V\u000a tp1375 a(g184 V p1376 tp1377 a(g7 VIF p1378 tp1379 a(g184 V tp1380 a(g47 Vx tp1381 a(g197 V[ tp1382 a(g47 Vindex p1383 tp1384 a(g197 V[ tp1385 a(g47 Vi tp1386 a(g197 V] tp1387 a(g197 V] tp1388 a(g184 V tp1389 a(g338 V> tp1390 a(g184 V tp1391 a(g47 Vx tp1392 a(g197 V[ tp1393 a(g47 Vindex p1394 tp1395 a(g197 V[ tp1396 a(g47 Vj tp1397 a(g197 V] tp1398 a(g197 V] tp1399 a(g184 V tp1400 a(g7 VTHEN p1401 tp1402 a(g184 V\u000a tp1403 a(g184 V p1404 tp1405 a(g47 Vctemp p1406 tp1407 a(g184 V p1408 tp1409 a(g338 V:= p1410 tp1411 a(g184 V tp1412 a(g47 Vindex p1413 tp1414 a(g197 V[ tp1415 a(g47 Vi tp1416 a(g197 V] tp1417 a(g197 V; tp1418 a(g184 V\u000a tp1419 a(g184 V p1420 tp1421 a(g47 Vindex p1422 tp1423 a(g197 V[ tp1424 a(g47 Vi tp1425 a(g197 V] tp1426 a(g184 V tp1427 a(g338 V:= p1428 tp1429 a(g184 V tp1430 a(g47 Vindex p1431 tp1432 a(g197 V[ tp1433 a(g47 Vj tp1434 a(g197 V] tp1435 a(g197 V; tp1436 a(g184 V\u000a tp1437 a(g184 V p1438 tp1439 a(g47 Vindex p1440 tp1441 a(g197 V[ tp1442 a(g47 Vj tp1443 a(g197 V] tp1444 a(g184 V tp1445 a(g338 V:= p1446 tp1447 a(g184 V tp1448 a(g47 Vctemp p1449 tp1450 a(g184 V\u000a tp1451 a(g184 V p1452 tp1453 a(g7 VEND p1454 tp1455 a(g197 V; tp1456 a(g184 V\u000a tp1457 a(g184 V p1458 tp1459 a(g7 VEND p1460 tp1461 a(g197 V; tp1462 a(g184 V\u000a tp1463 a(g184 V p1464 tp1465 a(g7 VEND p1466 tp1467 a(g197 V; tp1468 a(g184 V\u000a\u000a p1469 tp1470 a(g184 V p1471 tp1472 a(g7 VEND p1473 tp1474 a(g197 V; tp1475 a(g184 V tp1476 a(g37 V(* check for small *) p1477 tp1478 a(g184 V\u000a\u000a p1479 tp1480 a(g184 V p1481 tp1482 a(g7 VUNTIL p1483 tp1484 a(g184 V tp1485 a(g47 Vtos p1486 tp1487 a(g184 V tp1488 a(g338 V= tp1489 a(g184 V tp1490 a(g313 V0 tp1491 a(g197 V; tp1492 a(g184 V\u000a\u000a p1493 tp1494 a(g184 V p1495 tp1496 a(g7 VEND p1497 tp1498 a(g184 V tp1499 a(g47 VCardQSortIndex p1500 tp1501 a(g197 V; tp1502 a(g184 V\u000a\u000a p1503 tp1504 a(g184 V p1505 tp1506 a(g37 V(* --------------------------------------------------- *) p1507 tp1508 a(g184 V\u000a tp1509 a(g184 V p1510 tp1511 a(g7 VPROCEDURE p1512 tp1513 a(g184 V tp1514 a(g47 VRealQSortIndex p1515 tp1516 a(g197 V( tp1517 a(g184 V tp1518 a(g47 Vx tp1519 a(g184 V tp1520 a(g197 V: tp1521 a(g7 VARRAY p1522 tp1523 a(g184 V tp1524 a(g7 VOF p1525 tp1526 a(g184 V tp1527 a(g16 VREAL p1528 tp1529 a(g197 V; tp1530 a(g184 V tp1531 a(g47 Varray_len p1532 tp1533 a(g184 V tp1534 a(g197 V: tp1535 a(g16 VCARDINAL p1536 tp1537 a(g197 V; tp1538 a(g184 V\u000a tp1539 a(g184 V p1540 tp1541 a(g7 VVAR p1542 tp1543 a(g184 V tp1544 a(g47 Vindex p1545 tp1546 a(g184 V tp1547 a(g197 V: tp1548 a(g7 VARRAY p1549 tp1550 a(g184 V tp1551 a(g7 VOF p1552 tp1553 a(g184 V tp1554 a(g16 VCARDINAL p1555 tp1556 a(g184 V tp1557 a(g197 V) tp1558 a(g197 V; tp1559 a(g184 V\u000a\u000a p1560 tp1561 a(g184 V p1562 tp1563 a(g7 VVAR p1564 tp1565 a(g184 V\u000a tp1566 a(g184 V p1567 tp1568 a(g47 Vmedian p1569 tp1570 a(g184 V tp1571 a(g197 V: tp1572 a(g16 VREAL p1573 tp1574 a(g197 V; tp1575 a(g184 V\u000a tp1576 a(g184 V p1577 tp1578 a(g47 Vi tp1579 a(g197 V, tp1580 a(g47 Vj tp1581 a(g184 V p1582 tp1583 a(g197 V: tp1584 a(g16 VINTEGER p1585 tp1586 a(g197 V; tp1587 a(g184 V\u000a tp1588 a(g184 V p1589 tp1590 a(g7 VBEGIN p1591 tp1592 a(g184 V\u000a\u000a p1593 tp1594 a(g184 V p1595 tp1596 a(g47 Vn tp1597 a(g184 V tp1598 a(g338 V:= p1599 tp1600 a(g184 V tp1601 a(g16 VVAL p1602 tp1603 a(g197 V( tp1604 a(g16 VINTEGER p1605 tp1606 a(g197 V, tp1607 a(g47 Varray_len p1608 tp1609 a(g197 V) tp1610 a(g184 V tp1611 a(g338 V- tp1612 a(g184 V tp1613 a(g313 V1 tp1614 a(g197 V; tp1615 a(g184 V tp1616 a(g37 V(* back to zero offset *) p1617 tp1618 a(g184 V\u000a\u000a p1619 tp1620 a(g184 V p1621 tp1622 a(g37 V(* initialize the index *) p1623 tp1624 a(g184 V\u000a tp1625 a(g184 V p1626 tp1627 a(g7 VFOR p1628 tp1629 a(g184 V tp1630 a(g47 Vi tp1631 a(g184 V tp1632 a(g338 V:= p1633 tp1634 a(g184 V tp1635 a(g313 V0 tp1636 a(g184 V tp1637 a(g7 VTO p1638 tp1639 a(g184 V tp1640 a(g47 Vn tp1641 a(g184 V tp1642 a(g7 VDO p1643 tp1644 a(g184 V\u000a tp1645 a(g184 V p1646 tp1647 a(g47 Vindex p1648 tp1649 a(g197 V[ tp1650 a(g47 Vi tp1651 a(g197 V] tp1652 a(g184 V tp1653 a(g338 V:= p1654 tp1655 a(g184 V tp1656 a(g16 VVAL p1657 tp1658 a(g197 V( tp1659 a(g16 VCARDINAL p1660 tp1661 a(g197 V, tp1662 a(g47 Vi tp1663 a(g197 V) tp1664 a(g197 V; tp1665 a(g184 V\u000a tp1666 a(g184 V p1667 tp1668 a(g7 VEND p1669 tp1670 a(g197 V; tp1671 a(g184 V\u000a\u000a p1672 tp1673 a(g184 V p1674 tp1675 a(g47 Vtos p1676 tp1677 a(g184 V tp1678 a(g338 V:= p1679 tp1680 a(g184 V tp1681 a(g313 V0 tp1682 a(g197 V; tp1683 a(g184 V\u000a\u000a p1684 tp1685 a(g184 V p1686 tp1687 a(g47 VL tp1688 a(g184 V tp1689 a(g338 V:= p1690 tp1691 a(g184 V tp1692 a(g313 V0 tp1693 a(g197 V; tp1694 a(g184 V p1695 tp1696 a(g47 VR tp1697 a(g184 V tp1698 a(g338 V:= p1699 tp1700 a(g184 V tp1701 a(g47 Vn tp1702 a(g197 V; tp1703 a(g184 V\u000a\u000a p1704 tp1705 a(g184 V p1706 tp1707 a(g37 V(* PUSH very first set *) p1708 tp1709 a(g184 V\u000a tp1710 a(g184 V p1711 tp1712 a(g47 Vtos p1713 tp1714 a(g184 V tp1715 a(g338 V:= p1716 tp1717 a(g184 V tp1718 a(g47 Vtos p1719 tp1720 a(g184 V tp1721 a(g338 V+ tp1722 a(g184 V tp1723 a(g313 V1 tp1724 a(g197 V; tp1725 a(g184 V p1726 tp1727 a(g47 VLstack p1728 tp1729 a(g197 V[ tp1730 a(g47 Vtos p1731 tp1732 a(g197 V] tp1733 a(g184 V tp1734 a(g338 V:= p1735 tp1736 a(g184 V tp1737 a(g47 VL tp1738 a(g197 V; tp1739 a(g184 V p1740 tp1741 a(g47 VRstack p1742 tp1743 a(g197 V[ tp1744 a(g47 Vtos p1745 tp1746 a(g197 V] tp1747 a(g184 V tp1748 a(g338 V:= p1749 tp1750 a(g184 V tp1751 a(g47 VR tp1752 a(g197 V; tp1753 a(g184 V\u000a\u000a p1754 tp1755 a(g184 V p1756 tp1757 a(g7 VREPEAT p1758 tp1759 a(g184 V\u000a\u000a p1760 tp1761 a(g184 V p1762 tp1763 a(g37 V(* POP *) p1764 tp1765 a(g184 V\u000a tp1766 a(g184 V p1767 tp1768 a(g47 VL tp1769 a(g184 V tp1770 a(g338 V:= p1771 tp1772 a(g184 V tp1773 a(g47 VLstack p1774 tp1775 a(g197 V[ tp1776 a(g47 Vtos p1777 tp1778 a(g197 V] tp1779 a(g197 V; tp1780 a(g184 V p1781 tp1782 a(g47 VR tp1783 a(g184 V tp1784 a(g338 V:= p1785 tp1786 a(g184 V tp1787 a(g47 VRstack p1788 tp1789 a(g197 V[ tp1790 a(g47 Vtos p1791 tp1792 a(g197 V] tp1793 a(g197 V; tp1794 a(g184 V p1795 tp1796 a(g47 Vtos p1797 tp1798 a(g184 V tp1799 a(g338 V:= p1800 tp1801 a(g184 V tp1802 a(g47 Vtos p1803 tp1804 a(g184 V tp1805 a(g338 V- tp1806 a(g184 V tp1807 a(g313 V1 tp1808 a(g197 V; tp1809 a(g184 V\u000a\u000a p1810 tp1811 a(g184 V p1812 tp1813 a(g7 VIF p1814 tp1815 a(g184 V tp1816 a(g47 VR tp1817 a(g184 V tp1818 a(g338 V- tp1819 a(g184 V tp1820 a(g47 VL tp1821 a(g184 V tp1822 a(g338 V+ tp1823 a(g184 V tp1824 a(g313 V1 tp1825 a(g184 V tp1826 a(g338 V> tp1827 a(g184 V tp1828 a(g47 Vn_small p1829 tp1830 a(g184 V tp1831 a(g7 VTHEN p1832 tp1833 a(g184 V\u000a\u000a p1834 tp1835 a(g184 V p1836 tp1837 a(g7 VREPEAT p1838 tp1839 a(g184 V\u000a tp1840 a(g184 V p1841 tp1842 a(g47 Vi tp1843 a(g184 V tp1844 a(g338 V:= p1845 tp1846 a(g184 V tp1847 a(g47 VL tp1848 a(g197 V; tp1849 a(g184 V p1850 tp1851 a(g47 Vj tp1852 a(g184 V tp1853 a(g338 V:= p1854 tp1855 a(g184 V tp1856 a(g47 VR tp1857 a(g197 V; tp1858 a(g184 V p1859 tp1860 a(g47 Vmedian p1861 tp1862 a(g184 V tp1863 a(g338 V:= p1864 tp1865 a(g184 V tp1866 a(g47 Vx tp1867 a(g197 V[ tp1868 a(g47 Vindex p1869 tp1870 a(g197 V[ tp1871 a(g197 V( tp1872 a(g184 V tp1873 a(g47 VL tp1874 a(g184 V tp1875 a(g338 V+ tp1876 a(g184 V tp1877 a(g47 VR tp1878 a(g184 V tp1879 a(g197 V) tp1880 a(g184 V tp1881 a(g7 VDIV p1882 tp1883 a(g184 V tp1884 a(g313 V2 tp1885 a(g197 V] tp1886 a(g197 V] tp1887 a(g197 V; tp1888 a(g184 V\u000a\u000a p1889 tp1890 a(g184 V p1891 tp1892 a(g7 VREPEAT p1893 tp1894 a(g184 V\u000a tp1895 a(g184 V p1896 tp1897 a(g7 VWHILE p1898 tp1899 a(g184 V tp1900 a(g47 Vx tp1901 a(g197 V[ tp1902 a(g47 Vindex p1903 tp1904 a(g197 V[ tp1905 a(g47 Vi tp1906 a(g197 V] tp1907 a(g197 V] tp1908 a(g184 V tp1909 a(g338 V< tp1910 a(g184 V tp1911 a(g47 Vmedian p1912 tp1913 a(g184 V tp1914 a(g7 VDO p1915 tp1916 a(g184 V\u000a tp1917 a(g184 V p1918 tp1919 a(g47 Vi tp1920 a(g184 V tp1921 a(g338 V:= p1922 tp1923 a(g184 V tp1924 a(g47 Vi tp1925 a(g184 V tp1926 a(g338 V+ tp1927 a(g184 V tp1928 a(g313 V1 tp1929 a(g197 V; tp1930 a(g184 V\u000a tp1931 a(g184 V p1932 tp1933 a(g7 VEND p1934 tp1935 a(g197 V; tp1936 a(g184 V\u000a tp1937 a(g184 V p1938 tp1939 a(g7 VWHILE p1940 tp1941 a(g184 V tp1942 a(g47 Vmedian p1943 tp1944 a(g184 V tp1945 a(g338 V< tp1946 a(g184 V tp1947 a(g47 Vx tp1948 a(g197 V[ tp1949 a(g47 Vindex p1950 tp1951 a(g197 V[ tp1952 a(g47 Vj tp1953 a(g197 V] tp1954 a(g197 V] tp1955 a(g184 V tp1956 a(g7 VDO p1957 tp1958 a(g184 V\u000a tp1959 a(g184 V p1960 tp1961 a(g47 Vj tp1962 a(g184 V tp1963 a(g338 V:= p1964 tp1965 a(g184 V tp1966 a(g47 Vj tp1967 a(g184 V tp1968 a(g338 V- tp1969 a(g184 V tp1970 a(g313 V1 tp1971 a(g197 V; tp1972 a(g184 V\u000a tp1973 a(g184 V p1974 tp1975 a(g7 VEND p1976 tp1977 a(g197 V; tp1978 a(g184 V\u000a\u000a p1979 tp1980 a(g184 V p1981 tp1982 a(g7 VIF p1983 tp1984 a(g184 V tp1985 a(g47 Vi tp1986 a(g184 V tp1987 a(g338 V< tp1988 a(g338 V= tp1989 a(g184 V tp1990 a(g47 Vj tp1991 a(g184 V tp1992 a(g7 VTHEN p1993 tp1994 a(g184 V tp1995 a(g37 V(* swap *) p1996 tp1997 a(g184 V\u000a tp1998 a(g184 V p1999 tp2000 a(g47 Vctemp p2001 tp2002 a(g184 V tp2003 a(g338 V:= p2004 tp2005 a(g184 V tp2006 a(g47 Vindex p2007 tp2008 a(g197 V[ tp2009 a(g47 Vi tp2010 a(g197 V] tp2011 a(g197 V; tp2012 a(g184 V p2013 tp2014 a(g47 Vindex p2015 tp2016 a(g197 V[ tp2017 a(g47 Vi tp2018 a(g197 V] tp2019 a(g184 V tp2020 a(g338 V:= p2021 tp2022 a(g184 V tp2023 a(g47 Vindex p2024 tp2025 a(g197 V[ tp2026 a(g47 Vj tp2027 a(g197 V] tp2028 a(g197 V; tp2029 a(g184 V p2030 tp2031 a(g47 Vindex p2032 tp2033 a(g197 V[ tp2034 a(g47 Vj tp2035 a(g197 V] tp2036 a(g184 V tp2037 a(g338 V:= p2038 tp2039 a(g184 V tp2040 a(g47 Vctemp p2041 tp2042 a(g197 V; tp2043 a(g184 V\u000a tp2044 a(g184 V p2045 tp2046 a(g47 Vi tp2047 a(g184 V tp2048 a(g338 V:= p2049 tp2050 a(g184 V tp2051 a(g47 Vi tp2052 a(g184 V tp2053 a(g338 V+ tp2054 a(g184 V tp2055 a(g313 V1 tp2056 a(g197 V; tp2057 a(g184 V p2058 tp2059 a(g47 Vj tp2060 a(g184 V tp2061 a(g338 V:= p2062 tp2063 a(g184 V tp2064 a(g47 Vj tp2065 a(g184 V tp2066 a(g338 V- tp2067 a(g184 V tp2068 a(g313 V1 tp2069 a(g197 V; tp2070 a(g184 V\u000a tp2071 a(g184 V p2072 tp2073 a(g7 VEND p2074 tp2075 a(g197 V; tp2076 a(g184 V\u000a tp2077 a(g184 V p2078 tp2079 a(g7 VUNTIL p2080 tp2081 a(g184 V tp2082 a(g47 Vi tp2083 a(g184 V tp2084 a(g338 V> tp2085 a(g184 V tp2086 a(g47 Vj tp2087 a(g197 V; tp2088 a(g184 V\u000a\u000a p2089 tp2090 a(g184 V p2091 tp2092 a(g7 VIF p2093 tp2094 a(g184 V tp2095 a(g47 Vj tp2096 a(g184 V tp2097 a(g338 V- tp2098 a(g184 V tp2099 a(g47 VL tp2100 a(g184 V tp2101 a(g338 V< tp2102 a(g184 V tp2103 a(g47 VR tp2104 a(g184 V tp2105 a(g338 V- tp2106 a(g184 V tp2107 a(g47 Vi tp2108 a(g184 V tp2109 a(g7 VTHEN p2110 tp2111 a(g184 V\u000a tp2112 a(g184 V p2113 tp2114 a(g7 VIF p2115 tp2116 a(g184 V tp2117 a(g47 Vi tp2118 a(g184 V tp2119 a(g338 V< tp2120 a(g184 V tp2121 a(g47 VR tp2122 a(g184 V tp2123 a(g7 VTHEN p2124 tp2125 a(g184 V tp2126 a(g37 V(* PUSH *) p2127 tp2128 a(g184 V\u000a tp2129 a(g184 V p2130 tp2131 a(g47 Vtos p2132 tp2133 a(g184 V tp2134 a(g338 V:= p2135 tp2136 a(g184 V tp2137 a(g47 Vtos p2138 tp2139 a(g184 V tp2140 a(g338 V+ tp2141 a(g184 V tp2142 a(g313 V1 tp2143 a(g197 V; tp2144 a(g184 V p2145 tp2146 a(g47 VLstack p2147 tp2148 a(g197 V[ tp2149 a(g47 Vtos p2150 tp2151 a(g197 V] tp2152 a(g184 V tp2153 a(g338 V:= p2154 tp2155 a(g184 V tp2156 a(g47 Vi tp2157 a(g197 V; tp2158 a(g184 V p2159 tp2160 a(g47 VRstack p2161 tp2162 a(g197 V[ tp2163 a(g47 Vtos p2164 tp2165 a(g197 V] tp2166 a(g184 V tp2167 a(g338 V:= p2168 tp2169 a(g184 V tp2170 a(g47 VR tp2171 a(g197 V; tp2172 a(g184 V\u000a tp2173 a(g184 V p2174 tp2175 a(g7 VEND p2176 tp2177 a(g197 V; tp2178 a(g184 V\u000a tp2179 a(g184 V p2180 tp2181 a(g47 VR tp2182 a(g184 V tp2183 a(g338 V:= p2184 tp2185 a(g184 V tp2186 a(g47 Vj tp2187 a(g197 V; tp2188 a(g184 V\u000a tp2189 a(g184 V p2190 tp2191 a(g7 VELSE p2192 tp2193 a(g184 V\u000a tp2194 a(g184 V p2195 tp2196 a(g7 VIF p2197 tp2198 a(g184 V tp2199 a(g47 VL tp2200 a(g184 V tp2201 a(g338 V< tp2202 a(g184 V tp2203 a(g47 Vj tp2204 a(g184 V tp2205 a(g7 VTHEN p2206 tp2207 a(g184 V tp2208 a(g37 V(* push *) p2209 tp2210 a(g184 V\u000a tp2211 a(g184 V p2212 tp2213 a(g47 Vtos p2214 tp2215 a(g184 V tp2216 a(g338 V:= p2217 tp2218 a(g184 V tp2219 a(g47 Vtos p2220 tp2221 a(g184 V tp2222 a(g338 V+ tp2223 a(g184 V tp2224 a(g313 V1 tp2225 a(g197 V; tp2226 a(g184 V p2227 tp2228 a(g47 VLstack p2229 tp2230 a(g197 V[ tp2231 a(g47 Vtos p2232 tp2233 a(g197 V] tp2234 a(g184 V tp2235 a(g338 V:= p2236 tp2237 a(g184 V tp2238 a(g47 VL tp2239 a(g197 V; tp2240 a(g184 V p2241 tp2242 a(g47 VRstack p2243 tp2244 a(g197 V[ tp2245 a(g47 Vtos p2246 tp2247 a(g197 V] tp2248 a(g184 V tp2249 a(g338 V:= p2250 tp2251 a(g184 V tp2252 a(g47 Vj tp2253 a(g197 V; tp2254 a(g184 V\u000a tp2255 a(g184 V p2256 tp2257 a(g7 VEND p2258 tp2259 a(g197 V; tp2260 a(g184 V\u000a tp2261 a(g184 V p2262 tp2263 a(g47 VL tp2264 a(g184 V tp2265 a(g338 V:= p2266 tp2267 a(g184 V tp2268 a(g47 Vi tp2269 a(g197 V; tp2270 a(g184 V\u000a tp2271 a(g184 V p2272 tp2273 a(g7 VEND p2274 tp2275 a(g197 V; tp2276 a(g184 V\u000a\u000a p2277 tp2278 a(g184 V p2279 tp2280 a(g7 VUNTIL p2281 tp2282 a(g184 V tp2283 a(g47 VL tp2284 a(g184 V tp2285 a(g338 V> tp2286 a(g338 V= tp2287 a(g184 V tp2288 a(g47 VR tp2289 a(g197 V; tp2290 a(g184 V\u000a\u000a p2291 tp2292 a(g184 V p2293 tp2294 a(g7 VELSE p2295 tp2296 a(g184 V\u000a\u000a p2297 tp2298 a(g184 V p2299 tp2300 a(g37 V(* small sort for small number of values *) p2301 tp2302 a(g184 V\u000a tp2303 a(g184 V p2304 tp2305 a(g7 VFOR p2306 tp2307 a(g184 V tp2308 a(g47 Vi tp2309 a(g184 V tp2310 a(g338 V:= p2311 tp2312 a(g184 V tp2313 a(g47 VL tp2314 a(g184 V tp2315 a(g7 VTO p2316 tp2317 a(g184 V tp2318 a(g47 VR tp2319 a(g184 V tp2320 a(g338 V- tp2321 a(g184 V tp2322 a(g313 V1 tp2323 a(g184 V tp2324 a(g7 VDO p2325 tp2326 a(g184 V\u000a tp2327 a(g184 V p2328 tp2329 a(g7 VFOR p2330 tp2331 a(g184 V tp2332 a(g47 Vj tp2333 a(g184 V tp2334 a(g338 V:= p2335 tp2336 a(g184 V tp2337 a(g47 Vi tp2338 a(g184 V tp2339 a(g7 VTO p2340 tp2341 a(g184 V tp2342 a(g47 VR tp2343 a(g184 V tp2344 a(g7 VDO p2345 tp2346 a(g184 V\u000a tp2347 a(g184 V p2348 tp2349 a(g7 VIF p2350 tp2351 a(g184 V tp2352 a(g47 Vx tp2353 a(g197 V[ tp2354 a(g47 Vindex p2355 tp2356 a(g197 V[ tp2357 a(g47 Vi tp2358 a(g197 V] tp2359 a(g197 V] tp2360 a(g184 V tp2361 a(g338 V> tp2362 a(g184 V tp2363 a(g47 Vx tp2364 a(g197 V[ tp2365 a(g47 Vindex p2366 tp2367 a(g197 V[ tp2368 a(g47 Vj tp2369 a(g197 V] tp2370 a(g197 V] tp2371 a(g184 V tp2372 a(g7 VTHEN p2373 tp2374 a(g184 V\u000a tp2375 a(g184 V p2376 tp2377 a(g47 Vctemp p2378 tp2379 a(g184 V p2380 tp2381 a(g338 V:= p2382 tp2383 a(g184 V tp2384 a(g47 Vindex p2385 tp2386 a(g197 V[ tp2387 a(g47 Vi tp2388 a(g197 V] tp2389 a(g197 V; tp2390 a(g184 V\u000a tp2391 a(g184 V p2392 tp2393 a(g47 Vindex p2394 tp2395 a(g197 V[ tp2396 a(g47 Vi tp2397 a(g197 V] tp2398 a(g184 V tp2399 a(g338 V:= p2400 tp2401 a(g184 V tp2402 a(g47 Vindex p2403 tp2404 a(g197 V[ tp2405 a(g47 Vj tp2406 a(g197 V] tp2407 a(g197 V; tp2408 a(g184 V\u000a tp2409 a(g184 V p2410 tp2411 a(g47 Vindex p2412 tp2413 a(g197 V[ tp2414 a(g47 Vj tp2415 a(g197 V] tp2416 a(g184 V tp2417 a(g338 V:= p2418 tp2419 a(g184 V tp2420 a(g47 Vctemp p2421 tp2422 a(g184 V\u000a tp2423 a(g184 V p2424 tp2425 a(g7 VEND p2426 tp2427 a(g197 V; tp2428 a(g184 V\u000a tp2429 a(g184 V p2430 tp2431 a(g7 VEND p2432 tp2433 a(g197 V; tp2434 a(g184 V\u000a tp2435 a(g184 V p2436 tp2437 a(g7 VEND p2438 tp2439 a(g197 V; tp2440 a(g184 V\u000a\u000a p2441 tp2442 a(g184 V p2443 tp2444 a(g7 VEND p2445 tp2446 a(g197 V; tp2447 a(g184 V tp2448 a(g37 V(* check for small *) p2449 tp2450 a(g184 V\u000a\u000a p2451 tp2452 a(g184 V p2453 tp2454 a(g7 VUNTIL p2455 tp2456 a(g184 V tp2457 a(g47 Vtos p2458 tp2459 a(g184 V tp2460 a(g338 V= tp2461 a(g184 V tp2462 a(g313 V0 tp2463 a(g197 V; tp2464 a(g184 V\u000a\u000a p2465 tp2466 a(g184 V p2467 tp2468 a(g7 VEND p2469 tp2470 a(g184 V tp2471 a(g47 VRealQSortIndex p2472 tp2473 a(g197 V; tp2474 a(g184 V\u000a\u000a p2475 tp2476 a(g184 V p2477 tp2478 a(g37 V(* --------------------------------------------------- *) p2479 tp2480 a(g184 V\u000a tp2481 a(g184 V p2482 tp2483 a(g7 VPROCEDURE p2484 tp2485 a(g184 V tp2486 a(g47 VCardQSort p2487 tp2488 a(g197 V( tp2489 a(g184 V tp2490 a(g7 VVAR p2491 tp2492 a(g184 V tp2493 a(g47 Vx tp2494 a(g184 V tp2495 a(g197 V: tp2496 a(g7 VARRAY p2497 tp2498 a(g184 V tp2499 a(g7 VOF p2500 tp2501 a(g184 V tp2502 a(g16 VCARDINAL p2503 tp2504 a(g197 V; tp2505 a(g184 V tp2506 a(g47 Varray_len p2507 tp2508 a(g184 V tp2509 a(g197 V: tp2510 a(g16 VCARDINAL p2511 tp2512 a(g184 V tp2513 a(g197 V) tp2514 a(g197 V; tp2515 a(g184 V\u000a\u000a p2516 tp2517 a(g184 V p2518 tp2519 a(g7 VVAR p2520 tp2521 a(g184 V\u000a tp2522 a(g184 V p2523 tp2524 a(g47 Vmedian p2525 tp2526 a(g184 V tp2527 a(g197 V: tp2528 a(g184 V tp2529 a(g16 VCARDINAL p2530 tp2531 a(g197 V; tp2532 a(g184 V\u000a tp2533 a(g184 V p2534 tp2535 a(g47 Vn tp2536 a(g197 V, tp2537 a(g47 Vi tp2538 a(g197 V, tp2539 a(g47 Vj tp2540 a(g184 V p2541 tp2542 a(g197 V: tp2543 a(g184 V tp2544 a(g16 VINTEGER p2545 tp2546 a(g197 V; tp2547 a(g184 V\u000a tp2548 a(g184 V p2549 tp2550 a(g7 VBEGIN p2551 tp2552 a(g184 V\u000a\u000a p2553 tp2554 a(g184 V p2555 tp2556 a(g47 Vn tp2557 a(g184 V tp2558 a(g338 V:= p2559 tp2560 a(g184 V tp2561 a(g16 VVAL p2562 tp2563 a(g197 V( tp2564 a(g16 VINTEGER p2565 tp2566 a(g197 V, tp2567 a(g47 Varray_len p2568 tp2569 a(g197 V) tp2570 a(g184 V tp2571 a(g338 V- tp2572 a(g184 V tp2573 a(g313 V1 tp2574 a(g197 V; tp2575 a(g184 V tp2576 a(g37 V(* back to zero offset *) p2577 tp2578 a(g184 V\u000a\u000a p2579 tp2580 a(g184 V p2581 tp2582 a(g47 Vtos p2583 tp2584 a(g184 V tp2585 a(g338 V:= p2586 tp2587 a(g184 V tp2588 a(g313 V0 tp2589 a(g197 V; tp2590 a(g184 V\u000a\u000a p2591 tp2592 a(g184 V p2593 tp2594 a(g47 VL tp2595 a(g184 V tp2596 a(g338 V:= p2597 tp2598 a(g184 V tp2599 a(g313 V0 tp2600 a(g197 V; tp2601 a(g184 V p2602 tp2603 a(g47 VR tp2604 a(g184 V tp2605 a(g338 V:= p2606 tp2607 a(g184 V tp2608 a(g47 Vn tp2609 a(g197 V; tp2610 a(g184 V\u000a\u000a p2611 tp2612 a(g184 V p2613 tp2614 a(g37 V(* PUSH very first set *) p2615 tp2616 a(g184 V\u000a tp2617 a(g184 V p2618 tp2619 a(g47 Vtos p2620 tp2621 a(g184 V tp2622 a(g338 V:= p2623 tp2624 a(g184 V tp2625 a(g47 Vtos p2626 tp2627 a(g184 V tp2628 a(g338 V+ tp2629 a(g184 V tp2630 a(g313 V1 tp2631 a(g197 V; tp2632 a(g184 V p2633 tp2634 a(g47 VLstack p2635 tp2636 a(g197 V[ tp2637 a(g47 Vtos p2638 tp2639 a(g197 V] tp2640 a(g184 V tp2641 a(g338 V:= p2642 tp2643 a(g184 V tp2644 a(g47 VL tp2645 a(g197 V; tp2646 a(g184 V p2647 tp2648 a(g47 VRstack p2649 tp2650 a(g197 V[ tp2651 a(g47 Vtos p2652 tp2653 a(g197 V] tp2654 a(g184 V tp2655 a(g338 V:= p2656 tp2657 a(g184 V tp2658 a(g47 VR tp2659 a(g197 V; tp2660 a(g184 V\u000a\u000a p2661 tp2662 a(g184 V p2663 tp2664 a(g7 VREPEAT p2665 tp2666 a(g184 V\u000a\u000a p2667 tp2668 a(g184 V p2669 tp2670 a(g37 V(* POP *) p2671 tp2672 a(g184 V\u000a tp2673 a(g184 V p2674 tp2675 a(g47 VL tp2676 a(g184 V tp2677 a(g338 V:= p2678 tp2679 a(g184 V tp2680 a(g47 VLstack p2681 tp2682 a(g197 V[ tp2683 a(g47 Vtos p2684 tp2685 a(g197 V] tp2686 a(g197 V; tp2687 a(g184 V p2688 tp2689 a(g47 VR tp2690 a(g184 V tp2691 a(g338 V:= p2692 tp2693 a(g184 V tp2694 a(g47 VRstack p2695 tp2696 a(g197 V[ tp2697 a(g47 Vtos p2698 tp2699 a(g197 V] tp2700 a(g197 V; tp2701 a(g184 V p2702 tp2703 a(g47 Vtos p2704 tp2705 a(g184 V tp2706 a(g338 V:= p2707 tp2708 a(g184 V tp2709 a(g47 Vtos p2710 tp2711 a(g184 V tp2712 a(g338 V- tp2713 a(g184 V tp2714 a(g313 V1 tp2715 a(g197 V; tp2716 a(g184 V\u000a\u000a p2717 tp2718 a(g184 V p2719 tp2720 a(g7 VIF p2721 tp2722 a(g184 V tp2723 a(g47 VR tp2724 a(g184 V tp2725 a(g338 V- tp2726 a(g184 V tp2727 a(g47 VL tp2728 a(g184 V tp2729 a(g338 V+ tp2730 a(g184 V tp2731 a(g313 V1 tp2732 a(g184 V tp2733 a(g338 V> tp2734 a(g184 V tp2735 a(g47 Vn_small p2736 tp2737 a(g184 V tp2738 a(g7 VTHEN p2739 tp2740 a(g184 V\u000a\u000a p2741 tp2742 a(g184 V p2743 tp2744 a(g7 VREPEAT p2745 tp2746 a(g184 V\u000a tp2747 a(g184 V p2748 tp2749 a(g47 Vi tp2750 a(g184 V tp2751 a(g338 V:= p2752 tp2753 a(g184 V tp2754 a(g47 VL tp2755 a(g197 V; tp2756 a(g184 V p2757 tp2758 a(g47 Vj tp2759 a(g184 V tp2760 a(g338 V:= p2761 tp2762 a(g184 V tp2763 a(g47 VR tp2764 a(g197 V; tp2765 a(g184 V p2766 tp2767 a(g47 Vmedian p2768 tp2769 a(g184 V tp2770 a(g338 V:= p2771 tp2772 a(g184 V tp2773 a(g47 Vx tp2774 a(g197 V[ tp2775 a(g197 V( tp2776 a(g184 V tp2777 a(g47 VL tp2778 a(g184 V tp2779 a(g338 V+ tp2780 a(g184 V tp2781 a(g47 VR tp2782 a(g184 V tp2783 a(g197 V) tp2784 a(g184 V tp2785 a(g7 VDIV p2786 tp2787 a(g184 V tp2788 a(g313 V2 tp2789 a(g197 V] tp2790 a(g197 V; tp2791 a(g184 V\u000a\u000a p2792 tp2793 a(g184 V p2794 tp2795 a(g7 VREPEAT p2796 tp2797 a(g184 V\u000a tp2798 a(g184 V p2799 tp2800 a(g7 VWHILE p2801 tp2802 a(g184 V tp2803 a(g47 Vx tp2804 a(g197 V[ tp2805 a(g47 Vi tp2806 a(g197 V] tp2807 a(g184 V tp2808 a(g338 V< tp2809 a(g184 V tp2810 a(g47 Vmedian p2811 tp2812 a(g184 V tp2813 a(g7 VDO p2814 tp2815 a(g184 V\u000a tp2816 a(g184 V p2817 tp2818 a(g47 Vi tp2819 a(g184 V tp2820 a(g338 V:= p2821 tp2822 a(g184 V tp2823 a(g47 Vi tp2824 a(g184 V tp2825 a(g338 V+ tp2826 a(g184 V tp2827 a(g313 V1 tp2828 a(g197 V; tp2829 a(g184 V\u000a tp2830 a(g184 V p2831 tp2832 a(g7 VEND p2833 tp2834 a(g197 V; tp2835 a(g184 V\u000a tp2836 a(g184 V p2837 tp2838 a(g7 VWHILE p2839 tp2840 a(g184 V tp2841 a(g47 Vmedian p2842 tp2843 a(g184 V tp2844 a(g338 V< tp2845 a(g184 V tp2846 a(g47 Vx tp2847 a(g197 V[ tp2848 a(g47 Vj tp2849 a(g197 V] tp2850 a(g184 V tp2851 a(g7 VDO p2852 tp2853 a(g184 V\u000a tp2854 a(g184 V p2855 tp2856 a(g47 Vj tp2857 a(g184 V tp2858 a(g338 V:= p2859 tp2860 a(g184 V tp2861 a(g47 Vj tp2862 a(g184 V tp2863 a(g338 V- tp2864 a(g184 V tp2865 a(g313 V1 tp2866 a(g197 V; tp2867 a(g184 V\u000a tp2868 a(g184 V p2869 tp2870 a(g7 VEND p2871 tp2872 a(g197 V; tp2873 a(g184 V\u000a\u000a p2874 tp2875 a(g184 V p2876 tp2877 a(g7 VIF p2878 tp2879 a(g184 V tp2880 a(g47 Vi tp2881 a(g184 V tp2882 a(g338 V< tp2883 a(g338 V= tp2884 a(g184 V tp2885 a(g47 Vj tp2886 a(g184 V tp2887 a(g7 VTHEN p2888 tp2889 a(g184 V tp2890 a(g37 V(* swap *) p2891 tp2892 a(g184 V\u000a tp2893 a(g184 V p2894 tp2895 a(g47 Vctemp p2896 tp2897 a(g184 V tp2898 a(g338 V:= p2899 tp2900 a(g184 V tp2901 a(g47 Vx tp2902 a(g197 V[ tp2903 a(g47 Vi tp2904 a(g197 V] tp2905 a(g197 V; tp2906 a(g184 V p2907 tp2908 a(g47 Vx tp2909 a(g197 V[ tp2910 a(g47 Vi tp2911 a(g197 V] tp2912 a(g184 V tp2913 a(g338 V:= p2914 tp2915 a(g184 V tp2916 a(g47 Vx tp2917 a(g197 V[ tp2918 a(g47 Vj tp2919 a(g197 V] tp2920 a(g197 V; tp2921 a(g184 V p2922 tp2923 a(g47 Vx tp2924 a(g197 V[ tp2925 a(g47 Vj tp2926 a(g197 V] tp2927 a(g184 V tp2928 a(g338 V:= p2929 tp2930 a(g184 V tp2931 a(g47 Vctemp p2932 tp2933 a(g197 V; tp2934 a(g184 V\u000a tp2935 a(g184 V p2936 tp2937 a(g47 Vi tp2938 a(g184 V tp2939 a(g338 V:= p2940 tp2941 a(g184 V tp2942 a(g47 Vi tp2943 a(g184 V tp2944 a(g338 V+ tp2945 a(g184 V tp2946 a(g313 V1 tp2947 a(g197 V; tp2948 a(g184 V p2949 tp2950 a(g47 Vj tp2951 a(g184 V tp2952 a(g338 V:= p2953 tp2954 a(g184 V tp2955 a(g47 Vj tp2956 a(g184 V tp2957 a(g338 V- tp2958 a(g184 V tp2959 a(g313 V1 tp2960 a(g197 V; tp2961 a(g184 V\u000a tp2962 a(g184 V p2963 tp2964 a(g7 VEND p2965 tp2966 a(g197 V; tp2967 a(g184 V\u000a tp2968 a(g184 V p2969 tp2970 a(g7 VUNTIL p2971 tp2972 a(g184 V tp2973 a(g47 Vi tp2974 a(g184 V tp2975 a(g338 V> tp2976 a(g184 V tp2977 a(g47 Vj tp2978 a(g197 V; tp2979 a(g184 V\u000a\u000a p2980 tp2981 a(g184 V p2982 tp2983 a(g7 VIF p2984 tp2985 a(g184 V tp2986 a(g47 Vj tp2987 a(g184 V tp2988 a(g338 V- tp2989 a(g184 V tp2990 a(g47 VL tp2991 a(g184 V tp2992 a(g338 V< tp2993 a(g184 V tp2994 a(g47 VR tp2995 a(g184 V tp2996 a(g338 V- tp2997 a(g184 V tp2998 a(g47 Vi tp2999 a(g184 V tp3000 a(g7 VTHEN p3001 tp3002 a(g184 V\u000a tp3003 a(g184 V p3004 tp3005 a(g7 VIF p3006 tp3007 a(g184 V tp3008 a(g47 Vi tp3009 a(g184 V tp3010 a(g338 V< tp3011 a(g184 V tp3012 a(g47 VR tp3013 a(g184 V tp3014 a(g7 VTHEN p3015 tp3016 a(g184 V tp3017 a(g37 V(* PUSH *) p3018 tp3019 a(g184 V\u000a tp3020 a(g184 V p3021 tp3022 a(g47 Vtos p3023 tp3024 a(g184 V tp3025 a(g338 V:= p3026 tp3027 a(g184 V tp3028 a(g47 Vtos p3029 tp3030 a(g184 V tp3031 a(g338 V+ tp3032 a(g184 V tp3033 a(g313 V1 tp3034 a(g197 V; tp3035 a(g184 V p3036 tp3037 a(g47 VLstack p3038 tp3039 a(g197 V[ tp3040 a(g47 Vtos p3041 tp3042 a(g197 V] tp3043 a(g184 V tp3044 a(g338 V:= p3045 tp3046 a(g184 V tp3047 a(g47 Vi tp3048 a(g197 V; tp3049 a(g184 V p3050 tp3051 a(g47 VRstack p3052 tp3053 a(g197 V[ tp3054 a(g47 Vtos p3055 tp3056 a(g197 V] tp3057 a(g184 V tp3058 a(g338 V:= p3059 tp3060 a(g184 V tp3061 a(g47 VR tp3062 a(g197 V; tp3063 a(g184 V\u000a tp3064 a(g184 V p3065 tp3066 a(g7 VEND p3067 tp3068 a(g197 V; tp3069 a(g184 V\u000a tp3070 a(g184 V p3071 tp3072 a(g47 VR tp3073 a(g184 V tp3074 a(g338 V:= p3075 tp3076 a(g184 V tp3077 a(g47 Vj tp3078 a(g197 V; tp3079 a(g184 V\u000a tp3080 a(g184 V p3081 tp3082 a(g7 VELSE p3083 tp3084 a(g184 V\u000a tp3085 a(g184 V p3086 tp3087 a(g7 VIF p3088 tp3089 a(g184 V tp3090 a(g47 VL tp3091 a(g184 V tp3092 a(g338 V< tp3093 a(g184 V tp3094 a(g47 Vj tp3095 a(g184 V tp3096 a(g7 VTHEN p3097 tp3098 a(g184 V tp3099 a(g37 V(* push *) p3100 tp3101 a(g184 V\u000a tp3102 a(g184 V p3103 tp3104 a(g47 Vtos p3105 tp3106 a(g184 V tp3107 a(g338 V:= p3108 tp3109 a(g184 V tp3110 a(g47 Vtos p3111 tp3112 a(g184 V tp3113 a(g338 V+ tp3114 a(g184 V tp3115 a(g313 V1 tp3116 a(g197 V; tp3117 a(g184 V p3118 tp3119 a(g47 VLstack p3120 tp3121 a(g197 V[ tp3122 a(g47 Vtos p3123 tp3124 a(g197 V] tp3125 a(g184 V tp3126 a(g338 V:= p3127 tp3128 a(g184 V tp3129 a(g47 VL tp3130 a(g197 V; tp3131 a(g184 V p3132 tp3133 a(g47 VRstack p3134 tp3135 a(g197 V[ tp3136 a(g47 Vtos p3137 tp3138 a(g197 V] tp3139 a(g184 V tp3140 a(g338 V:= p3141 tp3142 a(g184 V tp3143 a(g47 Vj tp3144 a(g197 V; tp3145 a(g184 V\u000a tp3146 a(g184 V p3147 tp3148 a(g7 VEND p3149 tp3150 a(g197 V; tp3151 a(g184 V\u000a tp3152 a(g184 V p3153 tp3154 a(g47 VL tp3155 a(g184 V tp3156 a(g338 V:= p3157 tp3158 a(g184 V tp3159 a(g47 Vi tp3160 a(g197 V; tp3161 a(g184 V\u000a tp3162 a(g184 V p3163 tp3164 a(g7 VEND p3165 tp3166 a(g197 V; tp3167 a(g184 V\u000a\u000a p3168 tp3169 a(g184 V p3170 tp3171 a(g7 VUNTIL p3172 tp3173 a(g184 V tp3174 a(g47 VL tp3175 a(g184 V tp3176 a(g338 V> tp3177 a(g338 V= tp3178 a(g184 V tp3179 a(g47 VR tp3180 a(g197 V; tp3181 a(g184 V\u000a\u000a p3182 tp3183 a(g184 V p3184 tp3185 a(g7 VELSE p3186 tp3187 a(g184 V\u000a\u000a p3188 tp3189 a(g184 V p3190 tp3191 a(g37 V(* small sort for small number of values *) p3192 tp3193 a(g184 V\u000a tp3194 a(g184 V p3195 tp3196 a(g7 VFOR p3197 tp3198 a(g184 V tp3199 a(g47 Vi tp3200 a(g184 V tp3201 a(g338 V:= p3202 tp3203 a(g184 V tp3204 a(g47 VL tp3205 a(g184 V tp3206 a(g7 VTO p3207 tp3208 a(g184 V tp3209 a(g47 VR tp3210 a(g184 V tp3211 a(g338 V- tp3212 a(g184 V tp3213 a(g313 V1 tp3214 a(g184 V tp3215 a(g7 VDO p3216 tp3217 a(g184 V\u000a tp3218 a(g184 V p3219 tp3220 a(g7 VFOR p3221 tp3222 a(g184 V tp3223 a(g47 Vj tp3224 a(g184 V tp3225 a(g338 V:= p3226 tp3227 a(g184 V tp3228 a(g47 Vi tp3229 a(g184 V tp3230 a(g7 VTO p3231 tp3232 a(g184 V tp3233 a(g47 VR tp3234 a(g184 V tp3235 a(g7 VDO p3236 tp3237 a(g184 V\u000a tp3238 a(g184 V p3239 tp3240 a(g7 VIF p3241 tp3242 a(g184 V tp3243 a(g47 Vx tp3244 a(g197 V[ tp3245 a(g47 Vi tp3246 a(g197 V] tp3247 a(g184 V tp3248 a(g338 V> tp3249 a(g184 V tp3250 a(g47 Vx tp3251 a(g197 V[ tp3252 a(g47 Vj tp3253 a(g197 V] tp3254 a(g184 V tp3255 a(g7 VTHEN p3256 tp3257 a(g184 V\u000a tp3258 a(g184 V p3259 tp3260 a(g47 Vctemp p3261 tp3262 a(g184 V tp3263 a(g338 V:= p3264 tp3265 a(g184 V tp3266 a(g47 Vx tp3267 a(g197 V[ tp3268 a(g47 Vi tp3269 a(g197 V] tp3270 a(g197 V; tp3271 a(g184 V\u000a tp3272 a(g184 V p3273 tp3274 a(g47 Vx tp3275 a(g197 V[ tp3276 a(g47 Vi tp3277 a(g197 V] tp3278 a(g184 V p3279 tp3280 a(g338 V:= p3281 tp3282 a(g184 V tp3283 a(g47 Vx tp3284 a(g197 V[ tp3285 a(g47 Vj tp3286 a(g197 V] tp3287 a(g197 V; tp3288 a(g184 V\u000a tp3289 a(g184 V p3290 tp3291 a(g47 Vx tp3292 a(g197 V[ tp3293 a(g47 Vj tp3294 a(g197 V] tp3295 a(g184 V p3296 tp3297 a(g338 V:= p3298 tp3299 a(g184 V tp3300 a(g47 Vctemp p3301 tp3302 a(g184 V\u000a tp3303 a(g184 V p3304 tp3305 a(g7 VEND p3306 tp3307 a(g197 V; tp3308 a(g184 V\u000a tp3309 a(g184 V p3310 tp3311 a(g7 VEND p3312 tp3313 a(g197 V; tp3314 a(g184 V\u000a tp3315 a(g184 V p3316 tp3317 a(g7 VEND p3318 tp3319 a(g197 V; tp3320 a(g184 V\u000a\u000a p3321 tp3322 a(g184 V p3323 tp3324 a(g7 VEND p3325 tp3326 a(g197 V; tp3327 a(g184 V tp3328 a(g37 V(* check for small *) p3329 tp3330 a(g184 V\u000a\u000a p3331 tp3332 a(g184 V p3333 tp3334 a(g7 VUNTIL p3335 tp3336 a(g184 V tp3337 a(g47 Vtos p3338 tp3339 a(g184 V tp3340 a(g338 V= tp3341 a(g184 V tp3342 a(g313 V0 tp3343 a(g197 V; tp3344 a(g184 V\u000a\u000a p3345 tp3346 a(g184 V p3347 tp3348 a(g7 VEND p3349 tp3350 a(g184 V tp3351 a(g47 VCardQSort p3352 tp3353 a(g197 V; tp3354 a(g184 V\u000a\u000a p3355 tp3356 a(g184 V p3357 tp3358 a(g37 V(* ----------------------------------------------------- *) p3359 tp3360 a(g184 V\u000a tp3361 a(g184 V p3362 tp3363 a(g7 VPROCEDURE p3364 tp3365 a(g184 V tp3366 a(g47 VCardBSort p3367 tp3368 a(g197 V( tp3369 a(g184 V tp3370 a(g7 VVAR p3371 tp3372 a(g184 V tp3373 a(g47 Vx tp3374 a(g184 V tp3375 a(g197 V: tp3376 a(g7 VARRAY p3377 tp3378 a(g184 V tp3379 a(g7 VOF p3380 tp3381 a(g184 V tp3382 a(g16 VCARDINAL p3383 tp3384 a(g197 V; tp3385 a(g184 V tp3386 a(g47 Varray_len p3387 tp3388 a(g184 V tp3389 a(g197 V: tp3390 a(g16 VCARDINAL p3391 tp3392 a(g184 V tp3393 a(g197 V) tp3394 a(g197 V; tp3395 a(g184 V\u000a tp3396 a(g184 V p3397 tp3398 a(g7 VVAR p3399 tp3400 a(g184 V tp3401 a(g47 Vi tp3402 a(g197 V, tp3403 a(g47 Vj tp3404 a(g184 V tp3405 a(g197 V: tp3406 a(g184 V tp3407 a(g16 VINTEGER p3408 tp3409 a(g197 V; tp3410 a(g184 V\u000a tp3411 a(g184 V p3412 tp3413 a(g7 VBEGIN p3414 tp3415 a(g184 V\u000a tp3416 a(g184 V p3417 tp3418 a(g47 Vtop p3419 tp3420 a(g184 V p3421 tp3422 a(g338 V:= p3423 tp3424 a(g184 V tp3425 a(g313 V0 tp3426 a(g197 V; tp3427 a(g184 V p3428 tp3429 a(g37 V(* open arrays are zero offset *) p3430 tp3431 a(g184 V\u000a tp3432 a(g184 V p3433 tp3434 a(g47 Vbottom p3435 tp3436 a(g184 V tp3437 a(g338 V:= p3438 tp3439 a(g184 V tp3440 a(g16 VVAL p3441 tp3442 a(g197 V( tp3443 a(g16 VINTEGER p3444 tp3445 a(g197 V, tp3446 a(g47 Varray_len p3447 tp3448 a(g197 V) tp3449 a(g184 V tp3450 a(g338 V- tp3451 a(g184 V tp3452 a(g313 V1 tp3453 a(g197 V; tp3454 a(g184 V\u000a\u000a p3455 tp3456 a(g184 V p3457 tp3458 a(g7 VWHILE p3459 tp3460 a(g184 V tp3461 a(g47 Vtop p3462 tp3463 a(g184 V tp3464 a(g338 V< tp3465 a(g184 V tp3466 a(g47 Vbottom p3467 tp3468 a(g184 V tp3469 a(g7 VDO p3470 tp3471 a(g184 V\u000a\u000a p3472 tp3473 a(g184 V p3474 tp3475 a(g47 Vlastflip p3476 tp3477 a(g184 V tp3478 a(g338 V:= p3479 tp3480 a(g184 V tp3481 a(g47 Vtop p3482 tp3483 a(g197 V; tp3484 a(g184 V\u000a\u000a p3485 tp3486 a(g184 V p3487 tp3488 a(g7 VFOR p3489 tp3490 a(g184 V tp3491 a(g47 Vi tp3492 a(g184 V tp3493 a(g338 V:= p3494 tp3495 a(g184 V tp3496 a(g47 Vtop p3497 tp3498 a(g184 V tp3499 a(g7 VTO p3500 tp3501 a(g184 V tp3502 a(g47 Vbottom p3503 tp3504 a(g338 V- tp3505 a(g313 V1 tp3506 a(g184 V tp3507 a(g7 VDO p3508 tp3509 a(g184 V\u000a tp3510 a(g184 V p3511 tp3512 a(g7 VIF p3513 tp3514 a(g184 V tp3515 a(g47 Vx tp3516 a(g197 V[ tp3517 a(g47 Vi tp3518 a(g197 V] tp3519 a(g184 V tp3520 a(g338 V> tp3521 a(g184 V tp3522 a(g47 Vx tp3523 a(g197 V[ tp3524 a(g47 Vi tp3525 a(g338 V+ tp3526 a(g313 V1 tp3527 a(g197 V] tp3528 a(g184 V tp3529 a(g7 VTHEN p3530 tp3531 a(g184 V p3532 tp3533 a(g37 V(* flip *) p3534 tp3535 a(g184 V\u000a tp3536 a(g184 V p3537 tp3538 a(g47 Vctemp p3539 tp3540 a(g184 V p3541 tp3542 a(g338 V:= p3543 tp3544 a(g184 V tp3545 a(g47 Vx tp3546 a(g197 V[ tp3547 a(g47 Vi tp3548 a(g197 V] tp3549 a(g197 V; tp3550 a(g184 V\u000a tp3551 a(g184 V p3552 tp3553 a(g47 Vx tp3554 a(g197 V[ tp3555 a(g47 Vi tp3556 a(g197 V] tp3557 a(g184 V p3558 tp3559 a(g338 V:= p3560 tp3561 a(g184 V tp3562 a(g47 Vx tp3563 a(g197 V[ tp3564 a(g47 Vi tp3565 a(g338 V+ tp3566 a(g313 V1 tp3567 a(g197 V] tp3568 a(g197 V; tp3569 a(g184 V\u000a tp3570 a(g184 V p3571 tp3572 a(g47 Vx tp3573 a(g197 V[ tp3574 a(g47 Vi tp3575 a(g338 V+ tp3576 a(g313 V1 tp3577 a(g197 V] tp3578 a(g184 V tp3579 a(g338 V:= p3580 tp3581 a(g184 V tp3582 a(g47 Vctemp p3583 tp3584 a(g197 V; tp3585 a(g184 V\u000a tp3586 a(g184 V p3587 tp3588 a(g47 Vlastflip p3589 tp3590 a(g184 V tp3591 a(g338 V:= p3592 tp3593 a(g184 V tp3594 a(g47 Vi tp3595 a(g197 V; tp3596 a(g184 V\u000a tp3597 a(g184 V p3598 tp3599 a(g7 VEND p3600 tp3601 a(g197 V; tp3602 a(g184 V\u000a tp3603 a(g184 V p3604 tp3605 a(g7 VEND p3606 tp3607 a(g197 V; tp3608 a(g184 V\u000a\u000a p3609 tp3610 a(g184 V p3611 tp3612 a(g47 Vbottom p3613 tp3614 a(g184 V tp3615 a(g338 V:= p3616 tp3617 a(g184 V tp3618 a(g47 Vlastflip p3619 tp3620 a(g197 V; tp3621 a(g184 V\u000a\u000a p3622 tp3623 a(g184 V p3624 tp3625 a(g7 VIF p3626 tp3627 a(g184 V tp3628 a(g47 Vbottom p3629 tp3630 a(g184 V tp3631 a(g338 V> tp3632 a(g184 V tp3633 a(g47 Vtop p3634 tp3635 a(g184 V tp3636 a(g7 VTHEN p3637 tp3638 a(g184 V\u000a\u000a p3639 tp3640 a(g184 V p3641 tp3642 a(g47 Vi tp3643 a(g184 V tp3644 a(g338 V:= p3645 tp3646 a(g184 V tp3647 a(g47 Vbottom p3648 tp3649 a(g184 V tp3650 a(g338 V- tp3651 a(g184 V tp3652 a(g313 V1 tp3653 a(g197 V; tp3654 a(g184 V\u000a tp3655 a(g184 V p3656 tp3657 a(g7 VFOR p3658 tp3659 a(g184 V tp3660 a(g47 Vj tp3661 a(g184 V tp3662 a(g338 V:= p3663 tp3664 a(g184 V tp3665 a(g47 Vtop p3666 tp3667 a(g184 V tp3668 a(g7 VTO p3669 tp3670 a(g184 V tp3671 a(g47 Vbottom p3672 tp3673 a(g338 V- tp3674 a(g313 V1 tp3675 a(g184 V tp3676 a(g7 VDO p3677 tp3678 a(g184 V\u000a tp3679 a(g184 V p3680 tp3681 a(g7 VIF p3682 tp3683 a(g184 V tp3684 a(g47 Vx tp3685 a(g197 V[ tp3686 a(g47 Vi tp3687 a(g197 V] tp3688 a(g184 V tp3689 a(g338 V> tp3690 a(g184 V tp3691 a(g47 Vx tp3692 a(g197 V[ tp3693 a(g47 Vi tp3694 a(g338 V+ tp3695 a(g313 V1 tp3696 a(g197 V] tp3697 a(g184 V tp3698 a(g7 VTHEN p3699 tp3700 a(g184 V p3701 tp3702 a(g37 V(* flip *) p3703 tp3704 a(g184 V\u000a tp3705 a(g184 V p3706 tp3707 a(g47 Vctemp p3708 tp3709 a(g184 V p3710 tp3711 a(g338 V:= p3712 tp3713 a(g184 V tp3714 a(g47 Vx tp3715 a(g197 V[ tp3716 a(g47 Vi tp3717 a(g197 V] tp3718 a(g197 V; tp3719 a(g184 V\u000a tp3720 a(g184 V p3721 tp3722 a(g47 Vx tp3723 a(g197 V[ tp3724 a(g47 Vi tp3725 a(g197 V] tp3726 a(g184 V p3727 tp3728 a(g338 V:= p3729 tp3730 a(g184 V tp3731 a(g47 Vx tp3732 a(g197 V[ tp3733 a(g47 Vi tp3734 a(g338 V+ tp3735 a(g313 V1 tp3736 a(g197 V] tp3737 a(g197 V; tp3738 a(g184 V\u000a tp3739 a(g184 V p3740 tp3741 a(g47 Vx tp3742 a(g197 V[ tp3743 a(g47 Vi tp3744 a(g338 V+ tp3745 a(g313 V1 tp3746 a(g197 V] tp3747 a(g184 V tp3748 a(g338 V:= p3749 tp3750 a(g184 V tp3751 a(g47 Vctemp p3752 tp3753 a(g197 V; tp3754 a(g184 V\u000a tp3755 a(g184 V p3756 tp3757 a(g47 Vlastflip p3758 tp3759 a(g184 V tp3760 a(g338 V:= p3761 tp3762 a(g184 V tp3763 a(g47 Vi tp3764 a(g197 V; tp3765 a(g184 V\u000a tp3766 a(g184 V p3767 tp3768 a(g7 VEND p3769 tp3770 a(g197 V; tp3771 a(g184 V\u000a tp3772 a(g184 V p3773 tp3774 a(g47 Vi tp3775 a(g184 V tp3776 a(g338 V:= p3777 tp3778 a(g184 V tp3779 a(g47 Vi tp3780 a(g184 V tp3781 a(g338 V- tp3782 a(g184 V tp3783 a(g313 V1 tp3784 a(g197 V; tp3785 a(g184 V\u000a tp3786 a(g184 V p3787 tp3788 a(g7 VEND p3789 tp3790 a(g197 V; tp3791 a(g184 V\u000a\u000a p3792 tp3793 a(g184 V p3794 tp3795 a(g47 Vtop p3796 tp3797 a(g184 V tp3798 a(g338 V:= p3799 tp3800 a(g184 V tp3801 a(g47 Vlastflip p3802 tp3803 a(g184 V tp3804 a(g338 V+ tp3805 a(g184 V tp3806 a(g313 V1 tp3807 a(g197 V; tp3808 a(g184 V\u000a\u000a p3809 tp3810 a(g184 V p3811 tp3812 a(g7 VELSE p3813 tp3814 a(g184 V\u000a tp3815 a(g184 V p3816 tp3817 a(g37 V(* force a loop failure *) p3818 tp3819 a(g184 V\u000a tp3820 a(g184 V p3821 tp3822 a(g47 Vtop p3823 tp3824 a(g184 V tp3825 a(g338 V:= p3826 tp3827 a(g184 V tp3828 a(g47 Vbottom p3829 tp3830 a(g184 V tp3831 a(g338 V+ tp3832 a(g184 V tp3833 a(g313 V1 tp3834 a(g197 V; tp3835 a(g184 V\u000a tp3836 a(g184 V p3837 tp3838 a(g7 VEND p3839 tp3840 a(g197 V; tp3841 a(g184 V\u000a\u000a p3842 tp3843 a(g184 V p3844 tp3845 a(g7 VEND p3846 tp3847 a(g197 V; tp3848 a(g184 V\u000a\u000a p3849 tp3850 a(g184 V p3851 tp3852 a(g7 VEND p3853 tp3854 a(g184 V tp3855 a(g47 VCardBSort p3856 tp3857 a(g197 V; tp3858 a(g184 V\u000a\u000a\u000a p3859 tp3860 a(g184 V p3861 tp3862 a(g37 V(* ----------------------------------------------------- *) p3863 tp3864 a(g184 V\u000a tp3865 a(g184 V p3866 tp3867 a(g7 VPROCEDURE p3868 tp3869 a(g184 V tp3870 a(g47 VRealBSort p3871 tp3872 a(g197 V( tp3873 a(g184 V tp3874 a(g7 VVAR p3875 tp3876 a(g184 V tp3877 a(g47 Vx tp3878 a(g184 V tp3879 a(g197 V: tp3880 a(g7 VARRAY p3881 tp3882 a(g184 V tp3883 a(g7 VOF p3884 tp3885 a(g184 V tp3886 a(g16 VREAL p3887 tp3888 a(g197 V; tp3889 a(g184 V tp3890 a(g47 Varray_len p3891 tp3892 a(g184 V tp3893 a(g197 V: tp3894 a(g16 VCARDINAL p3895 tp3896 a(g184 V tp3897 a(g197 V) tp3898 a(g197 V; tp3899 a(g184 V\u000a tp3900 a(g184 V p3901 tp3902 a(g7 VVAR p3903 tp3904 a(g184 V tp3905 a(g47 Vbottom p3906 tp3907 a(g197 V, tp3908 a(g47 Vtop p3909 tp3910 a(g184 V tp3911 a(g197 V: tp3912 a(g184 V tp3913 a(g16 VINTEGER p3914 tp3915 a(g197 V; tp3916 a(g184 V\u000a tp3917 a(g184 V p3918 tp3919 a(g47 Vi tp3920 a(g197 V, tp3921 a(g47 Vj tp3922 a(g184 V p3923 tp3924 a(g197 V: tp3925 a(g184 V tp3926 a(g16 VINTEGER p3927 tp3928 a(g197 V; tp3929 a(g184 V\u000a tp3930 a(g184 V p3931 tp3932 a(g7 VBEGIN p3933 tp3934 a(g184 V\u000a tp3935 a(g184 V p3936 tp3937 a(g47 Vtop p3938 tp3939 a(g184 V p3940 tp3941 a(g338 V:= p3942 tp3943 a(g184 V tp3944 a(g313 V0 tp3945 a(g197 V; tp3946 a(g184 V p3947 tp3948 a(g37 V(* open arrays are zero offset *) p3949 tp3950 a(g184 V\u000a tp3951 a(g184 V p3952 tp3953 a(g47 Vbottom p3954 tp3955 a(g184 V tp3956 a(g338 V:= p3957 tp3958 a(g184 V tp3959 a(g16 VVAL p3960 tp3961 a(g197 V( tp3962 a(g16 VINTEGER p3963 tp3964 a(g197 V, tp3965 a(g47 Varray_len p3966 tp3967 a(g197 V) tp3968 a(g184 V tp3969 a(g338 V- tp3970 a(g184 V tp3971 a(g313 V1 tp3972 a(g197 V; tp3973 a(g184 V\u000a\u000a p3974 tp3975 a(g184 V p3976 tp3977 a(g7 VWHILE p3978 tp3979 a(g184 V tp3980 a(g47 Vtop p3981 tp3982 a(g184 V tp3983 a(g338 V< tp3984 a(g184 V tp3985 a(g47 Vbottom p3986 tp3987 a(g184 V tp3988 a(g7 VDO p3989 tp3990 a(g184 V\u000a\u000a p3991 tp3992 a(g184 V p3993 tp3994 a(g47 Vlastflip p3995 tp3996 a(g184 V tp3997 a(g338 V:= p3998 tp3999 a(g184 V tp4000 a(g47 Vtop p4001 tp4002 a(g197 V; tp4003 a(g184 V\u000a\u000a p4004 tp4005 a(g184 V p4006 tp4007 a(g7 VFOR p4008 tp4009 a(g184 V tp4010 a(g47 Vi tp4011 a(g184 V tp4012 a(g338 V:= p4013 tp4014 a(g184 V tp4015 a(g47 Vtop p4016 tp4017 a(g184 V tp4018 a(g7 VTO p4019 tp4020 a(g184 V tp4021 a(g47 Vbottom p4022 tp4023 a(g338 V- tp4024 a(g313 V1 tp4025 a(g184 V tp4026 a(g7 VDO p4027 tp4028 a(g184 V\u000a tp4029 a(g184 V p4030 tp4031 a(g7 VIF p4032 tp4033 a(g184 V tp4034 a(g47 Vx tp4035 a(g197 V[ tp4036 a(g47 Vi tp4037 a(g197 V] tp4038 a(g184 V tp4039 a(g338 V> tp4040 a(g184 V tp4041 a(g47 Vx tp4042 a(g197 V[ tp4043 a(g47 Vi tp4044 a(g338 V+ tp4045 a(g313 V1 tp4046 a(g197 V] tp4047 a(g184 V tp4048 a(g7 VTHEN p4049 tp4050 a(g184 V p4051 tp4052 a(g37 V(* flip *) p4053 tp4054 a(g184 V\u000a tp4055 a(g184 V p4056 tp4057 a(g47 Vrtemp p4058 tp4059 a(g184 V p4060 tp4061 a(g338 V:= p4062 tp4063 a(g184 V tp4064 a(g47 Vx tp4065 a(g197 V[ tp4066 a(g47 Vi tp4067 a(g197 V] tp4068 a(g197 V; tp4069 a(g184 V\u000a tp4070 a(g184 V p4071 tp4072 a(g47 Vx tp4073 a(g197 V[ tp4074 a(g47 Vi tp4075 a(g197 V] tp4076 a(g184 V p4077 tp4078 a(g338 V:= p4079 tp4080 a(g184 V tp4081 a(g47 Vx tp4082 a(g197 V[ tp4083 a(g47 Vi tp4084 a(g338 V+ tp4085 a(g313 V1 tp4086 a(g197 V] tp4087 a(g197 V; tp4088 a(g184 V\u000a tp4089 a(g184 V p4090 tp4091 a(g47 Vx tp4092 a(g197 V[ tp4093 a(g47 Vi tp4094 a(g338 V+ tp4095 a(g313 V1 tp4096 a(g197 V] tp4097 a(g184 V tp4098 a(g338 V:= p4099 tp4100 a(g184 V tp4101 a(g47 Vrtemp p4102 tp4103 a(g197 V; tp4104 a(g184 V\u000a tp4105 a(g184 V p4106 tp4107 a(g47 Vlastflip p4108 tp4109 a(g184 V tp4110 a(g338 V:= p4111 tp4112 a(g184 V tp4113 a(g47 Vi tp4114 a(g197 V; tp4115 a(g184 V\u000a tp4116 a(g184 V p4117 tp4118 a(g7 VEND p4119 tp4120 a(g197 V; tp4121 a(g184 V\u000a tp4122 a(g184 V p4123 tp4124 a(g7 VEND p4125 tp4126 a(g197 V; tp4127 a(g184 V\u000a\u000a p4128 tp4129 a(g184 V p4130 tp4131 a(g47 Vbottom p4132 tp4133 a(g184 V tp4134 a(g338 V:= p4135 tp4136 a(g184 V tp4137 a(g47 Vlastflip p4138 tp4139 a(g197 V; tp4140 a(g184 V\u000a\u000a p4141 tp4142 a(g184 V p4143 tp4144 a(g7 VIF p4145 tp4146 a(g184 V tp4147 a(g47 Vbottom p4148 tp4149 a(g184 V tp4150 a(g338 V> tp4151 a(g184 V tp4152 a(g47 Vtop p4153 tp4154 a(g184 V tp4155 a(g7 VTHEN p4156 tp4157 a(g184 V\u000a\u000a p4158 tp4159 a(g184 V p4160 tp4161 a(g47 Vi tp4162 a(g184 V tp4163 a(g338 V:= p4164 tp4165 a(g184 V tp4166 a(g47 Vbottom p4167 tp4168 a(g184 V tp4169 a(g338 V- tp4170 a(g184 V tp4171 a(g313 V1 tp4172 a(g197 V; tp4173 a(g184 V\u000a tp4174 a(g184 V p4175 tp4176 a(g7 VFOR p4177 tp4178 a(g184 V tp4179 a(g47 Vj tp4180 a(g184 V tp4181 a(g338 V:= p4182 tp4183 a(g184 V tp4184 a(g47 Vtop p4185 tp4186 a(g184 V tp4187 a(g7 VTO p4188 tp4189 a(g184 V tp4190 a(g47 Vbottom p4191 tp4192 a(g338 V- tp4193 a(g313 V1 tp4194 a(g184 V tp4195 a(g7 VDO p4196 tp4197 a(g184 V\u000a tp4198 a(g184 V p4199 tp4200 a(g7 VIF p4201 tp4202 a(g184 V tp4203 a(g47 Vx tp4204 a(g197 V[ tp4205 a(g47 Vi tp4206 a(g197 V] tp4207 a(g184 V tp4208 a(g338 V> tp4209 a(g184 V tp4210 a(g47 Vx tp4211 a(g197 V[ tp4212 a(g47 Vi tp4213 a(g338 V+ tp4214 a(g313 V1 tp4215 a(g197 V] tp4216 a(g184 V tp4217 a(g7 VTHEN p4218 tp4219 a(g184 V p4220 tp4221 a(g37 V(* flip *) p4222 tp4223 a(g184 V\u000a tp4224 a(g184 V p4225 tp4226 a(g47 Vrtemp p4227 tp4228 a(g184 V p4229 tp4230 a(g338 V:= p4231 tp4232 a(g184 V tp4233 a(g47 Vx tp4234 a(g197 V[ tp4235 a(g47 Vi tp4236 a(g197 V] tp4237 a(g197 V; tp4238 a(g184 V\u000a tp4239 a(g184 V p4240 tp4241 a(g47 Vx tp4242 a(g197 V[ tp4243 a(g47 Vi tp4244 a(g197 V] tp4245 a(g184 V p4246 tp4247 a(g338 V:= p4248 tp4249 a(g184 V tp4250 a(g47 Vx tp4251 a(g197 V[ tp4252 a(g47 Vi tp4253 a(g338 V+ tp4254 a(g313 V1 tp4255 a(g197 V] tp4256 a(g197 V; tp4257 a(g184 V\u000a tp4258 a(g184 V p4259 tp4260 a(g47 Vx tp4261 a(g197 V[ tp4262 a(g47 Vi tp4263 a(g338 V+ tp4264 a(g313 V1 tp4265 a(g197 V] tp4266 a(g184 V tp4267 a(g338 V:= p4268 tp4269 a(g184 V tp4270 a(g47 Vrtemp p4271 tp4272 a(g197 V; tp4273 a(g184 V\u000a tp4274 a(g184 V p4275 tp4276 a(g47 Vlastflip p4277 tp4278 a(g184 V tp4279 a(g338 V:= p4280 tp4281 a(g184 V tp4282 a(g47 Vi tp4283 a(g197 V; tp4284 a(g184 V\u000a tp4285 a(g184 V p4286 tp4287 a(g7 VEND p4288 tp4289 a(g197 V; tp4290 a(g184 V\u000a tp4291 a(g184 V p4292 tp4293 a(g47 Vi tp4294 a(g184 V tp4295 a(g338 V:= p4296 tp4297 a(g184 V tp4298 a(g47 Vi tp4299 a(g184 V tp4300 a(g338 V- tp4301 a(g184 V tp4302 a(g313 V1 tp4303 a(g197 V; tp4304 a(g184 V\u000a tp4305 a(g184 V p4306 tp4307 a(g7 VEND p4308 tp4309 a(g197 V; tp4310 a(g184 V\u000a\u000a p4311 tp4312 a(g184 V p4313 tp4314 a(g47 Vtop p4315 tp4316 a(g184 V tp4317 a(g338 V:= p4318 tp4319 a(g184 V tp4320 a(g47 Vlastflip p4321 tp4322 a(g184 V tp4323 a(g338 V+ tp4324 a(g184 V tp4325 a(g313 V1 tp4326 a(g197 V; tp4327 a(g184 V\u000a\u000a p4328 tp4329 a(g184 V p4330 tp4331 a(g7 VELSE p4332 tp4333 a(g184 V\u000a tp4334 a(g184 V p4335 tp4336 a(g37 V(* force a loop failure *) p4337 tp4338 a(g184 V\u000a tp4339 a(g184 V p4340 tp4341 a(g47 Vtop p4342 tp4343 a(g184 V tp4344 a(g338 V:= p4345 tp4346 a(g184 V tp4347 a(g47 Vbottom p4348 tp4349 a(g184 V tp4350 a(g338 V+ tp4351 a(g184 V tp4352 a(g313 V1 tp4353 a(g197 V; tp4354 a(g184 V\u000a tp4355 a(g184 V p4356 tp4357 a(g7 VEND p4358 tp4359 a(g197 V; tp4360 a(g184 V\u000a\u000a p4361 tp4362 a(g184 V p4363 tp4364 a(g7 VEND p4365 tp4366 a(g197 V; tp4367 a(g184 V\u000a\u000a p4368 tp4369 a(g184 V p4370 tp4371 a(g7 VEND p4372 tp4373 a(g184 V tp4374 a(g47 VRealBSort p4375 tp4376 a(g197 V; tp4377 a(g184 V\u000a\u000a\u000a p4378 tp4379 a(g184 V p4380 tp4381 a(g37 V(* ----------------------------------------------------- *) p4382 tp4383 a(g184 V\u000a tp4384 a(g184 V p4385 tp4386 a(g7 VPROCEDURE p4387 tp4388 a(g184 V tp4389 a(g47 VTopoSort p4390 tp4391 a(g197 V( tp4392 a(g184 V tp4393 a(g47 Vx tp4394 a(g197 V, tp4395 a(g184 V tp4396 a(g47 Vy tp4397 a(g184 V tp4398 a(g197 V: tp4399 a(g7 VARRAY p4400 tp4401 a(g184 V tp4402 a(g7 VOF p4403 tp4404 a(g184 V tp4405 a(g16 VCARDINAL p4406 tp4407 a(g197 V; tp4408 a(g184 V tp4409 a(g47 Vn_pairs p4410 tp4411 a(g184 V tp4412 a(g197 V: tp4413 a(g16 VCARDINAL p4414 tp4415 a(g197 V; tp4416 a(g184 V\u000a tp4417 a(g184 V p4418 tp4419 a(g7 VVAR p4420 tp4421 a(g184 V tp4422 a(g47 Vsolution p4423 tp4424 a(g184 V tp4425 a(g197 V: tp4426 a(g7 VARRAY p4427 tp4428 a(g184 V tp4429 a(g7 VOF p4430 tp4431 a(g184 V tp4432 a(g16 VCARDINAL p4433 tp4434 a(g197 V; tp4435 a(g184 V tp4436 a(g7 VVAR p4437 tp4438 a(g184 V tp4439 a(g47 Vn_solution p4440 tp4441 a(g184 V tp4442 a(g197 V: tp4443 a(g16 VCARDINAL p4444 tp4445 a(g197 V; tp4446 a(g184 V\u000a tp4447 a(g184 V p4448 tp4449 a(g7 VVAR p4450 tp4451 a(g184 V tp4452 a(g47 Verror p4453 tp4454 a(g197 V, tp4455 a(g184 V tp4456 a(g47 Vsorted p4457 tp4458 a(g184 V tp4459 a(g197 V: tp4460 a(g16 VBOOLEAN p4461 tp4462 a(g184 V tp4463 a(g197 V) tp4464 a(g197 V; tp4465 a(g184 V\u000a tp4466 a(g184 V p4467 tp4468 a(g37 V(*\u000a This procedure needs some garbage collection added, i've tried but\u000a will little success. J. Andrea, Dec.18/91\u000a *) p4469 tp4470 a(g184 V\u000a\u000a p4471 tp4472 a(g184 V p4473 tp4474 a(g7 VTYPE p4475 tp4476 a(g184 V\u000a tp4477 a(g184 V p4478 tp4479 a(g47 VLPtr p4480 tp4481 a(g184 V tp4482 a(g338 V= tp4483 a(g184 V tp4484 a(g7 VPOINTER p4485 tp4486 a(g184 V tp4487 a(g7 VTO p4488 tp4489 a(g184 V tp4490 a(g47 VLeader p4491 tp4492 a(g197 V; tp4493 a(g184 V\u000a tp4494 a(g184 V p4495 tp4496 a(g47 VTPtr p4497 tp4498 a(g184 V tp4499 a(g338 V= tp4500 a(g184 V tp4501 a(g7 VPOINTER p4502 tp4503 a(g184 V tp4504 a(g7 VTO p4505 tp4506 a(g184 V tp4507 a(g47 VTrailer p4508 tp4509 a(g197 V; tp4510 a(g184 V\u000a\u000a p4511 tp4512 a(g184 V p4513 tp4514 a(g47 VLeader p4515 tp4516 a(g184 V tp4517 a(g338 V= tp4518 a(g184 V tp4519 a(g7 VRECORD p4520 tp4521 a(g184 V\u000a tp4522 a(g184 V p4523 tp4524 a(g47 Vkey p4525 tp4526 a(g184 V p4527 tp4528 a(g197 V: tp4529 a(g16 VCARDINAL p4530 tp4531 a(g197 V; tp4532 a(g184 V\u000a tp4533 a(g184 V p4534 tp4535 a(g47 Vcount p4536 tp4537 a(g184 V tp4538 a(g197 V: tp4539 a(g16 VINTEGER p4540 tp4541 a(g197 V; tp4542 a(g184 V\u000a tp4543 a(g184 V p4544 tp4545 a(g47 Vtrail p4546 tp4547 a(g184 V tp4548 a(g197 V: tp4549 a(g47 VTPtr p4550 tp4551 a(g197 V; tp4552 a(g184 V\u000a tp4553 a(g184 V p4554 tp4555 a(g47 Vnext p4556 tp4557 a(g184 V p4558 tp4559 a(g197 V: tp4560 a(g47 VLPtr p4561 tp4562 a(g197 V; tp4563 a(g184 V\u000a tp4564 a(g184 V p4565 tp4566 a(g7 VEND p4567 tp4568 a(g197 V; tp4569 a(g184 V\u000a\u000a p4570 tp4571 a(g184 V p4572 tp4573 a(g47 VTrailer p4574 tp4575 a(g184 V tp4576 a(g338 V= tp4577 a(g184 V tp4578 a(g7 VRECORD p4579 tp4580 a(g184 V\u000a tp4581 a(g184 V p4582 tp4583 a(g47 Vid p4584 tp4585 a(g184 V p4586 tp4587 a(g197 V: tp4588 a(g47 VLPtr p4589 tp4590 a(g197 V; tp4591 a(g184 V\u000a tp4592 a(g184 V p4593 tp4594 a(g47 Vnext p4595 tp4596 a(g184 V tp4597 a(g197 V: tp4598 a(g47 VTPtr p4599 tp4600 a(g197 V; tp4601 a(g184 V\u000a tp4602 a(g184 V p4603 tp4604 a(g7 VEND p4605 tp4606 a(g197 V; tp4607 a(g184 V\u000a\u000a p4608 tp4609 a(g184 V p4610 tp4611 a(g7 VVAR p4612 tp4613 a(g184 V\u000a tp4614 a(g184 V p4615 tp4616 a(g47 Vp tp4617 a(g197 V, tp4618 a(g184 V tp4619 a(g47 Vq tp4620 a(g197 V, tp4621 a(g184 V tp4622 a(g47 Vhead p4623 tp4624 a(g197 V, tp4625 a(g184 V tp4626 a(g47 Vtail p4627 tp4628 a(g184 V tp4629 a(g197 V: tp4630 a(g47 VLPtr p4631 tp4632 a(g197 V; tp4633 a(g184 V\u000a tp4634 a(g184 V p4635 tp4636 a(g47 Vt tp4637 a(g184 V p4638 tp4639 a(g197 V: tp4640 a(g47 VTPtr p4641 tp4642 a(g197 V; tp4643 a(g184 V\u000a tp4644 a(g184 V p4645 tp4646 a(g47 Vi tp4647 a(g197 V, tp4648 a(g184 V tp4649 a(g47 Vmax_solutions p4650 tp4651 a(g184 V tp4652 a(g197 V: tp4653 a(g16 VCARDINAL p4654 tp4655 a(g197 V; tp4656 a(g184 V\u000a\u000a p4657 tp4658 a(g184 V p4659 tp4660 a(g37 V(* -------------------------------------------- *) p4661 tp4662 a(g184 V\u000a tp4663 a(g184 V p4664 tp4665 a(g7 VPROCEDURE p4666 tp4667 a(g184 V tp4668 a(g47 VFind p4669 tp4670 a(g197 V( tp4671 a(g184 V tp4672 a(g47 Vw tp4673 a(g184 V tp4674 a(g197 V: tp4675 a(g16 VCARDINAL p4676 tp4677 a(g184 V tp4678 a(g197 V) tp4679 a(g184 V tp4680 a(g197 V: tp4681 a(g47 VLPtr p4682 tp4683 a(g197 V; tp4684 a(g184 V\u000a tp4685 a(g184 V p4686 tp4687 a(g7 VVAR p4688 tp4689 a(g184 V tp4690 a(g47 Vh tp4691 a(g184 V tp4692 a(g197 V: tp4693 a(g47 VLPtr p4694 tp4695 a(g197 V; tp4696 a(g184 V\u000a tp4697 a(g184 V p4698 tp4699 a(g7 VBEGIN p4700 tp4701 a(g184 V\u000a tp4702 a(g184 V p4703 tp4704 a(g47 Vh tp4705 a(g184 V tp4706 a(g338 V:= p4707 tp4708 a(g184 V tp4709 a(g47 Vhead p4710 tp4711 a(g197 V; tp4712 a(g184 V p4713 tp4714 a(g47 Vtail p4715 tp4716 a(g338 V^ tp4717 a(g197 V. tp4718 a(g47 Vkey p4719 tp4720 a(g184 V tp4721 a(g338 V:= p4722 tp4723 a(g184 V tp4724 a(g47 Vw tp4725 a(g197 V; tp4726 a(g184 V p4727 tp4728 a(g37 V(* sentinel *) p4729 tp4730 a(g184 V\u000a tp4731 a(g184 V p4732 tp4733 a(g7 VWHILE p4734 tp4735 a(g184 V tp4736 a(g47 Vh tp4737 a(g338 V^ tp4738 a(g197 V. tp4739 a(g47 Vkey p4740 tp4741 a(g184 V tp4742 a(g338 V# tp4743 a(g184 V tp4744 a(g47 Vw tp4745 a(g184 V tp4746 a(g7 VDO p4747 tp4748 a(g184 V\u000a tp4749 a(g184 V p4750 tp4751 a(g47 Vh tp4752 a(g184 V tp4753 a(g338 V:= p4754 tp4755 a(g184 V tp4756 a(g47 Vh tp4757 a(g338 V^ tp4758 a(g197 V. tp4759 a(g47 Vnext p4760 tp4761 a(g197 V; tp4762 a(g184 V\u000a tp4763 a(g184 V p4764 tp4765 a(g7 VEND p4766 tp4767 a(g197 V; tp4768 a(g184 V\u000a tp4769 a(g184 V p4770 tp4771 a(g7 VIF p4772 tp4773 a(g184 V tp4774 a(g47 Vh tp4775 a(g184 V tp4776 a(g338 V= tp4777 a(g184 V tp4778 a(g47 Vtail p4779 tp4780 a(g184 V tp4781 a(g7 VTHEN p4782 tp4783 a(g184 V\u000a tp4784 a(g184 V p4785 tp4786 a(g16 VNEW p4787 tp4788 a(g197 V( tp4789 a(g184 V tp4790 a(g47 Vtail p4791 tp4792 a(g184 V tp4793 a(g197 V) tp4794 a(g197 V; tp4795 a(g184 V\u000a tp4796 a(g184 V p4797 tp4798 a(g47 Vn tp4799 a(g184 V tp4800 a(g338 V:= p4801 tp4802 a(g184 V tp4803 a(g47 Vn tp4804 a(g184 V tp4805 a(g338 V+ tp4806 a(g184 V tp4807 a(g313 V1 tp4808 a(g197 V; tp4809 a(g184 V\u000a tp4810 a(g184 V p4811 tp4812 a(g47 Vh tp4813 a(g338 V^ tp4814 a(g197 V. tp4815 a(g47 Vcount p4816 tp4817 a(g184 V tp4818 a(g338 V:= p4819 tp4820 a(g184 V tp4821 a(g313 V0 tp4822 a(g197 V; tp4823 a(g184 V\u000a tp4824 a(g184 V p4825 tp4826 a(g47 Vh tp4827 a(g338 V^ tp4828 a(g197 V. tp4829 a(g47 Vtrail p4830 tp4831 a(g184 V tp4832 a(g338 V:= p4833 tp4834 a(g184 V tp4835 a(g16 VNIL p4836 tp4837 a(g197 V; tp4838 a(g184 V\u000a tp4839 a(g184 V p4840 tp4841 a(g47 Vh tp4842 a(g338 V^ tp4843 a(g197 V. tp4844 a(g47 Vnext p4845 tp4846 a(g184 V p4847 tp4848 a(g338 V:= p4849 tp4850 a(g184 V tp4851 a(g47 Vtail p4852 tp4853 a(g197 V; tp4854 a(g184 V\u000a tp4855 a(g184 V p4856 tp4857 a(g7 VEND p4858 tp4859 a(g197 V; tp4860 a(g184 V\u000a tp4861 a(g184 V p4862 tp4863 a(g7 VRETURN p4864 tp4865 a(g184 V tp4866 a(g47 Vh tp4867 a(g197 V; tp4868 a(g184 V\u000a tp4869 a(g184 V p4870 tp4871 a(g7 VEND p4872 tp4873 a(g184 V tp4874 a(g47 VFind p4875 tp4876 a(g197 V; tp4877 a(g184 V\u000a\u000a p4878 tp4879 a(g184 V p4880 tp4881 a(g7 VBEGIN p4882 tp4883 a(g184 V\u000a\u000a p4884 tp4885 a(g184 V p4886 tp4887 a(g47 Verror p4888 tp4889 a(g184 V p4890 tp4891 a(g338 V:= p4892 tp4893 a(g184 V tp4894 a(g16 VFALSE p4895 tp4896 a(g197 V; tp4897 a(g184 V\u000a tp4898 a(g184 V p4899 tp4900 a(g47 Vn_solution p4901 tp4902 a(g184 V tp4903 a(g338 V:= p4904 tp4905 a(g184 V tp4906 a(g313 V0 tp4907 a(g197 V; tp4908 a(g184 V\u000a\u000a p4909 tp4910 a(g184 V p4911 tp4912 a(g7 VIF p4913 tp4914 a(g184 V tp4915 a(g47 Vn_pairs p4916 tp4917 a(g184 V tp4918 a(g338 V< tp4919 a(g184 V tp4920 a(g313 V2 tp4921 a(g184 V tp4922 a(g7 VTHEN p4923 tp4924 a(g184 V\u000a tp4925 a(g184 V p4926 tp4927 a(g47 Verror p4928 tp4929 a(g184 V tp4930 a(g338 V:= p4931 tp4932 a(g184 V tp4933 a(g16 VTRUE p4934 tp4935 a(g197 V; tp4936 a(g184 V\u000a tp4937 a(g184 V p4938 tp4939 a(g7 VELSE p4940 tp4941 a(g184 V\u000a\u000a p4942 tp4943 a(g184 V p4944 tp4945 a(g47 Vmax_solutions p4946 tp4947 a(g184 V tp4948 a(g338 V:= p4949 tp4950 a(g184 V tp4951 a(g16 VHIGH p4952 tp4953 a(g197 V( tp4954 a(g184 V tp4955 a(g47 Vsolution p4956 tp4957 a(g184 V tp4958 a(g197 V) tp4959 a(g184 V tp4960 a(g338 V+ tp4961 a(g184 V tp4962 a(g313 V1 tp4963 a(g197 V; tp4964 a(g184 V\u000a\u000a p4965 tp4966 a(g184 V p4967 tp4968 a(g16 VNEW p4969 tp4970 a(g197 V( tp4971 a(g184 V tp4972 a(g47 Vhead p4973 tp4974 a(g184 V tp4975 a(g197 V) tp4976 a(g197 V; tp4977 a(g184 V p4978 tp4979 a(g47 Vtail p4980 tp4981 a(g184 V tp4982 a(g338 V:= p4983 tp4984 a(g184 V tp4985 a(g47 Vhead p4986 tp4987 a(g197 V; tp4988 a(g184 V p4989 tp4990 a(g47 Vn tp4991 a(g184 V tp4992 a(g338 V:= p4993 tp4994 a(g184 V tp4995 a(g313 V0 tp4996 a(g197 V; tp4997 a(g184 V\u000a\u000a p4998 tp4999 a(g184 V p5000 tp5001 a(g37 V(* add all of the given pairs *) p5002 tp5003 a(g184 V\u000a\u000a p5004 tp5005 a(g184 V p5006 tp5007 a(g7 VFOR p5008 tp5009 a(g184 V tp5010 a(g47 Vi tp5011 a(g184 V tp5012 a(g338 V:= p5013 tp5014 a(g184 V tp5015 a(g313 V0 tp5016 a(g184 V tp5017 a(g7 VTO p5018 tp5019 a(g184 V tp5020 a(g47 Vn_pairs p5021 tp5022 a(g184 V tp5023 a(g338 V- tp5024 a(g184 V tp5025 a(g313 V1 tp5026 a(g184 V tp5027 a(g7 VDO p5028 tp5029 a(g184 V\u000a tp5030 a(g184 V p5031 tp5032 a(g47 Vp tp5033 a(g184 V tp5034 a(g338 V:= p5035 tp5036 a(g184 V tp5037 a(g47 VFind p5038 tp5039 a(g197 V( tp5040 a(g184 V tp5041 a(g47 Vx tp5042 a(g197 V[ tp5043 a(g47 Vi tp5044 a(g197 V] tp5045 a(g184 V tp5046 a(g197 V) tp5047 a(g197 V; tp5048 a(g184 V p5049 tp5050 a(g47 Vq tp5051 a(g184 V tp5052 a(g338 V:= p5053 tp5054 a(g184 V tp5055 a(g47 VFind p5056 tp5057 a(g197 V( tp5058 a(g184 V tp5059 a(g47 Vy tp5060 a(g197 V[ tp5061 a(g47 Vi tp5062 a(g197 V] tp5063 a(g184 V tp5064 a(g197 V) tp5065 a(g197 V; tp5066 a(g184 V\u000a tp5067 a(g184 V p5068 tp5069 a(g16 VNEW p5070 tp5071 a(g197 V( tp5072 a(g47 Vt tp5073 a(g197 V) tp5074 a(g197 V; tp5075 a(g184 V\u000a tp5076 a(g184 V p5077 tp5078 a(g47 Vt tp5079 a(g338 V^ tp5080 a(g197 V. tp5081 a(g47 Vid p5082 tp5083 a(g184 V p5084 tp5085 a(g338 V:= p5086 tp5087 a(g184 V tp5088 a(g47 Vq tp5089 a(g197 V; tp5090 a(g184 V\u000a tp5091 a(g184 V p5092 tp5093 a(g47 Vt tp5094 a(g338 V^ tp5095 a(g197 V. tp5096 a(g47 Vnext p5097 tp5098 a(g184 V p5099 tp5100 a(g338 V:= p5101 tp5102 a(g184 V tp5103 a(g47 Vp tp5104 a(g338 V^ tp5105 a(g197 V. tp5106 a(g47 Vtrail p5107 tp5108 a(g197 V; tp5109 a(g184 V\u000a tp5110 a(g184 V p5111 tp5112 a(g47 Vp tp5113 a(g338 V^ tp5114 a(g197 V. tp5115 a(g47 Vtrail p5116 tp5117 a(g184 V tp5118 a(g338 V:= p5119 tp5120 a(g184 V tp5121 a(g47 Vt tp5122 a(g197 V; tp5123 a(g184 V\u000a tp5124 a(g184 V p5125 tp5126 a(g47 Vq tp5127 a(g338 V^ tp5128 a(g197 V. tp5129 a(g47 Vcount p5130 tp5131 a(g184 V tp5132 a(g338 V:= p5133 tp5134 a(g184 V tp5135 a(g47 Vq tp5136 a(g338 V^ tp5137 a(g197 V. tp5138 a(g47 Vcount p5139 tp5140 a(g184 V tp5141 a(g338 V+ tp5142 a(g184 V tp5143 a(g313 V1 tp5144 a(g197 V; tp5145 a(g184 V\u000a tp5146 a(g184 V p5147 tp5148 a(g7 VEND p5149 tp5150 a(g197 V; tp5151 a(g184 V\u000a\u000a p5152 tp5153 a(g184 V p5154 tp5155 a(g37 V(* search for leaders without predecessors *) p5156 tp5157 a(g184 V\u000a\u000a p5158 tp5159 a(g184 V p5160 tp5161 a(g47 Vp tp5162 a(g184 V tp5163 a(g338 V:= p5164 tp5165 a(g184 V tp5166 a(g47 Vhead p5167 tp5168 a(g197 V; tp5169 a(g184 V p5170 tp5171 a(g47 Vhead p5172 tp5173 a(g184 V tp5174 a(g338 V:= p5175 tp5176 a(g184 V tp5177 a(g16 VNIL p5178 tp5179 a(g197 V; tp5180 a(g184 V\u000a tp5181 a(g184 V p5182 tp5183 a(g7 VWHILE p5184 tp5185 a(g184 V tp5186 a(g47 Vp tp5187 a(g184 V tp5188 a(g338 V# tp5189 a(g184 V tp5190 a(g47 Vtail p5191 tp5192 a(g184 V tp5193 a(g7 VDO p5194 tp5195 a(g184 V\u000a tp5196 a(g184 V p5197 tp5198 a(g47 Vq tp5199 a(g184 V tp5200 a(g338 V:= p5201 tp5202 a(g184 V tp5203 a(g47 Vp tp5204 a(g197 V; tp5205 a(g184 V p5206 tp5207 a(g47 Vp tp5208 a(g184 V tp5209 a(g338 V:= p5210 tp5211 a(g184 V tp5212 a(g47 Vq tp5213 a(g338 V^ tp5214 a(g197 V. tp5215 a(g47 Vnext p5216 tp5217 a(g197 V; tp5218 a(g184 V\u000a tp5219 a(g184 V p5220 tp5221 a(g7 VIF p5222 tp5223 a(g184 V tp5224 a(g47 Vq tp5225 a(g338 V^ tp5226 a(g197 V. tp5227 a(g47 Vcount p5228 tp5229 a(g184 V tp5230 a(g338 V= tp5231 a(g184 V tp5232 a(g313 V0 tp5233 a(g184 V tp5234 a(g7 VTHEN p5235 tp5236 a(g184 V\u000a tp5237 a(g184 V p5238 tp5239 a(g37 V(* insert q^ in new chain *) p5240 tp5241 a(g184 V\u000a tp5242 a(g184 V p5243 tp5244 a(g47 Vq tp5245 a(g338 V^ tp5246 a(g197 V. tp5247 a(g47 Vnext p5248 tp5249 a(g184 V tp5250 a(g338 V:= p5251 tp5252 a(g184 V tp5253 a(g47 Vhead p5254 tp5255 a(g197 V; tp5256 a(g184 V p5257 tp5258 a(g47 Vhead p5259 tp5260 a(g184 V tp5261 a(g338 V:= p5262 tp5263 a(g184 V tp5264 a(g47 Vq tp5265 a(g197 V; tp5266 a(g184 V\u000a tp5267 a(g184 V p5268 tp5269 a(g7 VEND p5270 tp5271 a(g197 V; tp5272 a(g184 V\u000a tp5273 a(g184 V p5274 tp5275 a(g7 VEND p5276 tp5277 a(g197 V; tp5278 a(g184 V\u000a\u000a p5279 tp5280 a(g184 V p5281 tp5282 a(g37 V(* output phase *) p5283 tp5284 a(g184 V\u000a\u000a p5285 tp5286 a(g184 V p5287 tp5288 a(g47 Vq tp5289 a(g184 V tp5290 a(g338 V:= p5291 tp5292 a(g184 V tp5293 a(g47 Vhead p5294 tp5295 a(g197 V; tp5296 a(g184 V\u000a tp5297 a(g184 V p5298 tp5299 a(g7 VWHILE p5300 tp5301 a(g184 V tp5302 a(g197 V( tp5303 a(g184 V tp5304 a(g7 VNOT p5305 tp5306 a(g184 V tp5307 a(g47 Verror p5308 tp5309 a(g184 V tp5310 a(g197 V) tp5311 a(g184 V tp5312 a(g338 V& tp5313 a(g184 V tp5314 a(g197 V( tp5315 a(g184 V tp5316 a(g47 Vq tp5317 a(g184 V tp5318 a(g338 V# tp5319 a(g184 V tp5320 a(g16 VNIL p5321 tp5322 a(g184 V tp5323 a(g197 V) tp5324 a(g184 V tp5325 a(g7 VDO p5326 tp5327 a(g184 V\u000a tp5328 a(g184 V p5329 tp5330 a(g47 Vn_solution p5331 tp5332 a(g184 V tp5333 a(g338 V:= p5334 tp5335 a(g184 V tp5336 a(g47 Vn_solution p5337 tp5338 a(g184 V tp5339 a(g338 V+ tp5340 a(g184 V tp5341 a(g313 V1 tp5342 a(g197 V; tp5343 a(g184 V\u000a tp5344 a(g184 V p5345 tp5346 a(g7 VIF p5347 tp5348 a(g184 V tp5349 a(g47 Vn_solution p5350 tp5351 a(g184 V tp5352 a(g338 V> tp5353 a(g184 V tp5354 a(g47 Vmax_solutions p5355 tp5356 a(g184 V tp5357 a(g7 VTHEN p5358 tp5359 a(g184 V\u000a tp5360 a(g184 V p5361 tp5362 a(g47 Verror p5363 tp5364 a(g184 V tp5365 a(g338 V:= p5366 tp5367 a(g184 V tp5368 a(g16 VTRUE p5369 tp5370 a(g197 V; tp5371 a(g184 V\u000a tp5372 a(g184 V p5373 tp5374 a(g7 VELSE p5375 tp5376 a(g184 V\u000a\u000a p5377 tp5378 a(g184 V p5379 tp5380 a(g47 Vsolution p5381 tp5382 a(g197 V[ tp5383 a(g47 Vn_solution p5384 tp5385 a(g338 V- tp5386 a(g313 V1 tp5387 a(g197 V] tp5388 a(g184 V tp5389 a(g338 V:= p5390 tp5391 a(g184 V tp5392 a(g47 Vq tp5393 a(g338 V^ tp5394 a(g197 V. tp5395 a(g47 Vkey p5396 tp5397 a(g197 V; tp5398 a(g184 V\u000a tp5399 a(g184 V p5400 tp5401 a(g47 Vn tp5402 a(g184 V tp5403 a(g338 V:= p5404 tp5405 a(g184 V tp5406 a(g47 Vn tp5407 a(g184 V tp5408 a(g338 V- tp5409 a(g184 V tp5410 a(g313 V1 tp5411 a(g197 V; tp5412 a(g184 V\u000a tp5413 a(g184 V p5414 tp5415 a(g47 Vt tp5416 a(g184 V tp5417 a(g338 V:= p5418 tp5419 a(g184 V tp5420 a(g47 Vq tp5421 a(g338 V^ tp5422 a(g197 V. tp5423 a(g47 Vtrail p5424 tp5425 a(g197 V; tp5426 a(g184 V p5427 tp5428 a(g47 Vq tp5429 a(g184 V tp5430 a(g338 V:= p5431 tp5432 a(g184 V tp5433 a(g47 Vq tp5434 a(g338 V^ tp5435 a(g197 V. tp5436 a(g47 Vnext p5437 tp5438 a(g197 V; tp5439 a(g184 V\u000a tp5440 a(g184 V p5441 tp5442 a(g7 VWHILE p5443 tp5444 a(g184 V tp5445 a(g47 Vt tp5446 a(g184 V tp5447 a(g338 V# tp5448 a(g184 V tp5449 a(g16 VNIL p5450 tp5451 a(g184 V tp5452 a(g7 VDO p5453 tp5454 a(g184 V\u000a tp5455 a(g184 V p5456 tp5457 a(g47 Vp tp5458 a(g184 V tp5459 a(g338 V:= p5460 tp5461 a(g184 V tp5462 a(g47 Vt tp5463 a(g338 V^ tp5464 a(g197 V. tp5465 a(g47 Vid p5466 tp5467 a(g197 V; tp5468 a(g184 V p5469 tp5470 a(g47 Vp tp5471 a(g338 V^ tp5472 a(g197 V. tp5473 a(g47 Vcount p5474 tp5475 a(g184 V tp5476 a(g338 V:= p5477 tp5478 a(g184 V tp5479 a(g47 Vp tp5480 a(g338 V^ tp5481 a(g197 V. tp5482 a(g47 Vcount p5483 tp5484 a(g184 V tp5485 a(g338 V- tp5486 a(g184 V tp5487 a(g313 V1 tp5488 a(g197 V; tp5489 a(g184 V\u000a tp5490 a(g184 V p5491 tp5492 a(g7 VIF p5493 tp5494 a(g184 V tp5495 a(g47 Vp tp5496 a(g338 V^ tp5497 a(g197 V. tp5498 a(g47 Vcount p5499 tp5500 a(g184 V tp5501 a(g338 V= tp5502 a(g184 V tp5503 a(g313 V0 tp5504 a(g184 V tp5505 a(g7 VTHEN p5506 tp5507 a(g184 V\u000a tp5508 a(g184 V p5509 tp5510 a(g37 V(* insert p^ in leader list *) p5511 tp5512 a(g184 V\u000a tp5513 a(g184 V p5514 tp5515 a(g47 Vp tp5516 a(g338 V^ tp5517 a(g197 V. tp5518 a(g47 Vnext p5519 tp5520 a(g184 V tp5521 a(g338 V:= p5522 tp5523 a(g184 V tp5524 a(g47 Vq tp5525 a(g197 V; tp5526 a(g184 V p5527 tp5528 a(g47 Vq tp5529 a(g184 V tp5530 a(g338 V:= p5531 tp5532 a(g184 V tp5533 a(g47 Vp tp5534 a(g197 V; tp5535 a(g184 V\u000a tp5536 a(g184 V p5537 tp5538 a(g7 VEND p5539 tp5540 a(g197 V; tp5541 a(g184 V\u000a tp5542 a(g184 V p5543 tp5544 a(g47 Vt tp5545 a(g184 V tp5546 a(g338 V:= p5547 tp5548 a(g184 V tp5549 a(g47 Vt tp5550 a(g338 V^ tp5551 a(g197 V. tp5552 a(g47 Vnext p5553 tp5554 a(g197 V; tp5555 a(g184 V\u000a tp5556 a(g184 V p5557 tp5558 a(g7 VEND p5559 tp5560 a(g197 V; tp5561 a(g184 V\u000a tp5562 a(g184 V p5563 tp5564 a(g7 VEND p5565 tp5566 a(g197 V; tp5567 a(g184 V\u000a tp5568 a(g184 V p5569 tp5570 a(g7 VEND p5571 tp5572 a(g197 V; tp5573 a(g184 V\u000a\u000a p5574 tp5575 a(g184 V p5576 tp5577 a(g7 VIF p5578 tp5579 a(g184 V tp5580 a(g47 Vn tp5581 a(g184 V tp5582 a(g338 V# tp5583 a(g184 V tp5584 a(g313 V0 tp5585 a(g184 V tp5586 a(g7 VTHEN p5587 tp5588 a(g184 V\u000a tp5589 a(g184 V p5590 tp5591 a(g47 Vsorted p5592 tp5593 a(g184 V tp5594 a(g338 V:= p5595 tp5596 a(g184 V tp5597 a(g16 VFALSE p5598 tp5599 a(g197 V; tp5600 a(g184 V\u000a tp5601 a(g184 V p5602 tp5603 a(g7 VELSE p5604 tp5605 a(g184 V\u000a tp5606 a(g184 V p5607 tp5608 a(g47 Vsorted p5609 tp5610 a(g184 V tp5611 a(g338 V:= p5612 tp5613 a(g184 V tp5614 a(g16 VTRUE p5615 tp5616 a(g197 V; tp5617 a(g184 V\u000a tp5618 a(g184 V p5619 tp5620 a(g7 VEND p5621 tp5622 a(g197 V; tp5623 a(g184 V\u000a\u000a p5624 tp5625 a(g184 V p5626 tp5627 a(g7 VEND p5628 tp5629 a(g197 V; tp5630 a(g184 V\u000a\u000a p5631 tp5632 a(g184 V p5633 tp5634 a(g7 VEND p5635 tp5636 a(g184 V tp5637 a(g47 VTopoSort p5638 tp5639 a(g197 V; tp5640 a(g184 V\u000a\u000a p5641 tp5642 a(g7 VBEGIN p5643 tp5644 a(g184 V\u000a tp5645 a(g7 VEND p5646 tp5647 a(g184 V tp5648 a(g47 VSorting p5649 tp5650 a(g197 V. tp5651 a(g184 V\u000a tp5652 a.