blob: 8ac08882c15ae83f55b502a8373202d0f1829738 [file] [log] [blame]
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/**
* @assertion A type T is more specific than a type S, written T << S, if one
* of the following conditions is met:
* • T is S.
* • T is ⊥
* • S is dynamic.
* • S is a direct supertype of T.
* • T is a type parameter and S is the upper bound of T.
* • T is a type parameter and S is Object.
* • T is of the form I<T1, ..., Tn > and S is of the form I <S1, ..., Sn>
* and Ti << Si 1 <= i <= n.
* • T and S are both function types, and T << S under the rules of section
* (Types/Function Types).
* • T is a function type and S is Function.
* • T << U and U << S.
* << is a partial order on types. T is a subtype of S, written T <: S, iff
* [⊥/Dynamic]T << S.
* . . .
* An interface type T may be assigned to a type S, written T <=> S, if either
* T <: S or S <: T.
* @description Stress transitivity check: creates hierarchy of classes
* "C1026 <: C1025 <: ... <: C1 <: C and checks that generic parameterized
* with C1026 is a subtype of the same generic parameterized with C.
* @author iefremov
*/
import "../../../Utils/expect.dart";
class C {}
class G<T, S, U>{}
main() {
Expect.isTrue(new G<C1026, C1026, C1026>() is G<C, C, C>);
}
class C1 extends C {}
class C2 extends C1 {}
class C3 extends C2 {}
class C4 extends C3 {}
class C5 extends C4 {}
class C6 extends C5 {}
class C7 extends C6 {}
class C8 extends C7 {}
class C9 extends C8 {}
class C10 extends C9 {}
class C11 extends C10 {}
class C12 extends C11 {}
class C13 extends C12 {}
class C14 extends C13 {}
class C15 extends C14 {}
class C16 extends C15 {}
class C17 extends C16 {}
class C18 extends C17 {}
class C19 extends C18 {}
class C20 extends C19 {}
class C21 extends C20 {}
class C22 extends C21 {}
class C23 extends C22 {}
class C24 extends C23 {}
class C25 extends C24 {}
class C26 extends C25 {}
class C27 extends C26 {}
class C28 extends C27 {}
class C29 extends C28 {}
class C30 extends C29 {}
class C31 extends C30 {}
class C32 extends C31 {}
class C33 extends C32 {}
class C34 extends C33 {}
class C35 extends C34 {}
class C36 extends C35 {}
class C37 extends C36 {}
class C38 extends C37 {}
class C39 extends C38 {}
class C40 extends C39 {}
class C41 extends C40 {}
class C42 extends C41 {}
class C43 extends C42 {}
class C44 extends C43 {}
class C45 extends C44 {}
class C46 extends C45 {}
class C47 extends C46 {}
class C48 extends C47 {}
class C49 extends C48 {}
class C50 extends C49 {}
class C51 extends C50 {}
class C52 extends C51 {}
class C53 extends C52 {}
class C54 extends C53 {}
class C55 extends C54 {}
class C56 extends C55 {}
class C57 extends C56 {}
class C58 extends C57 {}
class C59 extends C58 {}
class C60 extends C59 {}
class C61 extends C60 {}
class C62 extends C61 {}
class C63 extends C62 {}
class C64 extends C63 {}
class C65 extends C64 {}
class C66 extends C65 {}
class C67 extends C66 {}
class C68 extends C67 {}
class C69 extends C68 {}
class C70 extends C69 {}
class C71 extends C70 {}
class C72 extends C71 {}
class C73 extends C72 {}
class C74 extends C73 {}
class C75 extends C74 {}
class C76 extends C75 {}
class C77 extends C76 {}
class C78 extends C77 {}
class C79 extends C78 {}
class C80 extends C79 {}
class C81 extends C80 {}
class C82 extends C81 {}
class C83 extends C82 {}
class C84 extends C83 {}
class C85 extends C84 {}
class C86 extends C85 {}
class C87 extends C86 {}
class C88 extends C87 {}
class C89 extends C88 {}
class C90 extends C89 {}
class C91 extends C90 {}
class C92 extends C91 {}
class C93 extends C92 {}
class C94 extends C93 {}
class C95 extends C94 {}
class C96 extends C95 {}
class C97 extends C96 {}
class C98 extends C97 {}
class C99 extends C98 {}
class C100 extends C99 {}
class C101 extends C100 {}
class C102 extends C101 {}
class C103 extends C102 {}
class C104 extends C103 {}
class C105 extends C104 {}
class C106 extends C105 {}
class C107 extends C106 {}
class C108 extends C107 {}
class C109 extends C108 {}
class C110 extends C109 {}
class C111 extends C110 {}
class C112 extends C111 {}
class C113 extends C112 {}
class C114 extends C113 {}
class C115 extends C114 {}
class C116 extends C115 {}
class C117 extends C116 {}
class C118 extends C117 {}
class C119 extends C118 {}
class C120 extends C119 {}
class C121 extends C120 {}
class C122 extends C121 {}
class C123 extends C122 {}
class C124 extends C123 {}
class C125 extends C124 {}
class C126 extends C125 {}
class C127 extends C126 {}
class C128 extends C127 {}
class C129 extends C128 {}
class C130 extends C129 {}
class C131 extends C130 {}
class C132 extends C131 {}
class C133 extends C132 {}
class C134 extends C133 {}
class C135 extends C134 {}
class C136 extends C135 {}
class C137 extends C136 {}
class C138 extends C137 {}
class C139 extends C138 {}
class C140 extends C139 {}
class C141 extends C140 {}
class C142 extends C141 {}
class C143 extends C142 {}
class C144 extends C143 {}
class C145 extends C144 {}
class C146 extends C145 {}
class C147 extends C146 {}
class C148 extends C147 {}
class C149 extends C148 {}
class C150 extends C149 {}
class C151 extends C150 {}
class C152 extends C151 {}
class C153 extends C152 {}
class C154 extends C153 {}
class C155 extends C154 {}
class C156 extends C155 {}
class C157 extends C156 {}
class C158 extends C157 {}
class C159 extends C158 {}
class C160 extends C159 {}
class C161 extends C160 {}
class C162 extends C161 {}
class C163 extends C162 {}
class C164 extends C163 {}
class C165 extends C164 {}
class C166 extends C165 {}
class C167 extends C166 {}
class C168 extends C167 {}
class C169 extends C168 {}
class C170 extends C169 {}
class C171 extends C170 {}
class C172 extends C171 {}
class C173 extends C172 {}
class C174 extends C173 {}
class C175 extends C174 {}
class C176 extends C175 {}
class C177 extends C176 {}
class C178 extends C177 {}
class C179 extends C178 {}
class C180 extends C179 {}
class C181 extends C180 {}
class C182 extends C181 {}
class C183 extends C182 {}
class C184 extends C183 {}
class C185 extends C184 {}
class C186 extends C185 {}
class C187 extends C186 {}
class C188 extends C187 {}
class C189 extends C188 {}
class C190 extends C189 {}
class C191 extends C190 {}
class C192 extends C191 {}
class C193 extends C192 {}
class C194 extends C193 {}
class C195 extends C194 {}
class C196 extends C195 {}
class C197 extends C196 {}
class C198 extends C197 {}
class C199 extends C198 {}
class C200 extends C199 {}
class C201 extends C200 {}
class C202 extends C201 {}
class C203 extends C202 {}
class C204 extends C203 {}
class C205 extends C204 {}
class C206 extends C205 {}
class C207 extends C206 {}
class C208 extends C207 {}
class C209 extends C208 {}
class C210 extends C209 {}
class C211 extends C210 {}
class C212 extends C211 {}
class C213 extends C212 {}
class C214 extends C213 {}
class C215 extends C214 {}
class C216 extends C215 {}
class C217 extends C216 {}
class C218 extends C217 {}
class C219 extends C218 {}
class C220 extends C219 {}
class C221 extends C220 {}
class C222 extends C221 {}
class C223 extends C222 {}
class C224 extends C223 {}
class C225 extends C224 {}
class C226 extends C225 {}
class C227 extends C226 {}
class C228 extends C227 {}
class C229 extends C228 {}
class C230 extends C229 {}
class C231 extends C230 {}
class C232 extends C231 {}
class C233 extends C232 {}
class C234 extends C233 {}
class C235 extends C234 {}
class C236 extends C235 {}
class C237 extends C236 {}
class C238 extends C237 {}
class C239 extends C238 {}
class C240 extends C239 {}
class C241 extends C240 {}
class C242 extends C241 {}
class C243 extends C242 {}
class C244 extends C243 {}
class C245 extends C244 {}
class C246 extends C245 {}
class C247 extends C246 {}
class C248 extends C247 {}
class C249 extends C248 {}
class C250 extends C249 {}
class C251 extends C250 {}
class C252 extends C251 {}
class C253 extends C252 {}
class C254 extends C253 {}
class C255 extends C254 {}
class C256 extends C255 {}
class C257 extends C256 {}
class C258 extends C257 {}
class C259 extends C258 {}
class C260 extends C259 {}
class C261 extends C260 {}
class C262 extends C261 {}
class C263 extends C262 {}
class C264 extends C263 {}
class C265 extends C264 {}
class C266 extends C265 {}
class C267 extends C266 {}
class C268 extends C267 {}
class C269 extends C268 {}
class C270 extends C269 {}
class C271 extends C270 {}
class C272 extends C271 {}
class C273 extends C272 {}
class C274 extends C273 {}
class C275 extends C274 {}
class C276 extends C275 {}
class C277 extends C276 {}
class C278 extends C277 {}
class C279 extends C278 {}
class C280 extends C279 {}
class C281 extends C280 {}
class C282 extends C281 {}
class C283 extends C282 {}
class C284 extends C283 {}
class C285 extends C284 {}
class C286 extends C285 {}
class C287 extends C286 {}
class C288 extends C287 {}
class C289 extends C288 {}
class C290 extends C289 {}
class C291 extends C290 {}
class C292 extends C291 {}
class C293 extends C292 {}
class C294 extends C293 {}
class C295 extends C294 {}
class C296 extends C295 {}
class C297 extends C296 {}
class C298 extends C297 {}
class C299 extends C298 {}
class C300 extends C299 {}
class C301 extends C300 {}
class C302 extends C301 {}
class C303 extends C302 {}
class C304 extends C303 {}
class C305 extends C304 {}
class C306 extends C305 {}
class C307 extends C306 {}
class C308 extends C307 {}
class C309 extends C308 {}
class C310 extends C309 {}
class C311 extends C310 {}
class C312 extends C311 {}
class C313 extends C312 {}
class C314 extends C313 {}
class C315 extends C314 {}
class C316 extends C315 {}
class C317 extends C316 {}
class C318 extends C317 {}
class C319 extends C318 {}
class C320 extends C319 {}
class C321 extends C320 {}
class C322 extends C321 {}
class C323 extends C322 {}
class C324 extends C323 {}
class C325 extends C324 {}
class C326 extends C325 {}
class C327 extends C326 {}
class C328 extends C327 {}
class C329 extends C328 {}
class C330 extends C329 {}
class C331 extends C330 {}
class C332 extends C331 {}
class C333 extends C332 {}
class C334 extends C333 {}
class C335 extends C334 {}
class C336 extends C335 {}
class C337 extends C336 {}
class C338 extends C337 {}
class C339 extends C338 {}
class C340 extends C339 {}
class C341 extends C340 {}
class C342 extends C341 {}
class C343 extends C342 {}
class C344 extends C343 {}
class C345 extends C344 {}
class C346 extends C345 {}
class C347 extends C346 {}
class C348 extends C347 {}
class C349 extends C348 {}
class C350 extends C349 {}
class C351 extends C350 {}
class C352 extends C351 {}
class C353 extends C352 {}
class C354 extends C353 {}
class C355 extends C354 {}
class C356 extends C355 {}
class C357 extends C356 {}
class C358 extends C357 {}
class C359 extends C358 {}
class C360 extends C359 {}
class C361 extends C360 {}
class C362 extends C361 {}
class C363 extends C362 {}
class C364 extends C363 {}
class C365 extends C364 {}
class C366 extends C365 {}
class C367 extends C366 {}
class C368 extends C367 {}
class C369 extends C368 {}
class C370 extends C369 {}
class C371 extends C370 {}
class C372 extends C371 {}
class C373 extends C372 {}
class C374 extends C373 {}
class C375 extends C374 {}
class C376 extends C375 {}
class C377 extends C376 {}
class C378 extends C377 {}
class C379 extends C378 {}
class C380 extends C379 {}
class C381 extends C380 {}
class C382 extends C381 {}
class C383 extends C382 {}
class C384 extends C383 {}
class C385 extends C384 {}
class C386 extends C385 {}
class C387 extends C386 {}
class C388 extends C387 {}
class C389 extends C388 {}
class C390 extends C389 {}
class C391 extends C390 {}
class C392 extends C391 {}
class C393 extends C392 {}
class C394 extends C393 {}
class C395 extends C394 {}
class C396 extends C395 {}
class C397 extends C396 {}
class C398 extends C397 {}
class C399 extends C398 {}
class C400 extends C399 {}
class C401 extends C400 {}
class C402 extends C401 {}
class C403 extends C402 {}
class C404 extends C403 {}
class C405 extends C404 {}
class C406 extends C405 {}
class C407 extends C406 {}
class C408 extends C407 {}
class C409 extends C408 {}
class C410 extends C409 {}
class C411 extends C410 {}
class C412 extends C411 {}
class C413 extends C412 {}
class C414 extends C413 {}
class C415 extends C414 {}
class C416 extends C415 {}
class C417 extends C416 {}
class C418 extends C417 {}
class C419 extends C418 {}
class C420 extends C419 {}
class C421 extends C420 {}
class C422 extends C421 {}
class C423 extends C422 {}
class C424 extends C423 {}
class C425 extends C424 {}
class C426 extends C425 {}
class C427 extends C426 {}
class C428 extends C427 {}
class C429 extends C428 {}
class C430 extends C429 {}
class C431 extends C430 {}
class C432 extends C431 {}
class C433 extends C432 {}
class C434 extends C433 {}
class C435 extends C434 {}
class C436 extends C435 {}
class C437 extends C436 {}
class C438 extends C437 {}
class C439 extends C438 {}
class C440 extends C439 {}
class C441 extends C440 {}
class C442 extends C441 {}
class C443 extends C442 {}
class C444 extends C443 {}
class C445 extends C444 {}
class C446 extends C445 {}
class C447 extends C446 {}
class C448 extends C447 {}
class C449 extends C448 {}
class C450 extends C449 {}
class C451 extends C450 {}
class C452 extends C451 {}
class C453 extends C452 {}
class C454 extends C453 {}
class C455 extends C454 {}
class C456 extends C455 {}
class C457 extends C456 {}
class C458 extends C457 {}
class C459 extends C458 {}
class C460 extends C459 {}
class C461 extends C460 {}
class C462 extends C461 {}
class C463 extends C462 {}
class C464 extends C463 {}
class C465 extends C464 {}
class C466 extends C465 {}
class C467 extends C466 {}
class C468 extends C467 {}
class C469 extends C468 {}
class C470 extends C469 {}
class C471 extends C470 {}
class C472 extends C471 {}
class C473 extends C472 {}
class C474 extends C473 {}
class C475 extends C474 {}
class C476 extends C475 {}
class C477 extends C476 {}
class C478 extends C477 {}
class C479 extends C478 {}
class C480 extends C479 {}
class C481 extends C480 {}
class C482 extends C481 {}
class C483 extends C482 {}
class C484 extends C483 {}
class C485 extends C484 {}
class C486 extends C485 {}
class C487 extends C486 {}
class C488 extends C487 {}
class C489 extends C488 {}
class C490 extends C489 {}
class C491 extends C490 {}
class C492 extends C491 {}
class C493 extends C492 {}
class C494 extends C493 {}
class C495 extends C494 {}
class C496 extends C495 {}
class C497 extends C496 {}
class C498 extends C497 {}
class C499 extends C498 {}
class C500 extends C499 {}
class C501 extends C500 {}
class C502 extends C501 {}
class C503 extends C502 {}
class C504 extends C503 {}
class C505 extends C504 {}
class C506 extends C505 {}
class C507 extends C506 {}
class C508 extends C507 {}
class C509 extends C508 {}
class C510 extends C509 {}
class C511 extends C510 {}
class C512 extends C511 {}
class C513 extends C512 {}
class C514 extends C513 {}
class C515 extends C514 {}
class C516 extends C515 {}
class C517 extends C516 {}
class C518 extends C517 {}
class C519 extends C518 {}
class C520 extends C519 {}
class C521 extends C520 {}
class C522 extends C521 {}
class C523 extends C522 {}
class C524 extends C523 {}
class C525 extends C524 {}
class C526 extends C525 {}
class C527 extends C526 {}
class C528 extends C527 {}
class C529 extends C528 {}
class C530 extends C529 {}
class C531 extends C530 {}
class C532 extends C531 {}
class C533 extends C532 {}
class C534 extends C533 {}
class C535 extends C534 {}
class C536 extends C535 {}
class C537 extends C536 {}
class C538 extends C537 {}
class C539 extends C538 {}
class C540 extends C539 {}
class C541 extends C540 {}
class C542 extends C541 {}
class C543 extends C542 {}
class C544 extends C543 {}
class C545 extends C544 {}
class C546 extends C545 {}
class C547 extends C546 {}
class C548 extends C547 {}
class C549 extends C548 {}
class C550 extends C549 {}
class C551 extends C550 {}
class C552 extends C551 {}
class C553 extends C552 {}
class C554 extends C553 {}
class C555 extends C554 {}
class C556 extends C555 {}
class C557 extends C556 {}
class C558 extends C557 {}
class C559 extends C558 {}
class C560 extends C559 {}
class C561 extends C560 {}
class C562 extends C561 {}
class C563 extends C562 {}
class C564 extends C563 {}
class C565 extends C564 {}
class C566 extends C565 {}
class C567 extends C566 {}
class C568 extends C567 {}
class C569 extends C568 {}
class C570 extends C569 {}
class C571 extends C570 {}
class C572 extends C571 {}
class C573 extends C572 {}
class C574 extends C573 {}
class C575 extends C574 {}
class C576 extends C575 {}
class C577 extends C576 {}
class C578 extends C577 {}
class C579 extends C578 {}
class C580 extends C579 {}
class C581 extends C580 {}
class C582 extends C581 {}
class C583 extends C582 {}
class C584 extends C583 {}
class C585 extends C584 {}
class C586 extends C585 {}
class C587 extends C586 {}
class C588 extends C587 {}
class C589 extends C588 {}
class C590 extends C589 {}
class C591 extends C590 {}
class C592 extends C591 {}
class C593 extends C592 {}
class C594 extends C593 {}
class C595 extends C594 {}
class C596 extends C595 {}
class C597 extends C596 {}
class C598 extends C597 {}
class C599 extends C598 {}
class C600 extends C599 {}
class C601 extends C600 {}
class C602 extends C601 {}
class C603 extends C602 {}
class C604 extends C603 {}
class C605 extends C604 {}
class C606 extends C605 {}
class C607 extends C606 {}
class C608 extends C607 {}
class C609 extends C608 {}
class C610 extends C609 {}
class C611 extends C610 {}
class C612 extends C611 {}
class C613 extends C612 {}
class C614 extends C613 {}
class C615 extends C614 {}
class C616 extends C615 {}
class C617 extends C616 {}
class C618 extends C617 {}
class C619 extends C618 {}
class C620 extends C619 {}
class C621 extends C620 {}
class C622 extends C621 {}
class C623 extends C622 {}
class C624 extends C623 {}
class C625 extends C624 {}
class C626 extends C625 {}
class C627 extends C626 {}
class C628 extends C627 {}
class C629 extends C628 {}
class C630 extends C629 {}
class C631 extends C630 {}
class C632 extends C631 {}
class C633 extends C632 {}
class C634 extends C633 {}
class C635 extends C634 {}
class C636 extends C635 {}
class C637 extends C636 {}
class C638 extends C637 {}
class C639 extends C638 {}
class C640 extends C639 {}
class C641 extends C640 {}
class C642 extends C641 {}
class C643 extends C642 {}
class C644 extends C643 {}
class C645 extends C644 {}
class C646 extends C645 {}
class C647 extends C646 {}
class C648 extends C647 {}
class C649 extends C648 {}
class C650 extends C649 {}
class C651 extends C650 {}
class C652 extends C651 {}
class C653 extends C652 {}
class C654 extends C653 {}
class C655 extends C654 {}
class C656 extends C655 {}
class C657 extends C656 {}
class C658 extends C657 {}
class C659 extends C658 {}
class C660 extends C659 {}
class C661 extends C660 {}
class C662 extends C661 {}
class C663 extends C662 {}
class C664 extends C663 {}
class C665 extends C664 {}
class C666 extends C665 {}
class C667 extends C666 {}
class C668 extends C667 {}
class C669 extends C668 {}
class C670 extends C669 {}
class C671 extends C670 {}
class C672 extends C671 {}
class C673 extends C672 {}
class C674 extends C673 {}
class C675 extends C674 {}
class C676 extends C675 {}
class C677 extends C676 {}
class C678 extends C677 {}
class C679 extends C678 {}
class C680 extends C679 {}
class C681 extends C680 {}
class C682 extends C681 {}
class C683 extends C682 {}
class C684 extends C683 {}
class C685 extends C684 {}
class C686 extends C685 {}
class C687 extends C686 {}
class C688 extends C687 {}
class C689 extends C688 {}
class C690 extends C689 {}
class C691 extends C690 {}
class C692 extends C691 {}
class C693 extends C692 {}
class C694 extends C693 {}
class C695 extends C694 {}
class C696 extends C695 {}
class C697 extends C696 {}
class C698 extends C697 {}
class C699 extends C698 {}
class C700 extends C699 {}
class C701 extends C700 {}
class C702 extends C701 {}
class C703 extends C702 {}
class C704 extends C703 {}
class C705 extends C704 {}
class C706 extends C705 {}
class C707 extends C706 {}
class C708 extends C707 {}
class C709 extends C708 {}
class C710 extends C709 {}
class C711 extends C710 {}
class C712 extends C711 {}
class C713 extends C712 {}
class C714 extends C713 {}
class C715 extends C714 {}
class C716 extends C715 {}
class C717 extends C716 {}
class C718 extends C717 {}
class C719 extends C718 {}
class C720 extends C719 {}
class C721 extends C720 {}
class C722 extends C721 {}
class C723 extends C722 {}
class C724 extends C723 {}
class C725 extends C724 {}
class C726 extends C725 {}
class C727 extends C726 {}
class C728 extends C727 {}
class C729 extends C728 {}
class C730 extends C729 {}
class C731 extends C730 {}
class C732 extends C731 {}
class C733 extends C732 {}
class C734 extends C733 {}
class C735 extends C734 {}
class C736 extends C735 {}
class C737 extends C736 {}
class C738 extends C737 {}
class C739 extends C738 {}
class C740 extends C739 {}
class C741 extends C740 {}
class C742 extends C741 {}
class C743 extends C742 {}
class C744 extends C743 {}
class C745 extends C744 {}
class C746 extends C745 {}
class C747 extends C746 {}
class C748 extends C747 {}
class C749 extends C748 {}
class C750 extends C749 {}
class C751 extends C750 {}
class C752 extends C751 {}
class C753 extends C752 {}
class C754 extends C753 {}
class C755 extends C754 {}
class C756 extends C755 {}
class C757 extends C756 {}
class C758 extends C757 {}
class C759 extends C758 {}
class C760 extends C759 {}
class C761 extends C760 {}
class C762 extends C761 {}
class C763 extends C762 {}
class C764 extends C763 {}
class C765 extends C764 {}
class C766 extends C765 {}
class C767 extends C766 {}
class C768 extends C767 {}
class C769 extends C768 {}
class C770 extends C769 {}
class C771 extends C770 {}
class C772 extends C771 {}
class C773 extends C772 {}
class C774 extends C773 {}
class C775 extends C774 {}
class C776 extends C775 {}
class C777 extends C776 {}
class C778 extends C777 {}
class C779 extends C778 {}
class C780 extends C779 {}
class C781 extends C780 {}
class C782 extends C781 {}
class C783 extends C782 {}
class C784 extends C783 {}
class C785 extends C784 {}
class C786 extends C785 {}
class C787 extends C786 {}
class C788 extends C787 {}
class C789 extends C788 {}
class C790 extends C789 {}
class C791 extends C790 {}
class C792 extends C791 {}
class C793 extends C792 {}
class C794 extends C793 {}
class C795 extends C794 {}
class C796 extends C795 {}
class C797 extends C796 {}
class C798 extends C797 {}
class C799 extends C798 {}
class C800 extends C799 {}
class C801 extends C800 {}
class C802 extends C801 {}
class C803 extends C802 {}
class C804 extends C803 {}
class C805 extends C804 {}
class C806 extends C805 {}
class C807 extends C806 {}
class C808 extends C807 {}
class C809 extends C808 {}
class C810 extends C809 {}
class C811 extends C810 {}
class C812 extends C811 {}
class C813 extends C812 {}
class C814 extends C813 {}
class C815 extends C814 {}
class C816 extends C815 {}
class C817 extends C816 {}
class C818 extends C817 {}
class C819 extends C818 {}
class C820 extends C819 {}
class C821 extends C820 {}
class C822 extends C821 {}
class C823 extends C822 {}
class C824 extends C823 {}
class C825 extends C824 {}
class C826 extends C825 {}
class C827 extends C826 {}
class C828 extends C827 {}
class C829 extends C828 {}
class C830 extends C829 {}
class C831 extends C830 {}
class C832 extends C831 {}
class C833 extends C832 {}
class C834 extends C833 {}
class C835 extends C834 {}
class C836 extends C835 {}
class C837 extends C836 {}
class C838 extends C837 {}
class C839 extends C838 {}
class C840 extends C839 {}
class C841 extends C840 {}
class C842 extends C841 {}
class C843 extends C842 {}
class C844 extends C843 {}
class C845 extends C844 {}
class C846 extends C845 {}
class C847 extends C846 {}
class C848 extends C847 {}
class C849 extends C848 {}
class C850 extends C849 {}
class C851 extends C850 {}
class C852 extends C851 {}
class C853 extends C852 {}
class C854 extends C853 {}
class C855 extends C854 {}
class C856 extends C855 {}
class C857 extends C856 {}
class C858 extends C857 {}
class C859 extends C858 {}
class C860 extends C859 {}
class C861 extends C860 {}
class C862 extends C861 {}
class C863 extends C862 {}
class C864 extends C863 {}
class C865 extends C864 {}
class C866 extends C865 {}
class C867 extends C866 {}
class C868 extends C867 {}
class C869 extends C868 {}
class C870 extends C869 {}
class C871 extends C870 {}
class C872 extends C871 {}
class C873 extends C872 {}
class C874 extends C873 {}
class C875 extends C874 {}
class C876 extends C875 {}
class C877 extends C876 {}
class C878 extends C877 {}
class C879 extends C878 {}
class C880 extends C879 {}
class C881 extends C880 {}
class C882 extends C881 {}
class C883 extends C882 {}
class C884 extends C883 {}
class C885 extends C884 {}
class C886 extends C885 {}
class C887 extends C886 {}
class C888 extends C887 {}
class C889 extends C888 {}
class C890 extends C889 {}
class C891 extends C890 {}
class C892 extends C891 {}
class C893 extends C892 {}
class C894 extends C893 {}
class C895 extends C894 {}
class C896 extends C895 {}
class C897 extends C896 {}
class C898 extends C897 {}
class C899 extends C898 {}
class C900 extends C899 {}
class C901 extends C900 {}
class C902 extends C901 {}
class C903 extends C902 {}
class C904 extends C903 {}
class C905 extends C904 {}
class C906 extends C905 {}
class C907 extends C906 {}
class C908 extends C907 {}
class C909 extends C908 {}
class C910 extends C909 {}
class C911 extends C910 {}
class C912 extends C911 {}
class C913 extends C912 {}
class C914 extends C913 {}
class C915 extends C914 {}
class C916 extends C915 {}
class C917 extends C916 {}
class C918 extends C917 {}
class C919 extends C918 {}
class C920 extends C919 {}
class C921 extends C920 {}
class C922 extends C921 {}
class C923 extends C922 {}
class C924 extends C923 {}
class C925 extends C924 {}
class C926 extends C925 {}
class C927 extends C926 {}
class C928 extends C927 {}
class C929 extends C928 {}
class C930 extends C929 {}
class C931 extends C930 {}
class C932 extends C931 {}
class C933 extends C932 {}
class C934 extends C933 {}
class C935 extends C934 {}
class C936 extends C935 {}
class C937 extends C936 {}
class C938 extends C937 {}
class C939 extends C938 {}
class C940 extends C939 {}
class C941 extends C940 {}
class C942 extends C941 {}
class C943 extends C942 {}
class C944 extends C943 {}
class C945 extends C944 {}
class C946 extends C945 {}
class C947 extends C946 {}
class C948 extends C947 {}
class C949 extends C948 {}
class C950 extends C949 {}
class C951 extends C950 {}
class C952 extends C951 {}
class C953 extends C952 {}
class C954 extends C953 {}
class C955 extends C954 {}
class C956 extends C955 {}
class C957 extends C956 {}
class C958 extends C957 {}
class C959 extends C958 {}
class C960 extends C959 {}
class C961 extends C960 {}
class C962 extends C961 {}
class C963 extends C962 {}
class C964 extends C963 {}
class C965 extends C964 {}
class C966 extends C965 {}
class C967 extends C966 {}
class C968 extends C967 {}
class C969 extends C968 {}
class C970 extends C969 {}
class C971 extends C970 {}
class C972 extends C971 {}
class C973 extends C972 {}
class C974 extends C973 {}
class C975 extends C974 {}
class C976 extends C975 {}
class C977 extends C976 {}
class C978 extends C977 {}
class C979 extends C978 {}
class C980 extends C979 {}
class C981 extends C980 {}
class C982 extends C981 {}
class C983 extends C982 {}
class C984 extends C983 {}
class C985 extends C984 {}
class C986 extends C985 {}
class C987 extends C986 {}
class C988 extends C987 {}
class C989 extends C988 {}
class C990 extends C989 {}
class C991 extends C990 {}
class C992 extends C991 {}
class C993 extends C992 {}
class C994 extends C993 {}
class C995 extends C994 {}
class C996 extends C995 {}
class C997 extends C996 {}
class C998 extends C997 {}
class C999 extends C998 {}
class C1000 extends C999 {}
class C1001 extends C1000 {}
class C1002 extends C1001 {}
class C1003 extends C1002 {}
class C1004 extends C1003 {}
class C1005 extends C1004 {}
class C1006 extends C1005 {}
class C1007 extends C1006 {}
class C1008 extends C1007 {}
class C1009 extends C1008 {}
class C1010 extends C1009 {}
class C1011 extends C1010 {}
class C1012 extends C1011 {}
class C1013 extends C1012 {}
class C1014 extends C1013 {}
class C1015 extends C1014 {}
class C1016 extends C1015 {}
class C1017 extends C1016 {}
class C1018 extends C1017 {}
class C1019 extends C1018 {}
class C1020 extends C1019 {}
class C1021 extends C1020 {}
class C1022 extends C1021 {}
class C1023 extends C1022 {}
class C1024 extends C1023 {}
class C1025 extends C1024 {}
class C1026 extends C1025 {}