Merge pull request #199 from slide/master
[mono.git] / mono / tests / async-exc-compilation.cs
1 //
2 // Test handling of async exceptions received during JIT compilation
3 //
4 using System;
5 using System.Runtime.Remoting;
6 using System.Runtime.Remoting.Proxies;
7 using System.Runtime.Remoting.Messaging;
8 using System.Reflection;
9 using System.Threading;
10
11 class MainClass
12 {
13         static int Main (string[] args) {
14                 Thread t = new Thread (new ThreadStart (Run));
15                 t.Start ();
16                 Thread.Sleep (100);
17                 t.Abort ();
18                 return 0;
19         }
20
21         public static void Run () {
22                 try {
23                         // Call a method which takes a lot of time to compile
24                         // We should receive the abort exception while compiling this method
25                         Long (5);
26                         Console.WriteLine ("Long");
27                         Thread.Sleep (10000);
28                 }
29                 catch (ThreadAbortException) {
30                         Console.WriteLine ("OK");
31                 }
32         }
33
34         // This method should take a lot of time for the JIT to compile
35         public static int Long (int arg) {
36                 // Make an inifite loop not going into unmanaged code
37                 while (arg == 5)
38                         ;
39
40                 int total = 0;
41                 MyRealProxy mrp = new MyRealProxy (new MBRO ());
42                 object o = mrp.GetTransparentProxy ();
43
44                 mrp.CanCastToCalled = false;
45                 I1 itf1 = (I1)o;
46                 if (!mrp.CanCastToCalled)
47                         return 1;
48                 total += itf1.CallMe (1);
49                 mrp.CanCastToCalled = false;
50                 itf1 = (I1)o;
51                 if (mrp.CanCastToCalled)
52                         return 1;
53                 total += itf1.CallMe (1);
54
55                 mrp.CanCastToCalled = false;
56                 I2 itf2 = (I2)o;
57                 if (!mrp.CanCastToCalled)
58                         return 2;
59                 total += itf2.CallMe (2);
60                 mrp.CanCastToCalled = false;
61                 itf2 = (I2)o;
62                 if (mrp.CanCastToCalled)
63                         return 2;
64                 total += itf2.CallMe (2);
65
66                 mrp.CanCastToCalled = false;
67                 I3 itf3 = (I3)o;
68                 if (!mrp.CanCastToCalled)
69                         return 3;
70                 total += itf3.CallMe (3);
71                 mrp.CanCastToCalled = false;
72                 itf3 = (I3)o;
73                 if (mrp.CanCastToCalled)
74                         return 3;
75                 total += itf3.CallMe (3);
76
77                 mrp.CanCastToCalled = false;
78                 I4 itf4 = (I4)o;
79                 if (!mrp.CanCastToCalled)
80                         return 4;
81                 total += itf4.CallMe (4);
82                 mrp.CanCastToCalled = false;
83                 itf4 = (I4)o;
84                 if (mrp.CanCastToCalled)
85                         return 4;
86                 total += itf4.CallMe (4);
87
88                 mrp.CanCastToCalled = false;
89                 I5 itf5 = (I5)o;
90                 if (!mrp.CanCastToCalled)
91                         return 5;
92                 total += itf5.CallMe (5);
93                 mrp.CanCastToCalled = false;
94                 itf5 = (I5)o;
95                 if (mrp.CanCastToCalled)
96                         return 5;
97                 total += itf5.CallMe (5);
98
99                 mrp.CanCastToCalled = false;
100                 I6 itf6 = (I6)o;
101                 if (!mrp.CanCastToCalled)
102                         return 6;
103                 total += itf6.CallMe (6);
104                 mrp.CanCastToCalled = false;
105                 itf6 = (I6)o;
106                 if (mrp.CanCastToCalled)
107                         return 6;
108                 total += itf6.CallMe (6);
109
110                 mrp.CanCastToCalled = false;
111                 I7 itf7 = (I7)o;
112                 if (!mrp.CanCastToCalled)
113                         return 7;
114                 total += itf7.CallMe (7);
115                 mrp.CanCastToCalled = false;
116                 itf7 = (I7)o;
117                 if (mrp.CanCastToCalled)
118                         return 7;
119                 total += itf7.CallMe (7);
120
121                 mrp.CanCastToCalled = false;
122                 I8 itf8 = (I8)o;
123                 if (!mrp.CanCastToCalled)
124                         return 8;
125                 total += itf8.CallMe (8);
126                 mrp.CanCastToCalled = false;
127                 itf8 = (I8)o;
128                 if (mrp.CanCastToCalled)
129                         return 8;
130                 total += itf8.CallMe (8);
131
132                 mrp.CanCastToCalled = false;
133                 I9 itf9 = (I9)o;
134                 if (!mrp.CanCastToCalled)
135                         return 9;
136                 total += itf9.CallMe (9);
137                 mrp.CanCastToCalled = false;
138                 itf9 = (I9)o;
139                 if (mrp.CanCastToCalled)
140                         return 9;
141                 total += itf9.CallMe (9);
142
143                 mrp.CanCastToCalled = false;
144                 I10 itf10 = (I10)o;
145                 if (!mrp.CanCastToCalled)
146                         return 10;
147                 total += itf10.CallMe (10);
148                 mrp.CanCastToCalled = false;
149                 itf10 = (I10)o;
150                 if (mrp.CanCastToCalled)
151                         return 10;
152                 total += itf10.CallMe (10);
153
154                 mrp.CanCastToCalled = false;
155                 I11 itf11 = (I11)o;
156                 if (!mrp.CanCastToCalled)
157                         return 11;
158                 total += itf11.CallMe (11);
159                 mrp.CanCastToCalled = false;
160                 itf11 = (I11)o;
161                 if (mrp.CanCastToCalled)
162                         return 11;
163                 total += itf11.CallMe (11);
164
165                 mrp.CanCastToCalled = false;
166                 I12 itf12 = (I12)o;
167                 if (!mrp.CanCastToCalled)
168                         return 12;
169                 total += itf12.CallMe (12);
170                 mrp.CanCastToCalled = false;
171                 itf12 = (I12)o;
172                 if (mrp.CanCastToCalled)
173                         return 12;
174                 total += itf12.CallMe (12);
175
176                 mrp.CanCastToCalled = false;
177                 I13 itf13 = (I13)o;
178                 if (!mrp.CanCastToCalled)
179                         return 13;
180                 total += itf13.CallMe (13);
181                 mrp.CanCastToCalled = false;
182                 itf13 = (I13)o;
183                 if (mrp.CanCastToCalled)
184                         return 13;
185                 total += itf13.CallMe (13);
186
187                 mrp.CanCastToCalled = false;
188                 I14 itf14 = (I14)o;
189                 if (!mrp.CanCastToCalled)
190                         return 14;
191                 total += itf14.CallMe (14);
192                 mrp.CanCastToCalled = false;
193                 itf14 = (I14)o;
194                 if (mrp.CanCastToCalled)
195                         return 14;
196                 total += itf14.CallMe (14);
197
198                 mrp.CanCastToCalled = false;
199                 I15 itf15 = (I15)o;
200                 if (!mrp.CanCastToCalled)
201                         return 15;
202                 total += itf15.CallMe (15);
203                 mrp.CanCastToCalled = false;
204                 itf15 = (I15)o;
205                 if (mrp.CanCastToCalled)
206                         return 15;
207                 total += itf15.CallMe (15);
208
209                 mrp.CanCastToCalled = false;
210                 I16 itf16 = (I16)o;
211                 if (!mrp.CanCastToCalled)
212                         return 16;
213                 total += itf16.CallMe (16);
214                 mrp.CanCastToCalled = false;
215                 itf16 = (I16)o;
216                 if (mrp.CanCastToCalled)
217                         return 16;
218                 total += itf16.CallMe (16);
219
220                 mrp.CanCastToCalled = false;
221                 I17 itf17 = (I17)o;
222                 if (!mrp.CanCastToCalled)
223                         return 17;
224                 total += itf17.CallMe (17);
225                 mrp.CanCastToCalled = false;
226                 itf17 = (I17)o;
227                 if (mrp.CanCastToCalled)
228                         return 17;
229                 total += itf17.CallMe (17);
230
231                 mrp.CanCastToCalled = false;
232                 I18 itf18 = (I18)o;
233                 if (!mrp.CanCastToCalled)
234                         return 18;
235                 total += itf18.CallMe (18);
236                 mrp.CanCastToCalled = false;
237                 itf18 = (I18)o;
238                 if (mrp.CanCastToCalled)
239                         return 18;
240                 total += itf18.CallMe (18);
241
242                 mrp.CanCastToCalled = false;
243                 I19 itf19 = (I19)o;
244                 if (!mrp.CanCastToCalled)
245                         return 19;
246                 total += itf19.CallMe (19);
247                 mrp.CanCastToCalled = false;
248                 itf19 = (I19)o;
249                 if (mrp.CanCastToCalled)
250                         return 19;
251                 total += itf19.CallMe (19);
252
253                 mrp.CanCastToCalled = false;
254                 I20 itf20 = (I20)o;
255                 if (!mrp.CanCastToCalled)
256                         return 20;
257                 total += itf20.CallMe (20);
258                 mrp.CanCastToCalled = false;
259                 itf20 = (I20)o;
260                 if (mrp.CanCastToCalled)
261                         return 20;
262                 total += itf20.CallMe (20);
263
264                 mrp.CanCastToCalled = false;
265                 I21 itf21 = (I21)o;
266                 if (!mrp.CanCastToCalled)
267                         return 21;
268                 total += itf21.CallMe (21);
269                 mrp.CanCastToCalled = false;
270                 itf21 = (I21)o;
271                 if (mrp.CanCastToCalled)
272                         return 21;
273                 total += itf21.CallMe (21);
274
275                 mrp.CanCastToCalled = false;
276                 I22 itf22 = (I22)o;
277                 if (!mrp.CanCastToCalled)
278                         return 22;
279                 total += itf22.CallMe (22);
280                 mrp.CanCastToCalled = false;
281                 itf22 = (I22)o;
282                 if (mrp.CanCastToCalled)
283                         return 22;
284                 total += itf22.CallMe (22);
285
286                 mrp.CanCastToCalled = false;
287                 I23 itf23 = (I23)o;
288                 if (!mrp.CanCastToCalled)
289                         return 23;
290                 total += itf23.CallMe (23);
291                 mrp.CanCastToCalled = false;
292                 itf23 = (I23)o;
293                 if (mrp.CanCastToCalled)
294                         return 23;
295                 total += itf23.CallMe (23);
296
297                 mrp.CanCastToCalled = false;
298                 I24 itf24 = (I24)o;
299                 if (!mrp.CanCastToCalled)
300                         return 24;
301                 total += itf24.CallMe (24);
302                 mrp.CanCastToCalled = false;
303                 itf24 = (I24)o;
304                 if (mrp.CanCastToCalled)
305                         return 24;
306                 total += itf24.CallMe (24);
307
308                 mrp.CanCastToCalled = false;
309                 I25 itf25 = (I25)o;
310                 if (!mrp.CanCastToCalled)
311                         return 25;
312                 total += itf25.CallMe (25);
313                 mrp.CanCastToCalled = false;
314                 itf25 = (I25)o;
315                 if (mrp.CanCastToCalled)
316                         return 25;
317                 total += itf25.CallMe (25);
318
319                 mrp.CanCastToCalled = false;
320                 I26 itf26 = (I26)o;
321                 if (!mrp.CanCastToCalled)
322                         return 26;
323                 total += itf26.CallMe (26);
324                 mrp.CanCastToCalled = false;
325                 itf26 = (I26)o;
326                 if (mrp.CanCastToCalled)
327                         return 26;
328                 total += itf26.CallMe (26);
329
330                 mrp.CanCastToCalled = false;
331                 I27 itf27 = (I27)o;
332                 if (!mrp.CanCastToCalled)
333                         return 27;
334                 total += itf27.CallMe (27);
335                 mrp.CanCastToCalled = false;
336                 itf27 = (I27)o;
337                 if (mrp.CanCastToCalled)
338                         return 27;
339                 total += itf27.CallMe (27);
340
341                 mrp.CanCastToCalled = false;
342                 I28 itf28 = (I28)o;
343                 if (!mrp.CanCastToCalled)
344                         return 28;
345                 total += itf28.CallMe (28);
346                 mrp.CanCastToCalled = false;
347                 itf28 = (I28)o;
348                 if (mrp.CanCastToCalled)
349                         return 28;
350                 total += itf28.CallMe (28);
351
352                 mrp.CanCastToCalled = false;
353                 I29 itf29 = (I29)o;
354                 if (!mrp.CanCastToCalled)
355                         return 29;
356                 total += itf29.CallMe (29);
357                 mrp.CanCastToCalled = false;
358                 itf29 = (I29)o;
359                 if (mrp.CanCastToCalled)
360                         return 29;
361                 total += itf29.CallMe (29);
362
363                 mrp.CanCastToCalled = false;
364                 I30 itf30 = (I30)o;
365                 if (!mrp.CanCastToCalled)
366                         return 30;
367                 total += itf30.CallMe (30);
368                 mrp.CanCastToCalled = false;
369                 itf30 = (I30)o;
370                 if (mrp.CanCastToCalled)
371                         return 30;
372                 total += itf30.CallMe (30);
373
374                 mrp.CanCastToCalled = false;
375                 I31 itf31 = (I31)o;
376                 if (!mrp.CanCastToCalled)
377                         return 31;
378                 total += itf31.CallMe (31);
379                 mrp.CanCastToCalled = false;
380                 itf31 = (I31)o;
381                 if (mrp.CanCastToCalled)
382                         return 31;
383                 total += itf31.CallMe (31);
384
385                 mrp.CanCastToCalled = false;
386                 I32 itf32 = (I32)o;
387                 if (!mrp.CanCastToCalled)
388                         return 32;
389                 total += itf32.CallMe (32);
390                 mrp.CanCastToCalled = false;
391                 itf32 = (I32)o;
392                 if (mrp.CanCastToCalled)
393                         return 32;
394                 total += itf32.CallMe (32);
395
396                 mrp.CanCastToCalled = false;
397                 I33 itf33 = (I33)o;
398                 if (!mrp.CanCastToCalled)
399                         return 33;
400                 total += itf33.CallMe (33);
401                 mrp.CanCastToCalled = false;
402                 itf33 = (I33)o;
403                 if (mrp.CanCastToCalled)
404                         return 33;
405                 total += itf33.CallMe (33);
406
407                 mrp.CanCastToCalled = false;
408                 I34 itf34 = (I34)o;
409                 if (!mrp.CanCastToCalled)
410                         return 34;
411                 total += itf34.CallMe (34);
412                 mrp.CanCastToCalled = false;
413                 itf34 = (I34)o;
414                 if (mrp.CanCastToCalled)
415                         return 34;
416                 total += itf34.CallMe (34);
417
418                 mrp.CanCastToCalled = false;
419                 I35 itf35 = (I35)o;
420                 if (!mrp.CanCastToCalled)
421                         return 35;
422                 total += itf35.CallMe (35);
423                 mrp.CanCastToCalled = false;
424                 itf35 = (I35)o;
425                 if (mrp.CanCastToCalled)
426                         return 35;
427                 total += itf35.CallMe (35);
428
429                 mrp.CanCastToCalled = false;
430                 I36 itf36 = (I36)o;
431                 if (!mrp.CanCastToCalled)
432                         return 36;
433                 total += itf36.CallMe (36);
434                 mrp.CanCastToCalled = false;
435                 itf36 = (I36)o;
436                 if (mrp.CanCastToCalled)
437                         return 36;
438                 total += itf36.CallMe (36);
439
440                 mrp.CanCastToCalled = false;
441                 I37 itf37 = (I37)o;
442                 if (!mrp.CanCastToCalled)
443                         return 37;
444                 total += itf37.CallMe (37);
445                 mrp.CanCastToCalled = false;
446                 itf37 = (I37)o;
447                 if (mrp.CanCastToCalled)
448                         return 37;
449                 total += itf37.CallMe (37);
450
451                 mrp.CanCastToCalled = false;
452                 I38 itf38 = (I38)o;
453                 if (!mrp.CanCastToCalled)
454                         return 38;
455                 total += itf38.CallMe (38);
456                 mrp.CanCastToCalled = false;
457                 itf38 = (I38)o;
458                 if (mrp.CanCastToCalled)
459                         return 38;
460                 total += itf38.CallMe (38);
461
462                 mrp.CanCastToCalled = false;
463                 I39 itf39 = (I39)o;
464                 if (!mrp.CanCastToCalled)
465                         return 39;
466                 total += itf39.CallMe (39);
467                 mrp.CanCastToCalled = false;
468                 itf39 = (I39)o;
469                 if (mrp.CanCastToCalled)
470                         return 39;
471                 total += itf39.CallMe (39);
472
473                 mrp.CanCastToCalled = false;
474                 I40 itf40 = (I40)o;
475                 if (!mrp.CanCastToCalled)
476                         return 40;
477                 total += itf40.CallMe (40);
478                 mrp.CanCastToCalled = false;
479                 itf40 = (I40)o;
480                 if (mrp.CanCastToCalled)
481                         return 40;
482                 total += itf40.CallMe (40);
483
484                 mrp.CanCastToCalled = false;
485                 I41 itf41 = (I41)o;
486                 if (!mrp.CanCastToCalled)
487                         return 41;
488                 total += itf41.CallMe (41);
489                 mrp.CanCastToCalled = false;
490                 itf41 = (I41)o;
491                 if (mrp.CanCastToCalled)
492                         return 41;
493                 total += itf41.CallMe (41);
494
495                 mrp.CanCastToCalled = false;
496                 I42 itf42 = (I42)o;
497                 if (!mrp.CanCastToCalled)
498                         return 42;
499                 total += itf42.CallMe (42);
500                 mrp.CanCastToCalled = false;
501                 itf42 = (I42)o;
502                 if (mrp.CanCastToCalled)
503                         return 42;
504                 total += itf42.CallMe (42);
505
506                 mrp.CanCastToCalled = false;
507                 I43 itf43 = (I43)o;
508                 if (!mrp.CanCastToCalled)
509                         return 43;
510                 total += itf43.CallMe (43);
511                 mrp.CanCastToCalled = false;
512                 itf43 = (I43)o;
513                 if (mrp.CanCastToCalled)
514                         return 43;
515                 total += itf43.CallMe (43);
516
517                 mrp.CanCastToCalled = false;
518                 I44 itf44 = (I44)o;
519                 if (!mrp.CanCastToCalled)
520                         return 44;
521                 total += itf44.CallMe (44);
522                 mrp.CanCastToCalled = false;
523                 itf44 = (I44)o;
524                 if (mrp.CanCastToCalled)
525                         return 44;
526                 total += itf44.CallMe (44);
527
528                 mrp.CanCastToCalled = false;
529                 I45 itf45 = (I45)o;
530                 if (!mrp.CanCastToCalled)
531                         return 45;
532                 total += itf45.CallMe (45);
533                 mrp.CanCastToCalled = false;
534                 itf45 = (I45)o;
535                 if (mrp.CanCastToCalled)
536                         return 45;
537                 total += itf45.CallMe (45);
538
539                 mrp.CanCastToCalled = false;
540                 I46 itf46 = (I46)o;
541                 if (!mrp.CanCastToCalled)
542                         return 46;
543                 total += itf46.CallMe (46);
544                 mrp.CanCastToCalled = false;
545                 itf46 = (I46)o;
546                 if (mrp.CanCastToCalled)
547                         return 46;
548                 total += itf46.CallMe (46);
549
550                 mrp.CanCastToCalled = false;
551                 I47 itf47 = (I47)o;
552                 if (!mrp.CanCastToCalled)
553                         return 47;
554                 total += itf47.CallMe (47);
555                 mrp.CanCastToCalled = false;
556                 itf47 = (I47)o;
557                 if (mrp.CanCastToCalled)
558                         return 47;
559                 total += itf47.CallMe (47);
560
561                 mrp.CanCastToCalled = false;
562                 I48 itf48 = (I48)o;
563                 if (!mrp.CanCastToCalled)
564                         return 48;
565                 total += itf48.CallMe (48);
566                 mrp.CanCastToCalled = false;
567                 itf48 = (I48)o;
568                 if (mrp.CanCastToCalled)
569                         return 48;
570                 total += itf48.CallMe (48);
571
572                 mrp.CanCastToCalled = false;
573                 I49 itf49 = (I49)o;
574                 if (!mrp.CanCastToCalled)
575                         return 49;
576                 total += itf49.CallMe (49);
577                 mrp.CanCastToCalled = false;
578                 itf49 = (I49)o;
579                 if (mrp.CanCastToCalled)
580                         return 49;
581                 total += itf49.CallMe (49);
582
583                 mrp.CanCastToCalled = false;
584                 I50 itf50 = (I50)o;
585                 if (!mrp.CanCastToCalled)
586                         return 50;
587                 total += itf50.CallMe (50);
588                 mrp.CanCastToCalled = false;
589                 itf50 = (I50)o;
590                 if (mrp.CanCastToCalled)
591                         return 50;
592                 total += itf50.CallMe (50);
593
594                 mrp.CanCastToCalled = false;
595                 I51 itf51 = (I51)o;
596                 if (!mrp.CanCastToCalled)
597                         return 51;
598                 total += itf51.CallMe (51);
599                 mrp.CanCastToCalled = false;
600                 itf51 = (I51)o;
601                 if (mrp.CanCastToCalled)
602                         return 51;
603                 total += itf51.CallMe (51);
604
605                 mrp.CanCastToCalled = false;
606                 I52 itf52 = (I52)o;
607                 if (!mrp.CanCastToCalled)
608                         return 52;
609                 total += itf52.CallMe (52);
610                 mrp.CanCastToCalled = false;
611                 itf52 = (I52)o;
612                 if (mrp.CanCastToCalled)
613                         return 52;
614                 total += itf52.CallMe (52);
615
616                 mrp.CanCastToCalled = false;
617                 I53 itf53 = (I53)o;
618                 if (!mrp.CanCastToCalled)
619                         return 53;
620                 total += itf53.CallMe (53);
621                 mrp.CanCastToCalled = false;
622                 itf53 = (I53)o;
623                 if (mrp.CanCastToCalled)
624                         return 53;
625                 total += itf53.CallMe (53);
626
627                 mrp.CanCastToCalled = false;
628                 I54 itf54 = (I54)o;
629                 if (!mrp.CanCastToCalled)
630                         return 54;
631                 total += itf54.CallMe (54);
632                 mrp.CanCastToCalled = false;
633                 itf54 = (I54)o;
634                 if (mrp.CanCastToCalled)
635                         return 54;
636                 total += itf54.CallMe (54);
637
638                 mrp.CanCastToCalled = false;
639                 I55 itf55 = (I55)o;
640                 if (!mrp.CanCastToCalled)
641                         return 55;
642                 total += itf55.CallMe (55);
643                 mrp.CanCastToCalled = false;
644                 itf55 = (I55)o;
645                 if (mrp.CanCastToCalled)
646                         return 55;
647                 total += itf55.CallMe (55);
648
649                 mrp.CanCastToCalled = false;
650                 I56 itf56 = (I56)o;
651                 if (!mrp.CanCastToCalled)
652                         return 56;
653                 total += itf56.CallMe (56);
654                 mrp.CanCastToCalled = false;
655                 itf56 = (I56)o;
656                 if (mrp.CanCastToCalled)
657                         return 56;
658                 total += itf56.CallMe (56);
659
660                 mrp.CanCastToCalled = false;
661                 I57 itf57 = (I57)o;
662                 if (!mrp.CanCastToCalled)
663                         return 57;
664                 total += itf57.CallMe (57);
665                 mrp.CanCastToCalled = false;
666                 itf57 = (I57)o;
667                 if (mrp.CanCastToCalled)
668                         return 57;
669                 total += itf57.CallMe (57);
670
671                 mrp.CanCastToCalled = false;
672                 I58 itf58 = (I58)o;
673                 if (!mrp.CanCastToCalled)
674                         return 58;
675                 total += itf58.CallMe (58);
676                 mrp.CanCastToCalled = false;
677                 itf58 = (I58)o;
678                 if (mrp.CanCastToCalled)
679                         return 58;
680                 total += itf58.CallMe (58);
681
682                 mrp.CanCastToCalled = false;
683                 I59 itf59 = (I59)o;
684                 if (!mrp.CanCastToCalled)
685                         return 59;
686                 total += itf59.CallMe (59);
687                 mrp.CanCastToCalled = false;
688                 itf59 = (I59)o;
689                 if (mrp.CanCastToCalled)
690                         return 59;
691                 total += itf59.CallMe (59);
692
693                 mrp.CanCastToCalled = false;
694                 I60 itf60 = (I60)o;
695                 if (!mrp.CanCastToCalled)
696                         return 60;
697                 total += itf60.CallMe (60);
698                 mrp.CanCastToCalled = false;
699                 itf60 = (I60)o;
700                 if (mrp.CanCastToCalled)
701                         return 60;
702                 total += itf60.CallMe (60);
703
704                 mrp.CanCastToCalled = false;
705                 I61 itf61 = (I61)o;
706                 if (!mrp.CanCastToCalled)
707                         return 61;
708                 total += itf61.CallMe (61);
709                 mrp.CanCastToCalled = false;
710                 itf61 = (I61)o;
711                 if (mrp.CanCastToCalled)
712                         return 61;
713                 total += itf61.CallMe (61);
714
715                 mrp.CanCastToCalled = false;
716                 I62 itf62 = (I62)o;
717                 if (!mrp.CanCastToCalled)
718                         return 62;
719                 total += itf62.CallMe (62);
720                 mrp.CanCastToCalled = false;
721                 itf62 = (I62)o;
722                 if (mrp.CanCastToCalled)
723                         return 62;
724                 total += itf62.CallMe (62);
725
726                 mrp.CanCastToCalled = false;
727                 I63 itf63 = (I63)o;
728                 if (!mrp.CanCastToCalled)
729                         return 63;
730                 total += itf63.CallMe (63);
731                 mrp.CanCastToCalled = false;
732                 itf63 = (I63)o;
733                 if (mrp.CanCastToCalled)
734                         return 63;
735                 total += itf63.CallMe (63);
736
737                 mrp.CanCastToCalled = false;
738                 I64 itf64 = (I64)o;
739                 if (!mrp.CanCastToCalled)
740                         return 64;
741                 total += itf64.CallMe (64);
742                 mrp.CanCastToCalled = false;
743                 itf64 = (I64)o;
744                 if (mrp.CanCastToCalled)
745                         return 64;
746                 total += itf64.CallMe (64);
747
748                 mrp.CanCastToCalled = false;
749                 I65 itf65 = (I65)o;
750                 if (!mrp.CanCastToCalled)
751                         return 65;
752                 total += itf65.CallMe (65);
753                 mrp.CanCastToCalled = false;
754                 itf65 = (I65)o;
755                 if (mrp.CanCastToCalled)
756                         return 65;
757                 total += itf65.CallMe (65);
758
759                 mrp.CanCastToCalled = false;
760                 I66 itf66 = (I66)o;
761                 if (!mrp.CanCastToCalled)
762                         return 66;
763                 total += itf66.CallMe (66);
764                 mrp.CanCastToCalled = false;
765                 itf66 = (I66)o;
766                 if (mrp.CanCastToCalled)
767                         return 66;
768                 total += itf66.CallMe (66);
769
770                 mrp.CanCastToCalled = false;
771                 I67 itf67 = (I67)o;
772                 if (!mrp.CanCastToCalled)
773                         return 67;
774                 total += itf67.CallMe (67);
775                 mrp.CanCastToCalled = false;
776                 itf67 = (I67)o;
777                 if (mrp.CanCastToCalled)
778                         return 67;
779                 total += itf67.CallMe (67);
780
781                 mrp.CanCastToCalled = false;
782                 I68 itf68 = (I68)o;
783                 if (!mrp.CanCastToCalled)
784                         return 68;
785                 total += itf68.CallMe (68);
786                 mrp.CanCastToCalled = false;
787                 itf68 = (I68)o;
788                 if (mrp.CanCastToCalled)
789                         return 68;
790                 total += itf68.CallMe (68);
791
792                 mrp.CanCastToCalled = false;
793                 I69 itf69 = (I69)o;
794                 if (!mrp.CanCastToCalled)
795                         return 69;
796                 total += itf69.CallMe (69);
797                 mrp.CanCastToCalled = false;
798                 itf69 = (I69)o;
799                 if (mrp.CanCastToCalled)
800                         return 69;
801                 total += itf69.CallMe (69);
802
803                 mrp.CanCastToCalled = false;
804                 I70 itf70 = (I70)o;
805                 if (!mrp.CanCastToCalled)
806                         return 70;
807                 total += itf70.CallMe (70);
808                 mrp.CanCastToCalled = false;
809                 itf70 = (I70)o;
810                 if (mrp.CanCastToCalled)
811                         return 70;
812                 total += itf70.CallMe (70);
813
814                 mrp.CanCastToCalled = false;
815                 I71 itf71 = (I71)o;
816                 if (!mrp.CanCastToCalled)
817                         return 71;
818                 total += itf71.CallMe (71);
819                 mrp.CanCastToCalled = false;
820                 itf71 = (I71)o;
821                 if (mrp.CanCastToCalled)
822                         return 71;
823                 total += itf71.CallMe (71);
824
825                 mrp.CanCastToCalled = false;
826                 I72 itf72 = (I72)o;
827                 if (!mrp.CanCastToCalled)
828                         return 72;
829                 total += itf72.CallMe (72);
830                 mrp.CanCastToCalled = false;
831                 itf72 = (I72)o;
832                 if (mrp.CanCastToCalled)
833                         return 72;
834                 total += itf72.CallMe (72);
835
836                 mrp.CanCastToCalled = false;
837                 I73 itf73 = (I73)o;
838                 if (!mrp.CanCastToCalled)
839                         return 73;
840                 total += itf73.CallMe (73);
841                 mrp.CanCastToCalled = false;
842                 itf73 = (I73)o;
843                 if (mrp.CanCastToCalled)
844                         return 73;
845                 total += itf73.CallMe (73);
846
847                 mrp.CanCastToCalled = false;
848                 I74 itf74 = (I74)o;
849                 if (!mrp.CanCastToCalled)
850                         return 74;
851                 total += itf74.CallMe (74);
852                 mrp.CanCastToCalled = false;
853                 itf74 = (I74)o;
854                 if (mrp.CanCastToCalled)
855                         return 74;
856                 total += itf74.CallMe (74);
857
858                 mrp.CanCastToCalled = false;
859                 I75 itf75 = (I75)o;
860                 if (!mrp.CanCastToCalled)
861                         return 75;
862                 total += itf75.CallMe (75);
863                 mrp.CanCastToCalled = false;
864                 itf75 = (I75)o;
865                 if (mrp.CanCastToCalled)
866                         return 75;
867                 total += itf75.CallMe (75);
868
869                 mrp.CanCastToCalled = false;
870                 I76 itf76 = (I76)o;
871                 if (!mrp.CanCastToCalled)
872                         return 76;
873                 total += itf76.CallMe (76);
874                 mrp.CanCastToCalled = false;
875                 itf76 = (I76)o;
876                 if (mrp.CanCastToCalled)
877                         return 76;
878                 total += itf76.CallMe (76);
879
880                 mrp.CanCastToCalled = false;
881                 I77 itf77 = (I77)o;
882                 if (!mrp.CanCastToCalled)
883                         return 77;
884                 total += itf77.CallMe (77);
885                 mrp.CanCastToCalled = false;
886                 itf77 = (I77)o;
887                 if (mrp.CanCastToCalled)
888                         return 77;
889                 total += itf77.CallMe (77);
890
891                 mrp.CanCastToCalled = false;
892                 I78 itf78 = (I78)o;
893                 if (!mrp.CanCastToCalled)
894                         return 78;
895                 total += itf78.CallMe (78);
896                 mrp.CanCastToCalled = false;
897                 itf78 = (I78)o;
898                 if (mrp.CanCastToCalled)
899                         return 78;
900                 total += itf78.CallMe (78);
901
902                 mrp.CanCastToCalled = false;
903                 I79 itf79 = (I79)o;
904                 if (!mrp.CanCastToCalled)
905                         return 79;
906                 total += itf79.CallMe (79);
907                 mrp.CanCastToCalled = false;
908                 itf79 = (I79)o;
909                 if (mrp.CanCastToCalled)
910                         return 79;
911                 total += itf79.CallMe (79);
912
913                 mrp.CanCastToCalled = false;
914                 I80 itf80 = (I80)o;
915                 if (!mrp.CanCastToCalled)
916                         return 80;
917                 total += itf80.CallMe (80);
918                 mrp.CanCastToCalled = false;
919                 itf80 = (I80)o;
920                 if (mrp.CanCastToCalled)
921                         return 80;
922                 total += itf80.CallMe (80);
923
924                 mrp.CanCastToCalled = false;
925                 I81 itf81 = (I81)o;
926                 if (!mrp.CanCastToCalled)
927                         return 81;
928                 total += itf81.CallMe (81);
929                 mrp.CanCastToCalled = false;
930                 itf81 = (I81)o;
931                 if (mrp.CanCastToCalled)
932                         return 81;
933                 total += itf81.CallMe (81);
934
935                 mrp.CanCastToCalled = false;
936                 I82 itf82 = (I82)o;
937                 if (!mrp.CanCastToCalled)
938                         return 82;
939                 total += itf82.CallMe (82);
940                 mrp.CanCastToCalled = false;
941                 itf82 = (I82)o;
942                 if (mrp.CanCastToCalled)
943                         return 82;
944                 total += itf82.CallMe (82);
945
946                 mrp.CanCastToCalled = false;
947                 I83 itf83 = (I83)o;
948                 if (!mrp.CanCastToCalled)
949                         return 83;
950                 total += itf83.CallMe (83);
951                 mrp.CanCastToCalled = false;
952                 itf83 = (I83)o;
953                 if (mrp.CanCastToCalled)
954                         return 83;
955                 total += itf83.CallMe (83);
956
957                 mrp.CanCastToCalled = false;
958                 I84 itf84 = (I84)o;
959                 if (!mrp.CanCastToCalled)
960                         return 84;
961                 total += itf84.CallMe (84);
962                 mrp.CanCastToCalled = false;
963                 itf84 = (I84)o;
964                 if (mrp.CanCastToCalled)
965                         return 84;
966                 total += itf84.CallMe (84);
967
968                 mrp.CanCastToCalled = false;
969                 I85 itf85 = (I85)o;
970                 if (!mrp.CanCastToCalled)
971                         return 85;
972                 total += itf85.CallMe (85);
973                 mrp.CanCastToCalled = false;
974                 itf85 = (I85)o;
975                 if (mrp.CanCastToCalled)
976                         return 85;
977                 total += itf85.CallMe (85);
978
979                 mrp.CanCastToCalled = false;
980                 I86 itf86 = (I86)o;
981                 if (!mrp.CanCastToCalled)
982                         return 86;
983                 total += itf86.CallMe (86);
984                 mrp.CanCastToCalled = false;
985                 itf86 = (I86)o;
986                 if (mrp.CanCastToCalled)
987                         return 86;
988                 total += itf86.CallMe (86);
989
990                 mrp.CanCastToCalled = false;
991                 I87 itf87 = (I87)o;
992                 if (!mrp.CanCastToCalled)
993                         return 87;
994                 total += itf87.CallMe (87);
995                 mrp.CanCastToCalled = false;
996                 itf87 = (I87)o;
997                 if (mrp.CanCastToCalled)
998                         return 87;
999                 total += itf87.CallMe (87);
1000
1001                 mrp.CanCastToCalled = false;
1002                 I88 itf88 = (I88)o;
1003                 if (!mrp.CanCastToCalled)
1004                         return 88;
1005                 total += itf88.CallMe (88);
1006                 mrp.CanCastToCalled = false;
1007                 itf88 = (I88)o;
1008                 if (mrp.CanCastToCalled)
1009                         return 88;
1010                 total += itf88.CallMe (88);
1011
1012                 mrp.CanCastToCalled = false;
1013                 I89 itf89 = (I89)o;
1014                 if (!mrp.CanCastToCalled)
1015                         return 89;
1016                 total += itf89.CallMe (89);
1017                 mrp.CanCastToCalled = false;
1018                 itf89 = (I89)o;
1019                 if (mrp.CanCastToCalled)
1020                         return 89;
1021                 total += itf89.CallMe (89);
1022
1023                 mrp.CanCastToCalled = false;
1024                 I90 itf90 = (I90)o;
1025                 if (!mrp.CanCastToCalled)
1026                         return 90;
1027                 total += itf90.CallMe (90);
1028                 mrp.CanCastToCalled = false;
1029                 itf90 = (I90)o;
1030                 if (mrp.CanCastToCalled)
1031                         return 90;
1032                 total += itf90.CallMe (90);
1033
1034                 mrp.CanCastToCalled = false;
1035                 I91 itf91 = (I91)o;
1036                 if (!mrp.CanCastToCalled)
1037                         return 91;
1038                 total += itf91.CallMe (91);
1039                 mrp.CanCastToCalled = false;
1040                 itf91 = (I91)o;
1041                 if (mrp.CanCastToCalled)
1042                         return 91;
1043                 total += itf91.CallMe (91);
1044
1045                 mrp.CanCastToCalled = false;
1046                 I92 itf92 = (I92)o;
1047                 if (!mrp.CanCastToCalled)
1048                         return 92;
1049                 total += itf92.CallMe (92);
1050                 mrp.CanCastToCalled = false;
1051                 itf92 = (I92)o;
1052                 if (mrp.CanCastToCalled)
1053                         return 92;
1054                 total += itf92.CallMe (92);
1055
1056                 mrp.CanCastToCalled = false;
1057                 I93 itf93 = (I93)o;
1058                 if (!mrp.CanCastToCalled)
1059                         return 93;
1060                 total += itf93.CallMe (93);
1061                 mrp.CanCastToCalled = false;
1062                 itf93 = (I93)o;
1063                 if (mrp.CanCastToCalled)
1064                         return 93;
1065                 total += itf93.CallMe (93);
1066
1067                 mrp.CanCastToCalled = false;
1068                 I94 itf94 = (I94)o;
1069                 if (!mrp.CanCastToCalled)
1070                         return 94;
1071                 total += itf94.CallMe (94);
1072                 mrp.CanCastToCalled = false;
1073                 itf94 = (I94)o;
1074                 if (mrp.CanCastToCalled)
1075                         return 94;
1076                 total += itf94.CallMe (94);
1077
1078                 mrp.CanCastToCalled = false;
1079                 I95 itf95 = (I95)o;
1080                 if (!mrp.CanCastToCalled)
1081                         return 95;
1082                 total += itf95.CallMe (95);
1083                 mrp.CanCastToCalled = false;
1084                 itf95 = (I95)o;
1085                 if (mrp.CanCastToCalled)
1086                         return 95;
1087                 total += itf95.CallMe (95);
1088
1089                 mrp.CanCastToCalled = false;
1090                 I96 itf96 = (I96)o;
1091                 if (!mrp.CanCastToCalled)
1092                         return 96;
1093                 total += itf96.CallMe (96);
1094                 mrp.CanCastToCalled = false;
1095                 itf96 = (I96)o;
1096                 if (mrp.CanCastToCalled)
1097                         return 96;
1098                 total += itf96.CallMe (96);
1099
1100                 mrp.CanCastToCalled = false;
1101                 I97 itf97 = (I97)o;
1102                 if (!mrp.CanCastToCalled)
1103                         return 97;
1104                 total += itf97.CallMe (97);
1105                 mrp.CanCastToCalled = false;
1106                 itf97 = (I97)o;
1107                 if (mrp.CanCastToCalled)
1108                         return 97;
1109                 total += itf97.CallMe (97);
1110
1111                 mrp.CanCastToCalled = false;
1112                 I98 itf98 = (I98)o;
1113                 if (!mrp.CanCastToCalled)
1114                         return 98;
1115                 total += itf98.CallMe (98);
1116                 mrp.CanCastToCalled = false;
1117                 itf98 = (I98)o;
1118                 if (mrp.CanCastToCalled)
1119                         return 98;
1120                 total += itf98.CallMe (98);
1121
1122                 mrp.CanCastToCalled = false;
1123                 I99 itf99 = (I99)o;
1124                 if (!mrp.CanCastToCalled)
1125                         return 99;
1126                 total += itf99.CallMe (99);
1127                 mrp.CanCastToCalled = false;
1128                 itf99 = (I99)o;
1129                 if (mrp.CanCastToCalled)
1130                         return 99;
1131                 total += itf99.CallMe (99);
1132
1133                 mrp.CanCastToCalled = false;
1134                 I100 itf100 = (I100)o;
1135                 if (!mrp.CanCastToCalled)
1136                         return 100;
1137                 total += itf100.CallMe (100);
1138                 mrp.CanCastToCalled = false;
1139                 itf100 = (I100)o;
1140                 if (mrp.CanCastToCalled)
1141                         return 100;
1142                 total += itf100.CallMe (100);
1143
1144                 mrp.CanCastToCalled = false;
1145                 I101 itf101 = (I101)o;
1146                 if (!mrp.CanCastToCalled)
1147                         return 101;
1148                 total += itf101.CallMe (101);
1149                 mrp.CanCastToCalled = false;
1150                 itf101 = (I101)o;
1151                 if (mrp.CanCastToCalled)
1152                         return 101;
1153                 total += itf101.CallMe (101);
1154
1155                 mrp.CanCastToCalled = false;
1156                 I102 itf102 = (I102)o;
1157                 if (!mrp.CanCastToCalled)
1158                         return 102;
1159                 total += itf102.CallMe (102);
1160                 mrp.CanCastToCalled = false;
1161                 itf102 = (I102)o;
1162                 if (mrp.CanCastToCalled)
1163                         return 102;
1164                 total += itf102.CallMe (102);
1165
1166                 mrp.CanCastToCalled = false;
1167                 I103 itf103 = (I103)o;
1168                 if (!mrp.CanCastToCalled)
1169                         return 103;
1170                 total += itf103.CallMe (103);
1171                 mrp.CanCastToCalled = false;
1172                 itf103 = (I103)o;
1173                 if (mrp.CanCastToCalled)
1174                         return 103;
1175                 total += itf103.CallMe (103);
1176
1177                 mrp.CanCastToCalled = false;
1178                 I104 itf104 = (I104)o;
1179                 if (!mrp.CanCastToCalled)
1180                         return 104;
1181                 total += itf104.CallMe (104);
1182                 mrp.CanCastToCalled = false;
1183                 itf104 = (I104)o;
1184                 if (mrp.CanCastToCalled)
1185                         return 104;
1186                 total += itf104.CallMe (104);
1187
1188                 mrp.CanCastToCalled = false;
1189                 I105 itf105 = (I105)o;
1190                 if (!mrp.CanCastToCalled)
1191                         return 105;
1192                 total += itf105.CallMe (105);
1193                 mrp.CanCastToCalled = false;
1194                 itf105 = (I105)o;
1195                 if (mrp.CanCastToCalled)
1196                         return 105;
1197                 total += itf105.CallMe (105);
1198
1199                 mrp.CanCastToCalled = false;
1200                 I106 itf106 = (I106)o;
1201                 if (!mrp.CanCastToCalled)
1202                         return 106;
1203                 total += itf106.CallMe (106);
1204                 mrp.CanCastToCalled = false;
1205                 itf106 = (I106)o;
1206                 if (mrp.CanCastToCalled)
1207                         return 106;
1208                 total += itf106.CallMe (106);
1209
1210                 mrp.CanCastToCalled = false;
1211                 I107 itf107 = (I107)o;
1212                 if (!mrp.CanCastToCalled)
1213                         return 107;
1214                 total += itf107.CallMe (107);
1215                 mrp.CanCastToCalled = false;
1216                 itf107 = (I107)o;
1217                 if (mrp.CanCastToCalled)
1218                         return 107;
1219                 total += itf107.CallMe (107);
1220
1221                 mrp.CanCastToCalled = false;
1222                 I108 itf108 = (I108)o;
1223                 if (!mrp.CanCastToCalled)
1224                         return 108;
1225                 total += itf108.CallMe (108);
1226                 mrp.CanCastToCalled = false;
1227                 itf108 = (I108)o;
1228                 if (mrp.CanCastToCalled)
1229                         return 108;
1230                 total += itf108.CallMe (108);
1231
1232                 mrp.CanCastToCalled = false;
1233                 I109 itf109 = (I109)o;
1234                 if (!mrp.CanCastToCalled)
1235                         return 109;
1236                 total += itf109.CallMe (109);
1237                 mrp.CanCastToCalled = false;
1238                 itf109 = (I109)o;
1239                 if (mrp.CanCastToCalled)
1240                         return 109;
1241                 total += itf109.CallMe (109);
1242
1243                 mrp.CanCastToCalled = false;
1244                 I110 itf110 = (I110)o;
1245                 if (!mrp.CanCastToCalled)
1246                         return 110;
1247                 total += itf110.CallMe (110);
1248                 mrp.CanCastToCalled = false;
1249                 itf110 = (I110)o;
1250                 if (mrp.CanCastToCalled)
1251                         return 110;
1252                 total += itf110.CallMe (110);
1253
1254                 mrp.CanCastToCalled = false;
1255                 I111 itf111 = (I111)o;
1256                 if (!mrp.CanCastToCalled)
1257                         return 111;
1258                 total += itf111.CallMe (111);
1259                 mrp.CanCastToCalled = false;
1260                 itf111 = (I111)o;
1261                 if (mrp.CanCastToCalled)
1262                         return 111;
1263                 total += itf111.CallMe (111);
1264
1265                 mrp.CanCastToCalled = false;
1266                 I112 itf112 = (I112)o;
1267                 if (!mrp.CanCastToCalled)
1268                         return 112;
1269                 total += itf112.CallMe (112);
1270                 mrp.CanCastToCalled = false;
1271                 itf112 = (I112)o;
1272                 if (mrp.CanCastToCalled)
1273                         return 112;
1274                 total += itf112.CallMe (112);
1275
1276                 mrp.CanCastToCalled = false;
1277                 I113 itf113 = (I113)o;
1278                 if (!mrp.CanCastToCalled)
1279                         return 113;
1280                 total += itf113.CallMe (113);
1281                 mrp.CanCastToCalled = false;
1282                 itf113 = (I113)o;
1283                 if (mrp.CanCastToCalled)
1284                         return 113;
1285                 total += itf113.CallMe (113);
1286
1287                 mrp.CanCastToCalled = false;
1288                 I114 itf114 = (I114)o;
1289                 if (!mrp.CanCastToCalled)
1290                         return 114;
1291                 total += itf114.CallMe (114);
1292                 mrp.CanCastToCalled = false;
1293                 itf114 = (I114)o;
1294                 if (mrp.CanCastToCalled)
1295                         return 114;
1296                 total += itf114.CallMe (114);
1297
1298                 mrp.CanCastToCalled = false;
1299                 I115 itf115 = (I115)o;
1300                 if (!mrp.CanCastToCalled)
1301                         return 115;
1302                 total += itf115.CallMe (115);
1303                 mrp.CanCastToCalled = false;
1304                 itf115 = (I115)o;
1305                 if (mrp.CanCastToCalled)
1306                         return 115;
1307                 total += itf115.CallMe (115);
1308
1309                 mrp.CanCastToCalled = false;
1310                 I116 itf116 = (I116)o;
1311                 if (!mrp.CanCastToCalled)
1312                         return 116;
1313                 total += itf116.CallMe (116);
1314                 mrp.CanCastToCalled = false;
1315                 itf116 = (I116)o;
1316                 if (mrp.CanCastToCalled)
1317                         return 116;
1318                 total += itf116.CallMe (116);
1319
1320                 mrp.CanCastToCalled = false;
1321                 I117 itf117 = (I117)o;
1322                 if (!mrp.CanCastToCalled)
1323                         return 117;
1324                 total += itf117.CallMe (117);
1325                 mrp.CanCastToCalled = false;
1326                 itf117 = (I117)o;
1327                 if (mrp.CanCastToCalled)
1328                         return 117;
1329                 total += itf117.CallMe (117);
1330
1331                 mrp.CanCastToCalled = false;
1332                 I118 itf118 = (I118)o;
1333                 if (!mrp.CanCastToCalled)
1334                         return 118;
1335                 total += itf118.CallMe (118);
1336                 mrp.CanCastToCalled = false;
1337                 itf118 = (I118)o;
1338                 if (mrp.CanCastToCalled)
1339                         return 118;
1340                 total += itf118.CallMe (118);
1341
1342                 mrp.CanCastToCalled = false;
1343                 I119 itf119 = (I119)o;
1344                 if (!mrp.CanCastToCalled)
1345                         return 119;
1346                 total += itf119.CallMe (119);
1347                 mrp.CanCastToCalled = false;
1348                 itf119 = (I119)o;
1349                 if (mrp.CanCastToCalled)
1350                         return 119;
1351                 total += itf119.CallMe (119);
1352
1353                 mrp.CanCastToCalled = false;
1354                 I120 itf120 = (I120)o;
1355                 if (!mrp.CanCastToCalled)
1356                         return 120;
1357                 total += itf120.CallMe (120);
1358                 mrp.CanCastToCalled = false;
1359                 itf120 = (I120)o;
1360                 if (mrp.CanCastToCalled)
1361                         return 120;
1362                 total += itf120.CallMe (120);
1363
1364                 mrp.CanCastToCalled = false;
1365                 I121 itf121 = (I121)o;
1366                 if (!mrp.CanCastToCalled)
1367                         return 121;
1368                 total += itf121.CallMe (121);
1369                 mrp.CanCastToCalled = false;
1370                 itf121 = (I121)o;
1371                 if (mrp.CanCastToCalled)
1372                         return 121;
1373                 total += itf121.CallMe (121);
1374
1375                 mrp.CanCastToCalled = false;
1376                 I122 itf122 = (I122)o;
1377                 if (!mrp.CanCastToCalled)
1378                         return 122;
1379                 total += itf122.CallMe (122);
1380                 mrp.CanCastToCalled = false;
1381                 itf122 = (I122)o;
1382                 if (mrp.CanCastToCalled)
1383                         return 122;
1384                 total += itf122.CallMe (122);
1385
1386                 mrp.CanCastToCalled = false;
1387                 I123 itf123 = (I123)o;
1388                 if (!mrp.CanCastToCalled)
1389                         return 123;
1390                 total += itf123.CallMe (123);
1391                 mrp.CanCastToCalled = false;
1392                 itf123 = (I123)o;
1393                 if (mrp.CanCastToCalled)
1394                         return 123;
1395                 total += itf123.CallMe (123);
1396
1397                 mrp.CanCastToCalled = false;
1398                 I124 itf124 = (I124)o;
1399                 if (!mrp.CanCastToCalled)
1400                         return 124;
1401                 total += itf124.CallMe (124);
1402                 mrp.CanCastToCalled = false;
1403                 itf124 = (I124)o;
1404                 if (mrp.CanCastToCalled)
1405                         return 124;
1406                 total += itf124.CallMe (124);
1407
1408                 mrp.CanCastToCalled = false;
1409                 I125 itf125 = (I125)o;
1410                 if (!mrp.CanCastToCalled)
1411                         return 125;
1412                 total += itf125.CallMe (125);
1413                 mrp.CanCastToCalled = false;
1414                 itf125 = (I125)o;
1415                 if (mrp.CanCastToCalled)
1416                         return 125;
1417                 total += itf125.CallMe (125);
1418
1419                 mrp.CanCastToCalled = false;
1420                 I126 itf126 = (I126)o;
1421                 if (!mrp.CanCastToCalled)
1422                         return 126;
1423                 total += itf126.CallMe (126);
1424                 mrp.CanCastToCalled = false;
1425                 itf126 = (I126)o;
1426                 if (mrp.CanCastToCalled)
1427                         return 126;
1428                 total += itf126.CallMe (126);
1429
1430                 mrp.CanCastToCalled = false;
1431                 I127 itf127 = (I127)o;
1432                 if (!mrp.CanCastToCalled)
1433                         return 127;
1434                 total += itf127.CallMe (127);
1435                 mrp.CanCastToCalled = false;
1436                 itf127 = (I127)o;
1437                 if (mrp.CanCastToCalled)
1438                         return 127;
1439                 total += itf127.CallMe (127);
1440
1441                 mrp.CanCastToCalled = false;
1442                 I128 itf128 = (I128)o;
1443                 if (!mrp.CanCastToCalled)
1444                         return 128;
1445                 total += itf128.CallMe (128);
1446                 mrp.CanCastToCalled = false;
1447                 itf128 = (I128)o;
1448                 if (mrp.CanCastToCalled)
1449                         return 128;
1450                 total += itf128.CallMe (128);
1451
1452                 mrp.CanCastToCalled = false;
1453                 I129 itf129 = (I129)o;
1454                 if (!mrp.CanCastToCalled)
1455                         return 129;
1456                 total += itf129.CallMe (129);
1457                 mrp.CanCastToCalled = false;
1458                 itf129 = (I129)o;
1459                 if (mrp.CanCastToCalled)
1460                         return 129;
1461                 total += itf129.CallMe (129);
1462
1463                 mrp.CanCastToCalled = false;
1464                 I130 itf130 = (I130)o;
1465                 if (!mrp.CanCastToCalled)
1466                         return 130;
1467                 total += itf130.CallMe (130);
1468                 mrp.CanCastToCalled = false;
1469                 itf130 = (I130)o;
1470                 if (mrp.CanCastToCalled)
1471                         return 130;
1472                 total += itf130.CallMe (130);
1473
1474                 mrp.CanCastToCalled = false;
1475                 I131 itf131 = (I131)o;
1476                 if (!mrp.CanCastToCalled)
1477                         return 131;
1478                 total += itf131.CallMe (131);
1479                 mrp.CanCastToCalled = false;
1480                 itf131 = (I131)o;
1481                 if (mrp.CanCastToCalled)
1482                         return 131;
1483                 total += itf131.CallMe (131);
1484
1485                 mrp.CanCastToCalled = false;
1486                 I132 itf132 = (I132)o;
1487                 if (!mrp.CanCastToCalled)
1488                         return 132;
1489                 total += itf132.CallMe (132);
1490                 mrp.CanCastToCalled = false;
1491                 itf132 = (I132)o;
1492                 if (mrp.CanCastToCalled)
1493                         return 132;
1494                 total += itf132.CallMe (132);
1495
1496                 mrp.CanCastToCalled = false;
1497                 I133 itf133 = (I133)o;
1498                 if (!mrp.CanCastToCalled)
1499                         return 133;
1500                 total += itf133.CallMe (133);
1501                 mrp.CanCastToCalled = false;
1502                 itf133 = (I133)o;
1503                 if (mrp.CanCastToCalled)
1504                         return 133;
1505                 total += itf133.CallMe (133);
1506
1507                 mrp.CanCastToCalled = false;
1508                 I134 itf134 = (I134)o;
1509                 if (!mrp.CanCastToCalled)
1510                         return 134;
1511                 total += itf134.CallMe (134);
1512                 mrp.CanCastToCalled = false;
1513                 itf134 = (I134)o;
1514                 if (mrp.CanCastToCalled)
1515                         return 134;
1516                 total += itf134.CallMe (134);
1517
1518                 mrp.CanCastToCalled = false;
1519                 I135 itf135 = (I135)o;
1520                 if (!mrp.CanCastToCalled)
1521                         return 135;
1522                 total += itf135.CallMe (135);
1523                 mrp.CanCastToCalled = false;
1524                 itf135 = (I135)o;
1525                 if (mrp.CanCastToCalled)
1526                         return 135;
1527                 total += itf135.CallMe (135);
1528
1529                 mrp.CanCastToCalled = false;
1530                 I136 itf136 = (I136)o;
1531                 if (!mrp.CanCastToCalled)
1532                         return 136;
1533                 total += itf136.CallMe (136);
1534                 mrp.CanCastToCalled = false;
1535                 itf136 = (I136)o;
1536                 if (mrp.CanCastToCalled)
1537                         return 136;
1538                 total += itf136.CallMe (136);
1539
1540                 mrp.CanCastToCalled = false;
1541                 I137 itf137 = (I137)o;
1542                 if (!mrp.CanCastToCalled)
1543                         return 137;
1544                 total += itf137.CallMe (137);
1545                 mrp.CanCastToCalled = false;
1546                 itf137 = (I137)o;
1547                 if (mrp.CanCastToCalled)
1548                         return 137;
1549                 total += itf137.CallMe (137);
1550
1551                 mrp.CanCastToCalled = false;
1552                 I138 itf138 = (I138)o;
1553                 if (!mrp.CanCastToCalled)
1554                         return 138;
1555                 total += itf138.CallMe (138);
1556                 mrp.CanCastToCalled = false;
1557                 itf138 = (I138)o;
1558                 if (mrp.CanCastToCalled)
1559                         return 138;
1560                 total += itf138.CallMe (138);
1561
1562                 mrp.CanCastToCalled = false;
1563                 I139 itf139 = (I139)o;
1564                 if (!mrp.CanCastToCalled)
1565                         return 139;
1566                 total += itf139.CallMe (139);
1567                 mrp.CanCastToCalled = false;
1568                 itf139 = (I139)o;
1569                 if (mrp.CanCastToCalled)
1570                         return 139;
1571                 total += itf139.CallMe (139);
1572
1573                 mrp.CanCastToCalled = false;
1574                 I140 itf140 = (I140)o;
1575                 if (!mrp.CanCastToCalled)
1576                         return 140;
1577                 total += itf140.CallMe (140);
1578                 mrp.CanCastToCalled = false;
1579                 itf140 = (I140)o;
1580                 if (mrp.CanCastToCalled)
1581                         return 140;
1582                 total += itf140.CallMe (140);
1583
1584                 mrp.CanCastToCalled = false;
1585                 I141 itf141 = (I141)o;
1586                 if (!mrp.CanCastToCalled)
1587                         return 141;
1588                 total += itf141.CallMe (141);
1589                 mrp.CanCastToCalled = false;
1590                 itf141 = (I141)o;
1591                 if (mrp.CanCastToCalled)
1592                         return 141;
1593                 total += itf141.CallMe (141);
1594
1595                 mrp.CanCastToCalled = false;
1596                 I142 itf142 = (I142)o;
1597                 if (!mrp.CanCastToCalled)
1598                         return 142;
1599                 total += itf142.CallMe (142);
1600                 mrp.CanCastToCalled = false;
1601                 itf142 = (I142)o;
1602                 if (mrp.CanCastToCalled)
1603                         return 142;
1604                 total += itf142.CallMe (142);
1605
1606                 mrp.CanCastToCalled = false;
1607                 I143 itf143 = (I143)o;
1608                 if (!mrp.CanCastToCalled)
1609                         return 143;
1610                 total += itf143.CallMe (143);
1611                 mrp.CanCastToCalled = false;
1612                 itf143 = (I143)o;
1613                 if (mrp.CanCastToCalled)
1614                         return 143;
1615                 total += itf143.CallMe (143);
1616
1617                 mrp.CanCastToCalled = false;
1618                 I144 itf144 = (I144)o;
1619                 if (!mrp.CanCastToCalled)
1620                         return 144;
1621                 total += itf144.CallMe (144);
1622                 mrp.CanCastToCalled = false;
1623                 itf144 = (I144)o;
1624                 if (mrp.CanCastToCalled)
1625                         return 144;
1626                 total += itf144.CallMe (144);
1627
1628                 mrp.CanCastToCalled = false;
1629                 I145 itf145 = (I145)o;
1630                 if (!mrp.CanCastToCalled)
1631                         return 145;
1632                 total += itf145.CallMe (145);
1633                 mrp.CanCastToCalled = false;
1634                 itf145 = (I145)o;
1635                 if (mrp.CanCastToCalled)
1636                         return 145;
1637                 total += itf145.CallMe (145);
1638
1639                 mrp.CanCastToCalled = false;
1640                 I146 itf146 = (I146)o;
1641                 if (!mrp.CanCastToCalled)
1642                         return 146;
1643                 total += itf146.CallMe (146);
1644                 mrp.CanCastToCalled = false;
1645                 itf146 = (I146)o;
1646                 if (mrp.CanCastToCalled)
1647                         return 146;
1648                 total += itf146.CallMe (146);
1649
1650                 mrp.CanCastToCalled = false;
1651                 I147 itf147 = (I147)o;
1652                 if (!mrp.CanCastToCalled)
1653                         return 147;
1654                 total += itf147.CallMe (147);
1655                 mrp.CanCastToCalled = false;
1656                 itf147 = (I147)o;
1657                 if (mrp.CanCastToCalled)
1658                         return 147;
1659                 total += itf147.CallMe (147);
1660
1661                 mrp.CanCastToCalled = false;
1662                 I148 itf148 = (I148)o;
1663                 if (!mrp.CanCastToCalled)
1664                         return 148;
1665                 total += itf148.CallMe (148);
1666                 mrp.CanCastToCalled = false;
1667                 itf148 = (I148)o;
1668                 if (mrp.CanCastToCalled)
1669                         return 148;
1670                 total += itf148.CallMe (148);
1671
1672                 mrp.CanCastToCalled = false;
1673                 I149 itf149 = (I149)o;
1674                 if (!mrp.CanCastToCalled)
1675                         return 149;
1676                 total += itf149.CallMe (149);
1677                 mrp.CanCastToCalled = false;
1678                 itf149 = (I149)o;
1679                 if (mrp.CanCastToCalled)
1680                         return 149;
1681                 total += itf149.CallMe (149);
1682
1683                 mrp.CanCastToCalled = false;
1684                 I150 itf150 = (I150)o;
1685                 if (!mrp.CanCastToCalled)
1686                         return 150;
1687                 total += itf150.CallMe (150);
1688                 mrp.CanCastToCalled = false;
1689                 itf150 = (I150)o;
1690                 if (mrp.CanCastToCalled)
1691                         return 150;
1692                 total += itf150.CallMe (150);
1693
1694                 mrp.CanCastToCalled = false;
1695                 I151 itf151 = (I151)o;
1696                 if (!mrp.CanCastToCalled)
1697                         return 151;
1698                 total += itf151.CallMe (151);
1699                 mrp.CanCastToCalled = false;
1700                 itf151 = (I151)o;
1701                 if (mrp.CanCastToCalled)
1702                         return 151;
1703                 total += itf151.CallMe (151);
1704
1705                 mrp.CanCastToCalled = false;
1706                 I152 itf152 = (I152)o;
1707                 if (!mrp.CanCastToCalled)
1708                         return 152;
1709                 total += itf152.CallMe (152);
1710                 mrp.CanCastToCalled = false;
1711                 itf152 = (I152)o;
1712                 if (mrp.CanCastToCalled)
1713                         return 152;
1714                 total += itf152.CallMe (152);
1715
1716                 mrp.CanCastToCalled = false;
1717                 I153 itf153 = (I153)o;
1718                 if (!mrp.CanCastToCalled)
1719                         return 153;
1720                 total += itf153.CallMe (153);
1721                 mrp.CanCastToCalled = false;
1722                 itf153 = (I153)o;
1723                 if (mrp.CanCastToCalled)
1724                         return 153;
1725                 total += itf153.CallMe (153);
1726
1727                 mrp.CanCastToCalled = false;
1728                 I154 itf154 = (I154)o;
1729                 if (!mrp.CanCastToCalled)
1730                         return 154;
1731                 total += itf154.CallMe (154);
1732                 mrp.CanCastToCalled = false;
1733                 itf154 = (I154)o;
1734                 if (mrp.CanCastToCalled)
1735                         return 154;
1736                 total += itf154.CallMe (154);
1737
1738                 mrp.CanCastToCalled = false;
1739                 I155 itf155 = (I155)o;
1740                 if (!mrp.CanCastToCalled)
1741                         return 155;
1742                 total += itf155.CallMe (155);
1743                 mrp.CanCastToCalled = false;
1744                 itf155 = (I155)o;
1745                 if (mrp.CanCastToCalled)
1746                         return 155;
1747                 total += itf155.CallMe (155);
1748
1749                 mrp.CanCastToCalled = false;
1750                 I156 itf156 = (I156)o;
1751                 if (!mrp.CanCastToCalled)
1752                         return 156;
1753                 total += itf156.CallMe (156);
1754                 mrp.CanCastToCalled = false;
1755                 itf156 = (I156)o;
1756                 if (mrp.CanCastToCalled)
1757                         return 156;
1758                 total += itf156.CallMe (156);
1759
1760                 mrp.CanCastToCalled = false;
1761                 I157 itf157 = (I157)o;
1762                 if (!mrp.CanCastToCalled)
1763                         return 157;
1764                 total += itf157.CallMe (157);
1765                 mrp.CanCastToCalled = false;
1766                 itf157 = (I157)o;
1767                 if (mrp.CanCastToCalled)
1768                         return 157;
1769                 total += itf157.CallMe (157);
1770
1771                 mrp.CanCastToCalled = false;
1772                 I158 itf158 = (I158)o;
1773                 if (!mrp.CanCastToCalled)
1774                         return 158;
1775                 total += itf158.CallMe (158);
1776                 mrp.CanCastToCalled = false;
1777                 itf158 = (I158)o;
1778                 if (mrp.CanCastToCalled)
1779                         return 158;
1780                 total += itf158.CallMe (158);
1781
1782                 mrp.CanCastToCalled = false;
1783                 I159 itf159 = (I159)o;
1784                 if (!mrp.CanCastToCalled)
1785                         return 159;
1786                 total += itf159.CallMe (159);
1787                 mrp.CanCastToCalled = false;
1788                 itf159 = (I159)o;
1789                 if (mrp.CanCastToCalled)
1790                         return 159;
1791                 total += itf159.CallMe (159);
1792
1793                 mrp.CanCastToCalled = false;
1794                 I160 itf160 = (I160)o;
1795                 if (!mrp.CanCastToCalled)
1796                         return 160;
1797                 total += itf160.CallMe (160);
1798                 mrp.CanCastToCalled = false;
1799                 itf160 = (I160)o;
1800                 if (mrp.CanCastToCalled)
1801                         return 160;
1802                 total += itf160.CallMe (160);
1803
1804                 mrp.CanCastToCalled = false;
1805                 I161 itf161 = (I161)o;
1806                 if (!mrp.CanCastToCalled)
1807                         return 161;
1808                 total += itf161.CallMe (161);
1809                 mrp.CanCastToCalled = false;
1810                 itf161 = (I161)o;
1811                 if (mrp.CanCastToCalled)
1812                         return 161;
1813                 total += itf161.CallMe (161);
1814
1815                 mrp.CanCastToCalled = false;
1816                 I162 itf162 = (I162)o;
1817                 if (!mrp.CanCastToCalled)
1818                         return 162;
1819                 total += itf162.CallMe (162);
1820                 mrp.CanCastToCalled = false;
1821                 itf162 = (I162)o;
1822                 if (mrp.CanCastToCalled)
1823                         return 162;
1824                 total += itf162.CallMe (162);
1825
1826                 mrp.CanCastToCalled = false;
1827                 I163 itf163 = (I163)o;
1828                 if (!mrp.CanCastToCalled)
1829                         return 163;
1830                 total += itf163.CallMe (163);
1831                 mrp.CanCastToCalled = false;
1832                 itf163 = (I163)o;
1833                 if (mrp.CanCastToCalled)
1834                         return 163;
1835                 total += itf163.CallMe (163);
1836
1837                 mrp.CanCastToCalled = false;
1838                 I164 itf164 = (I164)o;
1839                 if (!mrp.CanCastToCalled)
1840                         return 164;
1841                 total += itf164.CallMe (164);
1842                 mrp.CanCastToCalled = false;
1843                 itf164 = (I164)o;
1844                 if (mrp.CanCastToCalled)
1845                         return 164;
1846                 total += itf164.CallMe (164);
1847
1848                 mrp.CanCastToCalled = false;
1849                 I165 itf165 = (I165)o;
1850                 if (!mrp.CanCastToCalled)
1851                         return 165;
1852                 total += itf165.CallMe (165);
1853                 mrp.CanCastToCalled = false;
1854                 itf165 = (I165)o;
1855                 if (mrp.CanCastToCalled)
1856                         return 165;
1857                 total += itf165.CallMe (165);
1858
1859                 mrp.CanCastToCalled = false;
1860                 I166 itf166 = (I166)o;
1861                 if (!mrp.CanCastToCalled)
1862                         return 166;
1863                 total += itf166.CallMe (166);
1864                 mrp.CanCastToCalled = false;
1865                 itf166 = (I166)o;
1866                 if (mrp.CanCastToCalled)
1867                         return 166;
1868                 total += itf166.CallMe (166);
1869
1870                 mrp.CanCastToCalled = false;
1871                 I167 itf167 = (I167)o;
1872                 if (!mrp.CanCastToCalled)
1873                         return 167;
1874                 total += itf167.CallMe (167);
1875                 mrp.CanCastToCalled = false;
1876                 itf167 = (I167)o;
1877                 if (mrp.CanCastToCalled)
1878                         return 167;
1879                 total += itf167.CallMe (167);
1880
1881                 mrp.CanCastToCalled = false;
1882                 I168 itf168 = (I168)o;
1883                 if (!mrp.CanCastToCalled)
1884                         return 168;
1885                 total += itf168.CallMe (168);
1886                 mrp.CanCastToCalled = false;
1887                 itf168 = (I168)o;
1888                 if (mrp.CanCastToCalled)
1889                         return 168;
1890                 total += itf168.CallMe (168);
1891
1892                 mrp.CanCastToCalled = false;
1893                 I169 itf169 = (I169)o;
1894                 if (!mrp.CanCastToCalled)
1895                         return 169;
1896                 total += itf169.CallMe (169);
1897                 mrp.CanCastToCalled = false;
1898                 itf169 = (I169)o;
1899                 if (mrp.CanCastToCalled)
1900                         return 169;
1901                 total += itf169.CallMe (169);
1902
1903                 mrp.CanCastToCalled = false;
1904                 I170 itf170 = (I170)o;
1905                 if (!mrp.CanCastToCalled)
1906                         return 170;
1907                 total += itf170.CallMe (170);
1908                 mrp.CanCastToCalled = false;
1909                 itf170 = (I170)o;
1910                 if (mrp.CanCastToCalled)
1911                         return 170;
1912                 total += itf170.CallMe (170);
1913
1914                 mrp.CanCastToCalled = false;
1915                 I171 itf171 = (I171)o;
1916                 if (!mrp.CanCastToCalled)
1917                         return 171;
1918                 total += itf171.CallMe (171);
1919                 mrp.CanCastToCalled = false;
1920                 itf171 = (I171)o;
1921                 if (mrp.CanCastToCalled)
1922                         return 171;
1923                 total += itf171.CallMe (171);
1924
1925                 mrp.CanCastToCalled = false;
1926                 I172 itf172 = (I172)o;
1927                 if (!mrp.CanCastToCalled)
1928                         return 172;
1929                 total += itf172.CallMe (172);
1930                 mrp.CanCastToCalled = false;
1931                 itf172 = (I172)o;
1932                 if (mrp.CanCastToCalled)
1933                         return 172;
1934                 total += itf172.CallMe (172);
1935
1936                 mrp.CanCastToCalled = false;
1937                 I173 itf173 = (I173)o;
1938                 if (!mrp.CanCastToCalled)
1939                         return 173;
1940                 total += itf173.CallMe (173);
1941                 mrp.CanCastToCalled = false;
1942                 itf173 = (I173)o;
1943                 if (mrp.CanCastToCalled)
1944                         return 173;
1945                 total += itf173.CallMe (173);
1946
1947                 mrp.CanCastToCalled = false;
1948                 I174 itf174 = (I174)o;
1949                 if (!mrp.CanCastToCalled)
1950                         return 174;
1951                 total += itf174.CallMe (174);
1952                 mrp.CanCastToCalled = false;
1953                 itf174 = (I174)o;
1954                 if (mrp.CanCastToCalled)
1955                         return 174;
1956                 total += itf174.CallMe (174);
1957
1958                 mrp.CanCastToCalled = false;
1959                 I175 itf175 = (I175)o;
1960                 if (!mrp.CanCastToCalled)
1961                         return 175;
1962                 total += itf175.CallMe (175);
1963                 mrp.CanCastToCalled = false;
1964                 itf175 = (I175)o;
1965                 if (mrp.CanCastToCalled)
1966                         return 175;
1967                 total += itf175.CallMe (175);
1968
1969                 mrp.CanCastToCalled = false;
1970                 I176 itf176 = (I176)o;
1971                 if (!mrp.CanCastToCalled)
1972                         return 176;
1973                 total += itf176.CallMe (176);
1974                 mrp.CanCastToCalled = false;
1975                 itf176 = (I176)o;
1976                 if (mrp.CanCastToCalled)
1977                         return 176;
1978                 total += itf176.CallMe (176);
1979
1980                 mrp.CanCastToCalled = false;
1981                 I177 itf177 = (I177)o;
1982                 if (!mrp.CanCastToCalled)
1983                         return 177;
1984                 total += itf177.CallMe (177);
1985                 mrp.CanCastToCalled = false;
1986                 itf177 = (I177)o;
1987                 if (mrp.CanCastToCalled)
1988                         return 177;
1989                 total += itf177.CallMe (177);
1990
1991                 mrp.CanCastToCalled = false;
1992                 I178 itf178 = (I178)o;
1993                 if (!mrp.CanCastToCalled)
1994                         return 178;
1995                 total += itf178.CallMe (178);
1996                 mrp.CanCastToCalled = false;
1997                 itf178 = (I178)o;
1998                 if (mrp.CanCastToCalled)
1999                         return 178;
2000                 total += itf178.CallMe (178);
2001
2002                 mrp.CanCastToCalled = false;
2003                 I179 itf179 = (I179)o;
2004                 if (!mrp.CanCastToCalled)
2005                         return 179;
2006                 total += itf179.CallMe (179);
2007                 mrp.CanCastToCalled = false;
2008                 itf179 = (I179)o;
2009                 if (mrp.CanCastToCalled)
2010                         return 179;
2011                 total += itf179.CallMe (179);
2012
2013                 mrp.CanCastToCalled = false;
2014                 I180 itf180 = (I180)o;
2015                 if (!mrp.CanCastToCalled)
2016                         return 180;
2017                 total += itf180.CallMe (180);
2018                 mrp.CanCastToCalled = false;
2019                 itf180 = (I180)o;
2020                 if (mrp.CanCastToCalled)
2021                         return 180;
2022                 total += itf180.CallMe (180);
2023
2024                 mrp.CanCastToCalled = false;
2025                 I181 itf181 = (I181)o;
2026                 if (!mrp.CanCastToCalled)
2027                         return 181;
2028                 total += itf181.CallMe (181);
2029                 mrp.CanCastToCalled = false;
2030                 itf181 = (I181)o;
2031                 if (mrp.CanCastToCalled)
2032                         return 181;
2033                 total += itf181.CallMe (181);
2034
2035                 mrp.CanCastToCalled = false;
2036                 I182 itf182 = (I182)o;
2037                 if (!mrp.CanCastToCalled)
2038                         return 182;
2039                 total += itf182.CallMe (182);
2040                 mrp.CanCastToCalled = false;
2041                 itf182 = (I182)o;
2042                 if (mrp.CanCastToCalled)
2043                         return 182;
2044                 total += itf182.CallMe (182);
2045
2046                 mrp.CanCastToCalled = false;
2047                 I183 itf183 = (I183)o;
2048                 if (!mrp.CanCastToCalled)
2049                         return 183;
2050                 total += itf183.CallMe (183);
2051                 mrp.CanCastToCalled = false;
2052                 itf183 = (I183)o;
2053                 if (mrp.CanCastToCalled)
2054                         return 183;
2055                 total += itf183.CallMe (183);
2056
2057                 mrp.CanCastToCalled = false;
2058                 I184 itf184 = (I184)o;
2059                 if (!mrp.CanCastToCalled)
2060                         return 184;
2061                 total += itf184.CallMe (184);
2062                 mrp.CanCastToCalled = false;
2063                 itf184 = (I184)o;
2064                 if (mrp.CanCastToCalled)
2065                         return 184;
2066                 total += itf184.CallMe (184);
2067
2068                 mrp.CanCastToCalled = false;
2069                 I185 itf185 = (I185)o;
2070                 if (!mrp.CanCastToCalled)
2071                         return 185;
2072                 total += itf185.CallMe (185);
2073                 mrp.CanCastToCalled = false;
2074                 itf185 = (I185)o;
2075                 if (mrp.CanCastToCalled)
2076                         return 185;
2077                 total += itf185.CallMe (185);
2078
2079                 mrp.CanCastToCalled = false;
2080                 I186 itf186 = (I186)o;
2081                 if (!mrp.CanCastToCalled)
2082                         return 186;
2083                 total += itf186.CallMe (186);
2084                 mrp.CanCastToCalled = false;
2085                 itf186 = (I186)o;
2086                 if (mrp.CanCastToCalled)
2087                         return 186;
2088                 total += itf186.CallMe (186);
2089
2090                 mrp.CanCastToCalled = false;
2091                 I187 itf187 = (I187)o;
2092                 if (!mrp.CanCastToCalled)
2093                         return 187;
2094                 total += itf187.CallMe (187);
2095                 mrp.CanCastToCalled = false;
2096                 itf187 = (I187)o;
2097                 if (mrp.CanCastToCalled)
2098                         return 187;
2099                 total += itf187.CallMe (187);
2100
2101                 mrp.CanCastToCalled = false;
2102                 I188 itf188 = (I188)o;
2103                 if (!mrp.CanCastToCalled)
2104                         return 188;
2105                 total += itf188.CallMe (188);
2106                 mrp.CanCastToCalled = false;
2107                 itf188 = (I188)o;
2108                 if (mrp.CanCastToCalled)
2109                         return 188;
2110                 total += itf188.CallMe (188);
2111
2112                 mrp.CanCastToCalled = false;
2113                 I189 itf189 = (I189)o;
2114                 if (!mrp.CanCastToCalled)
2115                         return 189;
2116                 total += itf189.CallMe (189);
2117                 mrp.CanCastToCalled = false;
2118                 itf189 = (I189)o;
2119                 if (mrp.CanCastToCalled)
2120                         return 189;
2121                 total += itf189.CallMe (189);
2122
2123                 mrp.CanCastToCalled = false;
2124                 I190 itf190 = (I190)o;
2125                 if (!mrp.CanCastToCalled)
2126                         return 190;
2127                 total += itf190.CallMe (190);
2128                 mrp.CanCastToCalled = false;
2129                 itf190 = (I190)o;
2130                 if (mrp.CanCastToCalled)
2131                         return 190;
2132                 total += itf190.CallMe (190);
2133
2134                 mrp.CanCastToCalled = false;
2135                 I191 itf191 = (I191)o;
2136                 if (!mrp.CanCastToCalled)
2137                         return 191;
2138                 total += itf191.CallMe (191);
2139                 mrp.CanCastToCalled = false;
2140                 itf191 = (I191)o;
2141                 if (mrp.CanCastToCalled)
2142                         return 191;
2143                 total += itf191.CallMe (191);
2144
2145                 mrp.CanCastToCalled = false;
2146                 I192 itf192 = (I192)o;
2147                 if (!mrp.CanCastToCalled)
2148                         return 192;
2149                 total += itf192.CallMe (192);
2150                 mrp.CanCastToCalled = false;
2151                 itf192 = (I192)o;
2152                 if (mrp.CanCastToCalled)
2153                         return 192;
2154                 total += itf192.CallMe (192);
2155
2156                 mrp.CanCastToCalled = false;
2157                 I193 itf193 = (I193)o;
2158                 if (!mrp.CanCastToCalled)
2159                         return 193;
2160                 total += itf193.CallMe (193);
2161                 mrp.CanCastToCalled = false;
2162                 itf193 = (I193)o;
2163                 if (mrp.CanCastToCalled)
2164                         return 193;
2165                 total += itf193.CallMe (193);
2166
2167                 mrp.CanCastToCalled = false;
2168                 I194 itf194 = (I194)o;
2169                 if (!mrp.CanCastToCalled)
2170                         return 194;
2171                 total += itf194.CallMe (194);
2172                 mrp.CanCastToCalled = false;
2173                 itf194 = (I194)o;
2174                 if (mrp.CanCastToCalled)
2175                         return 194;
2176                 total += itf194.CallMe (194);
2177
2178                 mrp.CanCastToCalled = false;
2179                 I195 itf195 = (I195)o;
2180                 if (!mrp.CanCastToCalled)
2181                         return 195;
2182                 total += itf195.CallMe (195);
2183                 mrp.CanCastToCalled = false;
2184                 itf195 = (I195)o;
2185                 if (mrp.CanCastToCalled)
2186                         return 195;
2187                 total += itf195.CallMe (195);
2188
2189                 mrp.CanCastToCalled = false;
2190                 I196 itf196 = (I196)o;
2191                 if (!mrp.CanCastToCalled)
2192                         return 196;
2193                 total += itf196.CallMe (196);
2194                 mrp.CanCastToCalled = false;
2195                 itf196 = (I196)o;
2196                 if (mrp.CanCastToCalled)
2197                         return 196;
2198                 total += itf196.CallMe (196);
2199
2200                 mrp.CanCastToCalled = false;
2201                 I197 itf197 = (I197)o;
2202                 if (!mrp.CanCastToCalled)
2203                         return 197;
2204                 total += itf197.CallMe (197);
2205                 mrp.CanCastToCalled = false;
2206                 itf197 = (I197)o;
2207                 if (mrp.CanCastToCalled)
2208                         return 197;
2209                 total += itf197.CallMe (197);
2210
2211                 mrp.CanCastToCalled = false;
2212                 I198 itf198 = (I198)o;
2213                 if (!mrp.CanCastToCalled)
2214                         return 198;
2215                 total += itf198.CallMe (198);
2216                 mrp.CanCastToCalled = false;
2217                 itf198 = (I198)o;
2218                 if (mrp.CanCastToCalled)
2219                         return 198;
2220                 total += itf198.CallMe (198);
2221
2222                 mrp.CanCastToCalled = false;
2223                 I199 itf199 = (I199)o;
2224                 if (!mrp.CanCastToCalled)
2225                         return 199;
2226                 total += itf199.CallMe (199);
2227                 mrp.CanCastToCalled = false;
2228                 itf199 = (I199)o;
2229                 if (mrp.CanCastToCalled)
2230                         return 199;
2231                 total += itf199.CallMe (199);
2232
2233                 mrp.CanCastToCalled = false;
2234                 I200 itf200 = (I200)o;
2235                 if (!mrp.CanCastToCalled)
2236                         return 200;
2237                 total += itf200.CallMe (200);
2238                 mrp.CanCastToCalled = false;
2239                 itf200 = (I200)o;
2240                 if (mrp.CanCastToCalled)
2241                         return 200;
2242                 total += itf200.CallMe (200);
2243
2244                 mrp.CanCastToCalled = false;
2245                 I201 itf201 = (I201)o;
2246                 if (!mrp.CanCastToCalled)
2247                         return 201;
2248                 total += itf201.CallMe (201);
2249                 mrp.CanCastToCalled = false;
2250                 itf201 = (I201)o;
2251                 if (mrp.CanCastToCalled)
2252                         return 201;
2253                 total += itf201.CallMe (201);
2254
2255                 mrp.CanCastToCalled = false;
2256                 I202 itf202 = (I202)o;
2257                 if (!mrp.CanCastToCalled)
2258                         return 202;
2259                 total += itf202.CallMe (202);
2260                 mrp.CanCastToCalled = false;
2261                 itf202 = (I202)o;
2262                 if (mrp.CanCastToCalled)
2263                         return 202;
2264                 total += itf202.CallMe (202);
2265
2266                 mrp.CanCastToCalled = false;
2267                 I203 itf203 = (I203)o;
2268                 if (!mrp.CanCastToCalled)
2269                         return 203;
2270                 total += itf203.CallMe (203);
2271                 mrp.CanCastToCalled = false;
2272                 itf203 = (I203)o;
2273                 if (mrp.CanCastToCalled)
2274                         return 203;
2275                 total += itf203.CallMe (203);
2276
2277                 mrp.CanCastToCalled = false;
2278                 I204 itf204 = (I204)o;
2279                 if (!mrp.CanCastToCalled)
2280                         return 204;
2281                 total += itf204.CallMe (204);
2282                 mrp.CanCastToCalled = false;
2283                 itf204 = (I204)o;
2284                 if (mrp.CanCastToCalled)
2285                         return 204;
2286                 total += itf204.CallMe (204);
2287
2288                 mrp.CanCastToCalled = false;
2289                 I205 itf205 = (I205)o;
2290                 if (!mrp.CanCastToCalled)
2291                         return 205;
2292                 total += itf205.CallMe (205);
2293                 mrp.CanCastToCalled = false;
2294                 itf205 = (I205)o;
2295                 if (mrp.CanCastToCalled)
2296                         return 205;
2297                 total += itf205.CallMe (205);
2298
2299                 mrp.CanCastToCalled = false;
2300                 I206 itf206 = (I206)o;
2301                 if (!mrp.CanCastToCalled)
2302                         return 206;
2303                 total += itf206.CallMe (206);
2304                 mrp.CanCastToCalled = false;
2305                 itf206 = (I206)o;
2306                 if (mrp.CanCastToCalled)
2307                         return 206;
2308                 total += itf206.CallMe (206);
2309
2310                 mrp.CanCastToCalled = false;
2311                 I207 itf207 = (I207)o;
2312                 if (!mrp.CanCastToCalled)
2313                         return 207;
2314                 total += itf207.CallMe (207);
2315                 mrp.CanCastToCalled = false;
2316                 itf207 = (I207)o;
2317                 if (mrp.CanCastToCalled)
2318                         return 207;
2319                 total += itf207.CallMe (207);
2320
2321                 mrp.CanCastToCalled = false;
2322                 I208 itf208 = (I208)o;
2323                 if (!mrp.CanCastToCalled)
2324                         return 208;
2325                 total += itf208.CallMe (208);
2326                 mrp.CanCastToCalled = false;
2327                 itf208 = (I208)o;
2328                 if (mrp.CanCastToCalled)
2329                         return 208;
2330                 total += itf208.CallMe (208);
2331
2332                 mrp.CanCastToCalled = false;
2333                 I209 itf209 = (I209)o;
2334                 if (!mrp.CanCastToCalled)
2335                         return 209;
2336                 total += itf209.CallMe (209);
2337                 mrp.CanCastToCalled = false;
2338                 itf209 = (I209)o;
2339                 if (mrp.CanCastToCalled)
2340                         return 209;
2341                 total += itf209.CallMe (209);
2342
2343                 mrp.CanCastToCalled = false;
2344                 I210 itf210 = (I210)o;
2345                 if (!mrp.CanCastToCalled)
2346                         return 210;
2347                 total += itf210.CallMe (210);
2348                 mrp.CanCastToCalled = false;
2349                 itf210 = (I210)o;
2350                 if (mrp.CanCastToCalled)
2351                         return 210;
2352                 total += itf210.CallMe (210);
2353
2354                 mrp.CanCastToCalled = false;
2355                 I211 itf211 = (I211)o;
2356                 if (!mrp.CanCastToCalled)
2357                         return 211;
2358                 total += itf211.CallMe (211);
2359                 mrp.CanCastToCalled = false;
2360                 itf211 = (I211)o;
2361                 if (mrp.CanCastToCalled)
2362                         return 211;
2363                 total += itf211.CallMe (211);
2364
2365                 mrp.CanCastToCalled = false;
2366                 I212 itf212 = (I212)o;
2367                 if (!mrp.CanCastToCalled)
2368                         return 212;
2369                 total += itf212.CallMe (212);
2370                 mrp.CanCastToCalled = false;
2371                 itf212 = (I212)o;
2372                 if (mrp.CanCastToCalled)
2373                         return 212;
2374                 total += itf212.CallMe (212);
2375
2376                 mrp.CanCastToCalled = false;
2377                 I213 itf213 = (I213)o;
2378                 if (!mrp.CanCastToCalled)
2379                         return 213;
2380                 total += itf213.CallMe (213);
2381                 mrp.CanCastToCalled = false;
2382                 itf213 = (I213)o;
2383                 if (mrp.CanCastToCalled)
2384                         return 213;
2385                 total += itf213.CallMe (213);
2386
2387                 mrp.CanCastToCalled = false;
2388                 I214 itf214 = (I214)o;
2389                 if (!mrp.CanCastToCalled)
2390                         return 214;
2391                 total += itf214.CallMe (214);
2392                 mrp.CanCastToCalled = false;
2393                 itf214 = (I214)o;
2394                 if (mrp.CanCastToCalled)
2395                         return 214;
2396                 total += itf214.CallMe (214);
2397
2398                 mrp.CanCastToCalled = false;
2399                 I215 itf215 = (I215)o;
2400                 if (!mrp.CanCastToCalled)
2401                         return 215;
2402                 total += itf215.CallMe (215);
2403                 mrp.CanCastToCalled = false;
2404                 itf215 = (I215)o;
2405                 if (mrp.CanCastToCalled)
2406                         return 215;
2407                 total += itf215.CallMe (215);
2408
2409                 mrp.CanCastToCalled = false;
2410                 I216 itf216 = (I216)o;
2411                 if (!mrp.CanCastToCalled)
2412                         return 216;
2413                 total += itf216.CallMe (216);
2414                 mrp.CanCastToCalled = false;
2415                 itf216 = (I216)o;
2416                 if (mrp.CanCastToCalled)
2417                         return 216;
2418                 total += itf216.CallMe (216);
2419
2420                 mrp.CanCastToCalled = false;
2421                 I217 itf217 = (I217)o;
2422                 if (!mrp.CanCastToCalled)
2423                         return 217;
2424                 total += itf217.CallMe (217);
2425                 mrp.CanCastToCalled = false;
2426                 itf217 = (I217)o;
2427                 if (mrp.CanCastToCalled)
2428                         return 217;
2429                 total += itf217.CallMe (217);
2430
2431                 mrp.CanCastToCalled = false;
2432                 I218 itf218 = (I218)o;
2433                 if (!mrp.CanCastToCalled)
2434                         return 218;
2435                 total += itf218.CallMe (218);
2436                 mrp.CanCastToCalled = false;
2437                 itf218 = (I218)o;
2438                 if (mrp.CanCastToCalled)
2439                         return 218;
2440                 total += itf218.CallMe (218);
2441
2442                 mrp.CanCastToCalled = false;
2443                 I219 itf219 = (I219)o;
2444                 if (!mrp.CanCastToCalled)
2445                         return 219;
2446                 total += itf219.CallMe (219);
2447                 mrp.CanCastToCalled = false;
2448                 itf219 = (I219)o;
2449                 if (mrp.CanCastToCalled)
2450                         return 219;
2451                 total += itf219.CallMe (219);
2452
2453                 mrp.CanCastToCalled = false;
2454                 I220 itf220 = (I220)o;
2455                 if (!mrp.CanCastToCalled)
2456                         return 220;
2457                 total += itf220.CallMe (220);
2458                 mrp.CanCastToCalled = false;
2459                 itf220 = (I220)o;
2460                 if (mrp.CanCastToCalled)
2461                         return 220;
2462                 total += itf220.CallMe (220);
2463
2464                 mrp.CanCastToCalled = false;
2465                 I221 itf221 = (I221)o;
2466                 if (!mrp.CanCastToCalled)
2467                         return 221;
2468                 total += itf221.CallMe (221);
2469                 mrp.CanCastToCalled = false;
2470                 itf221 = (I221)o;
2471                 if (mrp.CanCastToCalled)
2472                         return 221;
2473                 total += itf221.CallMe (221);
2474
2475                 mrp.CanCastToCalled = false;
2476                 I222 itf222 = (I222)o;
2477                 if (!mrp.CanCastToCalled)
2478                         return 222;
2479                 total += itf222.CallMe (222);
2480                 mrp.CanCastToCalled = false;
2481                 itf222 = (I222)o;
2482                 if (mrp.CanCastToCalled)
2483                         return 222;
2484                 total += itf222.CallMe (222);
2485
2486                 mrp.CanCastToCalled = false;
2487                 I223 itf223 = (I223)o;
2488                 if (!mrp.CanCastToCalled)
2489                         return 223;
2490                 total += itf223.CallMe (223);
2491                 mrp.CanCastToCalled = false;
2492                 itf223 = (I223)o;
2493                 if (mrp.CanCastToCalled)
2494                         return 223;
2495                 total += itf223.CallMe (223);
2496
2497                 mrp.CanCastToCalled = false;
2498                 I224 itf224 = (I224)o;
2499                 if (!mrp.CanCastToCalled)
2500                         return 224;
2501                 total += itf224.CallMe (224);
2502                 mrp.CanCastToCalled = false;
2503                 itf224 = (I224)o;
2504                 if (mrp.CanCastToCalled)
2505                         return 224;
2506                 total += itf224.CallMe (224);
2507
2508                 mrp.CanCastToCalled = false;
2509                 I225 itf225 = (I225)o;
2510                 if (!mrp.CanCastToCalled)
2511                         return 225;
2512                 total += itf225.CallMe (225);
2513                 mrp.CanCastToCalled = false;
2514                 itf225 = (I225)o;
2515                 if (mrp.CanCastToCalled)
2516                         return 225;
2517                 total += itf225.CallMe (225);
2518
2519                 mrp.CanCastToCalled = false;
2520                 I226 itf226 = (I226)o;
2521                 if (!mrp.CanCastToCalled)
2522                         return 226;
2523                 total += itf226.CallMe (226);
2524                 mrp.CanCastToCalled = false;
2525                 itf226 = (I226)o;
2526                 if (mrp.CanCastToCalled)
2527                         return 226;
2528                 total += itf226.CallMe (226);
2529
2530                 mrp.CanCastToCalled = false;
2531                 I227 itf227 = (I227)o;
2532                 if (!mrp.CanCastToCalled)
2533                         return 227;
2534                 total += itf227.CallMe (227);
2535                 mrp.CanCastToCalled = false;
2536                 itf227 = (I227)o;
2537                 if (mrp.CanCastToCalled)
2538                         return 227;
2539                 total += itf227.CallMe (227);
2540
2541                 mrp.CanCastToCalled = false;
2542                 I228 itf228 = (I228)o;
2543                 if (!mrp.CanCastToCalled)
2544                         return 228;
2545                 total += itf228.CallMe (228);
2546                 mrp.CanCastToCalled = false;
2547                 itf228 = (I228)o;
2548                 if (mrp.CanCastToCalled)
2549                         return 228;
2550                 total += itf228.CallMe (228);
2551
2552                 mrp.CanCastToCalled = false;
2553                 I229 itf229 = (I229)o;
2554                 if (!mrp.CanCastToCalled)
2555                         return 229;
2556                 total += itf229.CallMe (229);
2557                 mrp.CanCastToCalled = false;
2558                 itf229 = (I229)o;
2559                 if (mrp.CanCastToCalled)
2560                         return 229;
2561                 total += itf229.CallMe (229);
2562
2563                 mrp.CanCastToCalled = false;
2564                 I230 itf230 = (I230)o;
2565                 if (!mrp.CanCastToCalled)
2566                         return 230;
2567                 total += itf230.CallMe (230);
2568                 mrp.CanCastToCalled = false;
2569                 itf230 = (I230)o;
2570                 if (mrp.CanCastToCalled)
2571                         return 230;
2572                 total += itf230.CallMe (230);
2573
2574                 mrp.CanCastToCalled = false;
2575                 I231 itf231 = (I231)o;
2576                 if (!mrp.CanCastToCalled)
2577                         return 231;
2578                 total += itf231.CallMe (231);
2579                 mrp.CanCastToCalled = false;
2580                 itf231 = (I231)o;
2581                 if (mrp.CanCastToCalled)
2582                         return 231;
2583                 total += itf231.CallMe (231);
2584
2585                 mrp.CanCastToCalled = false;
2586                 I232 itf232 = (I232)o;
2587                 if (!mrp.CanCastToCalled)
2588                         return 232;
2589                 total += itf232.CallMe (232);
2590                 mrp.CanCastToCalled = false;
2591                 itf232 = (I232)o;
2592                 if (mrp.CanCastToCalled)
2593                         return 232;
2594                 total += itf232.CallMe (232);
2595
2596                 mrp.CanCastToCalled = false;
2597                 I233 itf233 = (I233)o;
2598                 if (!mrp.CanCastToCalled)
2599                         return 233;
2600                 total += itf233.CallMe (233);
2601                 mrp.CanCastToCalled = false;
2602                 itf233 = (I233)o;
2603                 if (mrp.CanCastToCalled)
2604                         return 233;
2605                 total += itf233.CallMe (233);
2606
2607                 mrp.CanCastToCalled = false;
2608                 I234 itf234 = (I234)o;
2609                 if (!mrp.CanCastToCalled)
2610                         return 234;
2611                 total += itf234.CallMe (234);
2612                 mrp.CanCastToCalled = false;
2613                 itf234 = (I234)o;
2614                 if (mrp.CanCastToCalled)
2615                         return 234;
2616                 total += itf234.CallMe (234);
2617
2618                 mrp.CanCastToCalled = false;
2619                 I235 itf235 = (I235)o;
2620                 if (!mrp.CanCastToCalled)
2621                         return 235;
2622                 total += itf235.CallMe (235);
2623                 mrp.CanCastToCalled = false;
2624                 itf235 = (I235)o;
2625                 if (mrp.CanCastToCalled)
2626                         return 235;
2627                 total += itf235.CallMe (235);
2628
2629                 mrp.CanCastToCalled = false;
2630                 I236 itf236 = (I236)o;
2631                 if (!mrp.CanCastToCalled)
2632                         return 236;
2633                 total += itf236.CallMe (236);
2634                 mrp.CanCastToCalled = false;
2635                 itf236 = (I236)o;
2636                 if (mrp.CanCastToCalled)
2637                         return 236;
2638                 total += itf236.CallMe (236);
2639
2640                 mrp.CanCastToCalled = false;
2641                 I237 itf237 = (I237)o;
2642                 if (!mrp.CanCastToCalled)
2643                         return 237;
2644                 total += itf237.CallMe (237);
2645                 mrp.CanCastToCalled = false;
2646                 itf237 = (I237)o;
2647                 if (mrp.CanCastToCalled)
2648                         return 237;
2649                 total += itf237.CallMe (237);
2650
2651                 mrp.CanCastToCalled = false;
2652                 I238 itf238 = (I238)o;
2653                 if (!mrp.CanCastToCalled)
2654                         return 238;
2655                 total += itf238.CallMe (238);
2656                 mrp.CanCastToCalled = false;
2657                 itf238 = (I238)o;
2658                 if (mrp.CanCastToCalled)
2659                         return 238;
2660                 total += itf238.CallMe (238);
2661
2662                 mrp.CanCastToCalled = false;
2663                 I239 itf239 = (I239)o;
2664                 if (!mrp.CanCastToCalled)
2665                         return 239;
2666                 total += itf239.CallMe (239);
2667                 mrp.CanCastToCalled = false;
2668                 itf239 = (I239)o;
2669                 if (mrp.CanCastToCalled)
2670                         return 239;
2671                 total += itf239.CallMe (239);
2672
2673                 mrp.CanCastToCalled = false;
2674                 I240 itf240 = (I240)o;
2675                 if (!mrp.CanCastToCalled)
2676                         return 240;
2677                 total += itf240.CallMe (240);
2678                 mrp.CanCastToCalled = false;
2679                 itf240 = (I240)o;
2680                 if (mrp.CanCastToCalled)
2681                         return 240;
2682                 total += itf240.CallMe (240);
2683
2684                 mrp.CanCastToCalled = false;
2685                 I241 itf241 = (I241)o;
2686                 if (!mrp.CanCastToCalled)
2687                         return 241;
2688                 total += itf241.CallMe (241);
2689                 mrp.CanCastToCalled = false;
2690                 itf241 = (I241)o;
2691                 if (mrp.CanCastToCalled)
2692                         return 241;
2693                 total += itf241.CallMe (241);
2694
2695                 mrp.CanCastToCalled = false;
2696                 I242 itf242 = (I242)o;
2697                 if (!mrp.CanCastToCalled)
2698                         return 242;
2699                 total += itf242.CallMe (242);
2700                 mrp.CanCastToCalled = false;
2701                 itf242 = (I242)o;
2702                 if (mrp.CanCastToCalled)
2703                         return 242;
2704                 total += itf242.CallMe (242);
2705
2706                 mrp.CanCastToCalled = false;
2707                 I243 itf243 = (I243)o;
2708                 if (!mrp.CanCastToCalled)
2709                         return 243;
2710                 total += itf243.CallMe (243);
2711                 mrp.CanCastToCalled = false;
2712                 itf243 = (I243)o;
2713                 if (mrp.CanCastToCalled)
2714                         return 243;
2715                 total += itf243.CallMe (243);
2716
2717                 mrp.CanCastToCalled = false;
2718                 I244 itf244 = (I244)o;
2719                 if (!mrp.CanCastToCalled)
2720                         return 244;
2721                 total += itf244.CallMe (244);
2722                 mrp.CanCastToCalled = false;
2723                 itf244 = (I244)o;
2724                 if (mrp.CanCastToCalled)
2725                         return 244;
2726                 total += itf244.CallMe (244);
2727
2728                 mrp.CanCastToCalled = false;
2729                 I245 itf245 = (I245)o;
2730                 if (!mrp.CanCastToCalled)
2731                         return 245;
2732                 total += itf245.CallMe (245);
2733                 mrp.CanCastToCalled = false;
2734                 itf245 = (I245)o;
2735                 if (mrp.CanCastToCalled)
2736                         return 245;
2737                 total += itf245.CallMe (245);
2738
2739                 mrp.CanCastToCalled = false;
2740                 I246 itf246 = (I246)o;
2741                 if (!mrp.CanCastToCalled)
2742                         return 246;
2743                 total += itf246.CallMe (246);
2744                 mrp.CanCastToCalled = false;
2745                 itf246 = (I246)o;
2746                 if (mrp.CanCastToCalled)
2747                         return 246;
2748                 total += itf246.CallMe (246);
2749
2750                 mrp.CanCastToCalled = false;
2751                 I247 itf247 = (I247)o;
2752                 if (!mrp.CanCastToCalled)
2753                         return 247;
2754                 total += itf247.CallMe (247);
2755                 mrp.CanCastToCalled = false;
2756                 itf247 = (I247)o;
2757                 if (mrp.CanCastToCalled)
2758                         return 247;
2759                 total += itf247.CallMe (247);
2760
2761                 mrp.CanCastToCalled = false;
2762                 I248 itf248 = (I248)o;
2763                 if (!mrp.CanCastToCalled)
2764                         return 248;
2765                 total += itf248.CallMe (248);
2766                 mrp.CanCastToCalled = false;
2767                 itf248 = (I248)o;
2768                 if (mrp.CanCastToCalled)
2769                         return 248;
2770                 total += itf248.CallMe (248);
2771
2772                 mrp.CanCastToCalled = false;
2773                 I249 itf249 = (I249)o;
2774                 if (!mrp.CanCastToCalled)
2775                         return 249;
2776                 total += itf249.CallMe (249);
2777                 mrp.CanCastToCalled = false;
2778                 itf249 = (I249)o;
2779                 if (mrp.CanCastToCalled)
2780                         return 249;
2781                 total += itf249.CallMe (249);
2782
2783                 mrp.CanCastToCalled = false;
2784                 I250 itf250 = (I250)o;
2785                 if (!mrp.CanCastToCalled)
2786                         return 250;
2787                 total += itf250.CallMe (250);
2788                 mrp.CanCastToCalled = false;
2789                 itf250 = (I250)o;
2790                 if (mrp.CanCastToCalled)
2791                         return 250;
2792                 total += itf250.CallMe (250);
2793
2794                 mrp.CanCastToCalled = false;
2795                 I251 itf251 = (I251)o;
2796                 if (!mrp.CanCastToCalled)
2797                         return 251;
2798                 total += itf251.CallMe (251);
2799                 mrp.CanCastToCalled = false;
2800                 itf251 = (I251)o;
2801                 if (mrp.CanCastToCalled)
2802                         return 251;
2803                 total += itf251.CallMe (251);
2804
2805                 mrp.CanCastToCalled = false;
2806                 I252 itf252 = (I252)o;
2807                 if (!mrp.CanCastToCalled)
2808                         return 252;
2809                 total += itf252.CallMe (252);
2810                 mrp.CanCastToCalled = false;
2811                 itf252 = (I252)o;
2812                 if (mrp.CanCastToCalled)
2813                         return 252;
2814                 total += itf252.CallMe (252);
2815
2816                 mrp.CanCastToCalled = false;
2817                 I253 itf253 = (I253)o;
2818                 if (!mrp.CanCastToCalled)
2819                         return 253;
2820                 total += itf253.CallMe (253);
2821                 mrp.CanCastToCalled = false;
2822                 itf253 = (I253)o;
2823                 if (mrp.CanCastToCalled)
2824                         return 253;
2825                 total += itf253.CallMe (253);
2826
2827                 mrp.CanCastToCalled = false;
2828                 I254 itf254 = (I254)o;
2829                 if (!mrp.CanCastToCalled)
2830                         return 254;
2831                 total += itf254.CallMe (254);
2832                 mrp.CanCastToCalled = false;
2833                 itf254 = (I254)o;
2834                 if (mrp.CanCastToCalled)
2835                         return 254;
2836                 total += itf254.CallMe (254);
2837
2838                 mrp.CanCastToCalled = false;
2839                 I255 itf255 = (I255)o;
2840                 if (!mrp.CanCastToCalled)
2841                         return 255;
2842                 total += itf255.CallMe (255);
2843                 mrp.CanCastToCalled = false;
2844                 itf255 = (I255)o;
2845                 if (mrp.CanCastToCalled)
2846                         return 255;
2847                 total += itf255.CallMe (255);
2848
2849                 mrp.CanCastToCalled = false;
2850                 I256 itf256 = (I256)o;
2851                 if (!mrp.CanCastToCalled)
2852                         return 256;
2853                 total += itf256.CallMe (256);
2854                 mrp.CanCastToCalled = false;
2855                 itf256 = (I256)o;
2856                 if (mrp.CanCastToCalled)
2857                         return 256;
2858                 total += itf256.CallMe (256);
2859
2860                 mrp.CanCastToCalled = false;
2861                 I257 itf257 = (I257)o;
2862                 if (!mrp.CanCastToCalled)
2863                         return 257;
2864                 total += itf257.CallMe (257);
2865                 mrp.CanCastToCalled = false;
2866                 itf257 = (I257)o;
2867                 if (mrp.CanCastToCalled)
2868                         return 257;
2869                 total += itf257.CallMe (257);
2870
2871                 mrp.CanCastToCalled = false;
2872                 I258 itf258 = (I258)o;
2873                 if (!mrp.CanCastToCalled)
2874                         return 258;
2875                 total += itf258.CallMe (258);
2876                 mrp.CanCastToCalled = false;
2877                 itf258 = (I258)o;
2878                 if (mrp.CanCastToCalled)
2879                         return 258;
2880                 total += itf258.CallMe (258);
2881
2882                 mrp.CanCastToCalled = false;
2883                 I259 itf259 = (I259)o;
2884                 if (!mrp.CanCastToCalled)
2885                         return 259;
2886                 total += itf259.CallMe (259);
2887                 mrp.CanCastToCalled = false;
2888                 itf259 = (I259)o;
2889                 if (mrp.CanCastToCalled)
2890                         return 259;
2891                 total += itf259.CallMe (259);
2892
2893                 mrp.CanCastToCalled = false;
2894                 I260 itf260 = (I260)o;
2895                 if (!mrp.CanCastToCalled)
2896                         return 260;
2897                 total += itf260.CallMe (260);
2898                 mrp.CanCastToCalled = false;
2899                 itf260 = (I260)o;
2900                 if (mrp.CanCastToCalled)
2901                         return 260;
2902                 total += itf260.CallMe (260);
2903
2904                 mrp.CanCastToCalled = false;
2905                 I261 itf261 = (I261)o;
2906                 if (!mrp.CanCastToCalled)
2907                         return 261;
2908                 total += itf261.CallMe (261);
2909                 mrp.CanCastToCalled = false;
2910                 itf261 = (I261)o;
2911                 if (mrp.CanCastToCalled)
2912                         return 261;
2913                 total += itf261.CallMe (261);
2914
2915                 mrp.CanCastToCalled = false;
2916                 I262 itf262 = (I262)o;
2917                 if (!mrp.CanCastToCalled)
2918                         return 262;
2919                 total += itf262.CallMe (262);
2920                 mrp.CanCastToCalled = false;
2921                 itf262 = (I262)o;
2922                 if (mrp.CanCastToCalled)
2923                         return 262;
2924                 total += itf262.CallMe (262);
2925
2926                 mrp.CanCastToCalled = false;
2927                 I263 itf263 = (I263)o;
2928                 if (!mrp.CanCastToCalled)
2929                         return 263;
2930                 total += itf263.CallMe (263);
2931                 mrp.CanCastToCalled = false;
2932                 itf263 = (I263)o;
2933                 if (mrp.CanCastToCalled)
2934                         return 263;
2935                 total += itf263.CallMe (263);
2936
2937                 mrp.CanCastToCalled = false;
2938                 I264 itf264 = (I264)o;
2939                 if (!mrp.CanCastToCalled)
2940                         return 264;
2941                 total += itf264.CallMe (264);
2942                 mrp.CanCastToCalled = false;
2943                 itf264 = (I264)o;
2944                 if (mrp.CanCastToCalled)
2945                         return 264;
2946                 total += itf264.CallMe (264);
2947
2948                 mrp.CanCastToCalled = false;
2949                 I265 itf265 = (I265)o;
2950                 if (!mrp.CanCastToCalled)
2951                         return 265;
2952                 total += itf265.CallMe (265);
2953                 mrp.CanCastToCalled = false;
2954                 itf265 = (I265)o;
2955                 if (mrp.CanCastToCalled)
2956                         return 265;
2957                 total += itf265.CallMe (265);
2958
2959                 mrp.CanCastToCalled = false;
2960                 I266 itf266 = (I266)o;
2961                 if (!mrp.CanCastToCalled)
2962                         return 266;
2963                 total += itf266.CallMe (266);
2964                 mrp.CanCastToCalled = false;
2965                 itf266 = (I266)o;
2966                 if (mrp.CanCastToCalled)
2967                         return 266;
2968                 total += itf266.CallMe (266);
2969
2970                 mrp.CanCastToCalled = false;
2971                 I267 itf267 = (I267)o;
2972                 if (!mrp.CanCastToCalled)
2973                         return 267;
2974                 total += itf267.CallMe (267);
2975                 mrp.CanCastToCalled = false;
2976                 itf267 = (I267)o;
2977                 if (mrp.CanCastToCalled)
2978                         return 267;
2979                 total += itf267.CallMe (267);
2980
2981                 mrp.CanCastToCalled = false;
2982                 I268 itf268 = (I268)o;
2983                 if (!mrp.CanCastToCalled)
2984                         return 268;
2985                 total += itf268.CallMe (268);
2986                 mrp.CanCastToCalled = false;
2987                 itf268 = (I268)o;
2988                 if (mrp.CanCastToCalled)
2989                         return 268;
2990                 total += itf268.CallMe (268);
2991
2992                 mrp.CanCastToCalled = false;
2993                 I269 itf269 = (I269)o;
2994                 if (!mrp.CanCastToCalled)
2995                         return 269;
2996                 total += itf269.CallMe (269);
2997                 mrp.CanCastToCalled = false;
2998                 itf269 = (I269)o;
2999                 if (mrp.CanCastToCalled)
3000                         return 269;
3001                 total += itf269.CallMe (269);
3002
3003                 mrp.CanCastToCalled = false;
3004                 I270 itf270 = (I270)o;
3005                 if (!mrp.CanCastToCalled)
3006                         return 270;
3007                 total += itf270.CallMe (270);
3008                 mrp.CanCastToCalled = false;
3009                 itf270 = (I270)o;
3010                 if (mrp.CanCastToCalled)
3011                         return 270;
3012                 total += itf270.CallMe (270);
3013
3014                 mrp.CanCastToCalled = false;
3015                 I271 itf271 = (I271)o;
3016                 if (!mrp.CanCastToCalled)
3017                         return 271;
3018                 total += itf271.CallMe (271);
3019                 mrp.CanCastToCalled = false;
3020                 itf271 = (I271)o;
3021                 if (mrp.CanCastToCalled)
3022                         return 271;
3023                 total += itf271.CallMe (271);
3024
3025                 mrp.CanCastToCalled = false;
3026                 I272 itf272 = (I272)o;
3027                 if (!mrp.CanCastToCalled)
3028                         return 272;
3029                 total += itf272.CallMe (272);
3030                 mrp.CanCastToCalled = false;
3031                 itf272 = (I272)o;
3032                 if (mrp.CanCastToCalled)
3033                         return 272;
3034                 total += itf272.CallMe (272);
3035
3036                 mrp.CanCastToCalled = false;
3037                 I273 itf273 = (I273)o;
3038                 if (!mrp.CanCastToCalled)
3039                         return 273;
3040                 total += itf273.CallMe (273);
3041                 mrp.CanCastToCalled = false;
3042                 itf273 = (I273)o;
3043                 if (mrp.CanCastToCalled)
3044                         return 273;
3045                 total += itf273.CallMe (273);
3046
3047                 mrp.CanCastToCalled = false;
3048                 I274 itf274 = (I274)o;
3049                 if (!mrp.CanCastToCalled)
3050                         return 274;
3051                 total += itf274.CallMe (274);
3052                 mrp.CanCastToCalled = false;
3053                 itf274 = (I274)o;
3054                 if (mrp.CanCastToCalled)
3055                         return 274;
3056                 total += itf274.CallMe (274);
3057
3058                 mrp.CanCastToCalled = false;
3059                 I275 itf275 = (I275)o;
3060                 if (!mrp.CanCastToCalled)
3061                         return 275;
3062                 total += itf275.CallMe (275);
3063                 mrp.CanCastToCalled = false;
3064                 itf275 = (I275)o;
3065                 if (mrp.CanCastToCalled)
3066                         return 275;
3067                 total += itf275.CallMe (275);
3068
3069                 mrp.CanCastToCalled = false;
3070                 I276 itf276 = (I276)o;
3071                 if (!mrp.CanCastToCalled)
3072                         return 276;
3073                 total += itf276.CallMe (276);
3074                 mrp.CanCastToCalled = false;
3075                 itf276 = (I276)o;
3076                 if (mrp.CanCastToCalled)
3077                         return 276;
3078                 total += itf276.CallMe (276);
3079
3080                 mrp.CanCastToCalled = false;
3081                 I277 itf277 = (I277)o;
3082                 if (!mrp.CanCastToCalled)
3083                         return 277;
3084                 total += itf277.CallMe (277);
3085                 mrp.CanCastToCalled = false;
3086                 itf277 = (I277)o;
3087                 if (mrp.CanCastToCalled)
3088                         return 277;
3089                 total += itf277.CallMe (277);
3090
3091                 mrp.CanCastToCalled = false;
3092                 I278 itf278 = (I278)o;
3093                 if (!mrp.CanCastToCalled)
3094                         return 278;
3095                 total += itf278.CallMe (278);
3096                 mrp.CanCastToCalled = false;
3097                 itf278 = (I278)o;
3098                 if (mrp.CanCastToCalled)
3099                         return 278;
3100                 total += itf278.CallMe (278);
3101
3102                 mrp.CanCastToCalled = false;
3103                 I279 itf279 = (I279)o;
3104                 if (!mrp.CanCastToCalled)
3105                         return 279;
3106                 total += itf279.CallMe (279);
3107                 mrp.CanCastToCalled = false;
3108                 itf279 = (I279)o;
3109                 if (mrp.CanCastToCalled)
3110                         return 279;
3111                 total += itf279.CallMe (279);
3112
3113                 mrp.CanCastToCalled = false;
3114                 I280 itf280 = (I280)o;
3115                 if (!mrp.CanCastToCalled)
3116                         return 280;
3117                 total += itf280.CallMe (280);
3118                 mrp.CanCastToCalled = false;
3119                 itf280 = (I280)o;
3120                 if (mrp.CanCastToCalled)
3121                         return 280;
3122                 total += itf280.CallMe (280);
3123
3124                 mrp.CanCastToCalled = false;
3125                 I281 itf281 = (I281)o;
3126                 if (!mrp.CanCastToCalled)
3127                         return 281;
3128                 total += itf281.CallMe (281);
3129                 mrp.CanCastToCalled = false;
3130                 itf281 = (I281)o;
3131                 if (mrp.CanCastToCalled)
3132                         return 281;
3133                 total += itf281.CallMe (281);
3134
3135                 mrp.CanCastToCalled = false;
3136                 I282 itf282 = (I282)o;
3137                 if (!mrp.CanCastToCalled)
3138                         return 282;
3139                 total += itf282.CallMe (282);
3140                 mrp.CanCastToCalled = false;
3141                 itf282 = (I282)o;
3142                 if (mrp.CanCastToCalled)
3143                         return 282;
3144                 total += itf282.CallMe (282);
3145
3146                 mrp.CanCastToCalled = false;
3147                 I283 itf283 = (I283)o;
3148                 if (!mrp.CanCastToCalled)
3149                         return 283;
3150                 total += itf283.CallMe (283);
3151                 mrp.CanCastToCalled = false;
3152                 itf283 = (I283)o;
3153                 if (mrp.CanCastToCalled)
3154                         return 283;
3155                 total += itf283.CallMe (283);
3156
3157                 mrp.CanCastToCalled = false;
3158                 I284 itf284 = (I284)o;
3159                 if (!mrp.CanCastToCalled)
3160                         return 284;
3161                 total += itf284.CallMe (284);
3162                 mrp.CanCastToCalled = false;
3163                 itf284 = (I284)o;
3164                 if (mrp.CanCastToCalled)
3165                         return 284;
3166                 total += itf284.CallMe (284);
3167
3168                 mrp.CanCastToCalled = false;
3169                 I285 itf285 = (I285)o;
3170                 if (!mrp.CanCastToCalled)
3171                         return 285;
3172                 total += itf285.CallMe (285);
3173                 mrp.CanCastToCalled = false;
3174                 itf285 = (I285)o;
3175                 if (mrp.CanCastToCalled)
3176                         return 285;
3177                 total += itf285.CallMe (285);
3178
3179                 mrp.CanCastToCalled = false;
3180                 I286 itf286 = (I286)o;
3181                 if (!mrp.CanCastToCalled)
3182                         return 286;
3183                 total += itf286.CallMe (286);
3184                 mrp.CanCastToCalled = false;
3185                 itf286 = (I286)o;
3186                 if (mrp.CanCastToCalled)
3187                         return 286;
3188                 total += itf286.CallMe (286);
3189
3190                 mrp.CanCastToCalled = false;
3191                 I287 itf287 = (I287)o;
3192                 if (!mrp.CanCastToCalled)
3193                         return 287;
3194                 total += itf287.CallMe (287);
3195                 mrp.CanCastToCalled = false;
3196                 itf287 = (I287)o;
3197                 if (mrp.CanCastToCalled)
3198                         return 287;
3199                 total += itf287.CallMe (287);
3200
3201                 mrp.CanCastToCalled = false;
3202                 I288 itf288 = (I288)o;
3203                 if (!mrp.CanCastToCalled)
3204                         return 288;
3205                 total += itf288.CallMe (288);
3206                 mrp.CanCastToCalled = false;
3207                 itf288 = (I288)o;
3208                 if (mrp.CanCastToCalled)
3209                         return 288;
3210                 total += itf288.CallMe (288);
3211
3212                 mrp.CanCastToCalled = false;
3213                 I289 itf289 = (I289)o;
3214                 if (!mrp.CanCastToCalled)
3215                         return 289;
3216                 total += itf289.CallMe (289);
3217                 mrp.CanCastToCalled = false;
3218                 itf289 = (I289)o;
3219                 if (mrp.CanCastToCalled)
3220                         return 289;
3221                 total += itf289.CallMe (289);
3222
3223                 mrp.CanCastToCalled = false;
3224                 I290 itf290 = (I290)o;
3225                 if (!mrp.CanCastToCalled)
3226                         return 290;
3227                 total += itf290.CallMe (290);
3228                 mrp.CanCastToCalled = false;
3229                 itf290 = (I290)o;
3230                 if (mrp.CanCastToCalled)
3231                         return 290;
3232                 total += itf290.CallMe (290);
3233
3234                 mrp.CanCastToCalled = false;
3235                 I291 itf291 = (I291)o;
3236                 if (!mrp.CanCastToCalled)
3237                         return 291;
3238                 total += itf291.CallMe (291);
3239                 mrp.CanCastToCalled = false;
3240                 itf291 = (I291)o;
3241                 if (mrp.CanCastToCalled)
3242                         return 291;
3243                 total += itf291.CallMe (291);
3244
3245                 mrp.CanCastToCalled = false;
3246                 I292 itf292 = (I292)o;
3247                 if (!mrp.CanCastToCalled)
3248                         return 292;
3249                 total += itf292.CallMe (292);
3250                 mrp.CanCastToCalled = false;
3251                 itf292 = (I292)o;
3252                 if (mrp.CanCastToCalled)
3253                         return 292;
3254                 total += itf292.CallMe (292);
3255
3256                 mrp.CanCastToCalled = false;
3257                 I293 itf293 = (I293)o;
3258                 if (!mrp.CanCastToCalled)
3259                         return 293;
3260                 total += itf293.CallMe (293);
3261                 mrp.CanCastToCalled = false;
3262                 itf293 = (I293)o;
3263                 if (mrp.CanCastToCalled)
3264                         return 293;
3265                 total += itf293.CallMe (293);
3266
3267                 mrp.CanCastToCalled = false;
3268                 I294 itf294 = (I294)o;
3269                 if (!mrp.CanCastToCalled)
3270                         return 294;
3271                 total += itf294.CallMe (294);
3272                 mrp.CanCastToCalled = false;
3273                 itf294 = (I294)o;
3274                 if (mrp.CanCastToCalled)
3275                         return 294;
3276                 total += itf294.CallMe (294);
3277
3278                 mrp.CanCastToCalled = false;
3279                 I295 itf295 = (I295)o;
3280                 if (!mrp.CanCastToCalled)
3281                         return 295;
3282                 total += itf295.CallMe (295);
3283                 mrp.CanCastToCalled = false;
3284                 itf295 = (I295)o;
3285                 if (mrp.CanCastToCalled)
3286                         return 295;
3287                 total += itf295.CallMe (295);
3288
3289                 mrp.CanCastToCalled = false;
3290                 I296 itf296 = (I296)o;
3291                 if (!mrp.CanCastToCalled)
3292                         return 296;
3293                 total += itf296.CallMe (296);
3294                 mrp.CanCastToCalled = false;
3295                 itf296 = (I296)o;
3296                 if (mrp.CanCastToCalled)
3297                         return 296;
3298                 total += itf296.CallMe (296);
3299
3300                 mrp.CanCastToCalled = false;
3301                 I297 itf297 = (I297)o;
3302                 if (!mrp.CanCastToCalled)
3303                         return 297;
3304                 total += itf297.CallMe (297);
3305                 mrp.CanCastToCalled = false;
3306                 itf297 = (I297)o;
3307                 if (mrp.CanCastToCalled)
3308                         return 297;
3309                 total += itf297.CallMe (297);
3310
3311                 mrp.CanCastToCalled = false;
3312                 I298 itf298 = (I298)o;
3313                 if (!mrp.CanCastToCalled)
3314                         return 298;
3315                 total += itf298.CallMe (298);
3316                 mrp.CanCastToCalled = false;
3317                 itf298 = (I298)o;
3318                 if (mrp.CanCastToCalled)
3319                         return 298;
3320                 total += itf298.CallMe (298);
3321
3322                 mrp.CanCastToCalled = false;
3323                 I299 itf299 = (I299)o;
3324                 if (!mrp.CanCastToCalled)
3325                         return 299;
3326                 total += itf299.CallMe (299);
3327                 mrp.CanCastToCalled = false;
3328                 itf299 = (I299)o;
3329                 if (mrp.CanCastToCalled)
3330                         return 299;
3331                 total += itf299.CallMe (299);
3332
3333                 mrp.CanCastToCalled = false;
3334                 I300 itf300 = (I300)o;
3335                 if (!mrp.CanCastToCalled)
3336                         return 300;
3337                 total += itf300.CallMe (300);
3338                 mrp.CanCastToCalled = false;
3339                 itf300 = (I300)o;
3340                 if (mrp.CanCastToCalled)
3341                         return 300;
3342                 total += itf300.CallMe (300);
3343
3344                 Console.WriteLine ("finished");
3345
3346                 return 0;
3347         }
3348 }
3349
3350 class MyRealProxy : RealProxy, IRemotingTypeInfo
3351 {
3352         MBRO mbro;
3353         bool can_cast_to_called = false;
3354
3355         public MyRealProxy (MBRO mbro)
3356                 : base (typeof (MBRO)) {
3357                 this.mbro = mbro;
3358         }
3359
3360         public override System.Runtime.Remoting.Messaging.IMessage Invoke (System.Runtime.Remoting.Messaging.IMessage msg) {
3361                 IMethodCallMessage call = (IMethodCallMessage)msg;
3362
3363                 return new ReturnMessage (mbro.CallMe ((int)call.Args[0]), null, 0, null, call);
3364         }
3365
3366         public bool CanCastTo (Type fromType, object o) {
3367                 can_cast_to_called = true;
3368                 return true;
3369         }
3370
3371         public string TypeName {
3372                 get {
3373                         return "";
3374                 }
3375                 set {
3376                         throw new Exception ("Should not be called");
3377                 }
3378         }
3379
3380         public bool CanCastToCalled {
3381                 get {
3382                         return can_cast_to_called;
3383                 }
3384                 set {
3385                         can_cast_to_called = value;
3386                 }
3387         }
3388 }
3389
3390 class MBRO : MarshalByRefObject
3391 {
3392         public int CallMe (int a) {
3393                 return a;
3394         }
3395 }
3396
3397 interface I1
3398 {
3399         int CallMe (int a);
3400 }
3401
3402 interface I2
3403 {
3404         int CallMe (int a);
3405 }
3406
3407 interface I3
3408 {
3409         int CallMe (int a);
3410 }
3411
3412 interface I4
3413 {
3414         int CallMe (int a);
3415 }
3416
3417 interface I5
3418 {
3419         int CallMe (int a);
3420 }
3421
3422 interface I6
3423 {
3424         int CallMe (int a);
3425 }
3426
3427 interface I7
3428 {
3429         int CallMe (int a);
3430 }
3431
3432 interface I8
3433 {
3434         int CallMe (int a);
3435 }
3436
3437 interface I9
3438 {
3439         int CallMe (int a);
3440 }
3441
3442 interface I10
3443 {
3444         int CallMe (int a);
3445 }
3446
3447 interface I11
3448 {
3449         int CallMe (int a);
3450 }
3451
3452 interface I12
3453 {
3454         int CallMe (int a);
3455 }
3456
3457 interface I13
3458 {
3459         int CallMe (int a);
3460 }
3461
3462 interface I14
3463 {
3464         int CallMe (int a);
3465 }
3466
3467 interface I15
3468 {
3469         int CallMe (int a);
3470 }
3471
3472 interface I16
3473 {
3474         int CallMe (int a);
3475 }
3476
3477 interface I17
3478 {
3479         int CallMe (int a);
3480 }
3481
3482 interface I18
3483 {
3484         int CallMe (int a);
3485 }
3486
3487 interface I19
3488 {
3489         int CallMe (int a);
3490 }
3491
3492 interface I20
3493 {
3494         int CallMe (int a);
3495 }
3496
3497 interface I21
3498 {
3499         int CallMe (int a);
3500 }
3501
3502 interface I22
3503 {
3504         int CallMe (int a);
3505 }
3506
3507 interface I23
3508 {
3509         int CallMe (int a);
3510 }
3511
3512 interface I24
3513 {
3514         int CallMe (int a);
3515 }
3516
3517 interface I25
3518 {
3519         int CallMe (int a);
3520 }
3521
3522 interface I26
3523 {
3524         int CallMe (int a);
3525 }
3526
3527 interface I27
3528 {
3529         int CallMe (int a);
3530 }
3531
3532 interface I28
3533 {
3534         int CallMe (int a);
3535 }
3536
3537 interface I29
3538 {
3539         int CallMe (int a);
3540 }
3541
3542 interface I30
3543 {
3544         int CallMe (int a);
3545 }
3546
3547 interface I31
3548 {
3549         int CallMe (int a);
3550 }
3551
3552 interface I32
3553 {
3554         int CallMe (int a);
3555 }
3556
3557 interface I33
3558 {
3559         int CallMe (int a);
3560 }
3561
3562 interface I34
3563 {
3564         int CallMe (int a);
3565 }
3566
3567 interface I35
3568 {
3569         int CallMe (int a);
3570 }
3571
3572 interface I36
3573 {
3574         int CallMe (int a);
3575 }
3576
3577 interface I37
3578 {
3579         int CallMe (int a);
3580 }
3581
3582 interface I38
3583 {
3584         int CallMe (int a);
3585 }
3586
3587 interface I39
3588 {
3589         int CallMe (int a);
3590 }
3591
3592 interface I40
3593 {
3594         int CallMe (int a);
3595 }
3596
3597 interface I41
3598 {
3599         int CallMe (int a);
3600 }
3601
3602 interface I42
3603 {
3604         int CallMe (int a);
3605 }
3606
3607 interface I43
3608 {
3609         int CallMe (int a);
3610 }
3611
3612 interface I44
3613 {
3614         int CallMe (int a);
3615 }
3616
3617 interface I45
3618 {
3619         int CallMe (int a);
3620 }
3621
3622 interface I46
3623 {
3624         int CallMe (int a);
3625 }
3626
3627 interface I47
3628 {
3629         int CallMe (int a);
3630 }
3631
3632 interface I48
3633 {
3634         int CallMe (int a);
3635 }
3636
3637 interface I49
3638 {
3639         int CallMe (int a);
3640 }
3641
3642 interface I50
3643 {
3644         int CallMe (int a);
3645 }
3646
3647 interface I51
3648 {
3649         int CallMe (int a);
3650 }
3651
3652 interface I52
3653 {
3654         int CallMe (int a);
3655 }
3656
3657 interface I53
3658 {
3659         int CallMe (int a);
3660 }
3661
3662 interface I54
3663 {
3664         int CallMe (int a);
3665 }
3666
3667 interface I55
3668 {
3669         int CallMe (int a);
3670 }
3671
3672 interface I56
3673 {
3674         int CallMe (int a);
3675 }
3676
3677 interface I57
3678 {
3679         int CallMe (int a);
3680 }
3681
3682 interface I58
3683 {
3684         int CallMe (int a);
3685 }
3686
3687 interface I59
3688 {
3689         int CallMe (int a);
3690 }
3691
3692 interface I60
3693 {
3694         int CallMe (int a);
3695 }
3696
3697 interface I61
3698 {
3699         int CallMe (int a);
3700 }
3701
3702 interface I62
3703 {
3704         int CallMe (int a);
3705 }
3706
3707 interface I63
3708 {
3709         int CallMe (int a);
3710 }
3711
3712 interface I64
3713 {
3714         int CallMe (int a);
3715 }
3716
3717 interface I65
3718 {
3719         int CallMe (int a);
3720 }
3721
3722 interface I66
3723 {
3724         int CallMe (int a);
3725 }
3726
3727 interface I67
3728 {
3729         int CallMe (int a);
3730 }
3731
3732 interface I68
3733 {
3734         int CallMe (int a);
3735 }
3736
3737 interface I69
3738 {
3739         int CallMe (int a);
3740 }
3741
3742 interface I70
3743 {
3744         int CallMe (int a);
3745 }
3746
3747 interface I71
3748 {
3749         int CallMe (int a);
3750 }
3751
3752 interface I72
3753 {
3754         int CallMe (int a);
3755 }
3756
3757 interface I73
3758 {
3759         int CallMe (int a);
3760 }
3761
3762 interface I74
3763 {
3764         int CallMe (int a);
3765 }
3766
3767 interface I75
3768 {
3769         int CallMe (int a);
3770 }
3771
3772 interface I76
3773 {
3774         int CallMe (int a);
3775 }
3776
3777 interface I77
3778 {
3779         int CallMe (int a);
3780 }
3781
3782 interface I78
3783 {
3784         int CallMe (int a);
3785 }
3786
3787 interface I79
3788 {
3789         int CallMe (int a);
3790 }
3791
3792 interface I80
3793 {
3794         int CallMe (int a);
3795 }
3796
3797 interface I81
3798 {
3799         int CallMe (int a);
3800 }
3801
3802 interface I82
3803 {
3804         int CallMe (int a);
3805 }
3806
3807 interface I83
3808 {
3809         int CallMe (int a);
3810 }
3811
3812 interface I84
3813 {
3814         int CallMe (int a);
3815 }
3816
3817 interface I85
3818 {
3819         int CallMe (int a);
3820 }
3821
3822 interface I86
3823 {
3824         int CallMe (int a);
3825 }
3826
3827 interface I87
3828 {
3829         int CallMe (int a);
3830 }
3831
3832 interface I88
3833 {
3834         int CallMe (int a);
3835 }
3836
3837 interface I89
3838 {
3839         int CallMe (int a);
3840 }
3841
3842 interface I90
3843 {
3844         int CallMe (int a);
3845 }
3846
3847 interface I91
3848 {
3849         int CallMe (int a);
3850 }
3851
3852 interface I92
3853 {
3854         int CallMe (int a);
3855 }
3856
3857 interface I93
3858 {
3859         int CallMe (int a);
3860 }
3861
3862 interface I94
3863 {
3864         int CallMe (int a);
3865 }
3866
3867 interface I95
3868 {
3869         int CallMe (int a);
3870 }
3871
3872 interface I96
3873 {
3874         int CallMe (int a);
3875 }
3876
3877 interface I97
3878 {
3879         int CallMe (int a);
3880 }
3881
3882 interface I98
3883 {
3884         int CallMe (int a);
3885 }
3886
3887 interface I99
3888 {
3889         int CallMe (int a);
3890 }
3891
3892 interface I100
3893 {
3894         int CallMe (int a);
3895 }
3896
3897 interface I101
3898 {
3899         int CallMe (int a);
3900 }
3901
3902 interface I102
3903 {
3904         int CallMe (int a);
3905 }
3906
3907 interface I103
3908 {
3909         int CallMe (int a);
3910 }
3911
3912 interface I104
3913 {
3914         int CallMe (int a);
3915 }
3916
3917 interface I105
3918 {
3919         int CallMe (int a);
3920 }
3921
3922 interface I106
3923 {
3924         int CallMe (int a);
3925 }
3926
3927 interface I107
3928 {
3929         int CallMe (int a);
3930 }
3931
3932 interface I108
3933 {
3934         int CallMe (int a);
3935 }
3936
3937 interface I109
3938 {
3939         int CallMe (int a);
3940 }
3941
3942 interface I110
3943 {
3944         int CallMe (int a);
3945 }
3946
3947 interface I111
3948 {
3949         int CallMe (int a);
3950 }
3951
3952 interface I112
3953 {
3954         int CallMe (int a);
3955 }
3956
3957 interface I113
3958 {
3959         int CallMe (int a);
3960 }
3961
3962 interface I114
3963 {
3964         int CallMe (int a);
3965 }
3966
3967 interface I115
3968 {
3969         int CallMe (int a);
3970 }
3971
3972 interface I116
3973 {
3974         int CallMe (int a);
3975 }
3976
3977 interface I117
3978 {
3979         int CallMe (int a);
3980 }
3981
3982 interface I118
3983 {
3984         int CallMe (int a);
3985 }
3986
3987 interface I119
3988 {
3989         int CallMe (int a);
3990 }
3991
3992 interface I120
3993 {
3994         int CallMe (int a);
3995 }
3996
3997 interface I121
3998 {
3999         int CallMe (int a);
4000 }
4001
4002 interface I122
4003 {
4004         int CallMe (int a);
4005 }
4006
4007 interface I123
4008 {
4009         int CallMe (int a);
4010 }
4011
4012 interface I124
4013 {
4014         int CallMe (int a);
4015 }
4016
4017 interface I125
4018 {
4019         int CallMe (int a);
4020 }
4021
4022 interface I126
4023 {
4024         int CallMe (int a);
4025 }
4026
4027 interface I127
4028 {
4029         int CallMe (int a);
4030 }
4031
4032 interface I128
4033 {
4034         int CallMe (int a);
4035 }
4036
4037 interface I129
4038 {
4039         int CallMe (int a);
4040 }
4041
4042 interface I130
4043 {
4044         int CallMe (int a);
4045 }
4046
4047 interface I131
4048 {
4049         int CallMe (int a);
4050 }
4051
4052 interface I132
4053 {
4054         int CallMe (int a);
4055 }
4056
4057 interface I133
4058 {
4059         int CallMe (int a);
4060 }
4061
4062 interface I134
4063 {
4064         int CallMe (int a);
4065 }
4066
4067 interface I135
4068 {
4069         int CallMe (int a);
4070 }
4071
4072 interface I136
4073 {
4074         int CallMe (int a);
4075 }
4076
4077 interface I137
4078 {
4079         int CallMe (int a);
4080 }
4081
4082 interface I138
4083 {
4084         int CallMe (int a);
4085 }
4086
4087 interface I139
4088 {
4089         int CallMe (int a);
4090 }
4091
4092 interface I140
4093 {
4094         int CallMe (int a);
4095 }
4096
4097 interface I141
4098 {
4099         int CallMe (int a);
4100 }
4101
4102 interface I142
4103 {
4104         int CallMe (int a);
4105 }
4106
4107 interface I143
4108 {
4109         int CallMe (int a);
4110 }
4111
4112 interface I144
4113 {
4114         int CallMe (int a);
4115 }
4116
4117 interface I145
4118 {
4119         int CallMe (int a);
4120 }
4121
4122 interface I146
4123 {
4124         int CallMe (int a);
4125 }
4126
4127 interface I147
4128 {
4129         int CallMe (int a);
4130 }
4131
4132 interface I148
4133 {
4134         int CallMe (int a);
4135 }
4136
4137 interface I149
4138 {
4139         int CallMe (int a);
4140 }
4141
4142 interface I150
4143 {
4144         int CallMe (int a);
4145 }
4146
4147 interface I151
4148 {
4149         int CallMe (int a);
4150 }
4151
4152 interface I152
4153 {
4154         int CallMe (int a);
4155 }
4156
4157 interface I153
4158 {
4159         int CallMe (int a);
4160 }
4161
4162 interface I154
4163 {
4164         int CallMe (int a);
4165 }
4166
4167 interface I155
4168 {
4169         int CallMe (int a);
4170 }
4171
4172 interface I156
4173 {
4174         int CallMe (int a);
4175 }
4176
4177 interface I157
4178 {
4179         int CallMe (int a);
4180 }
4181
4182 interface I158
4183 {
4184         int CallMe (int a);
4185 }
4186
4187 interface I159
4188 {
4189         int CallMe (int a);
4190 }
4191
4192 interface I160
4193 {
4194         int CallMe (int a);
4195 }
4196
4197 interface I161
4198 {
4199         int CallMe (int a);
4200 }
4201
4202 interface I162
4203 {
4204         int CallMe (int a);
4205 }
4206
4207 interface I163
4208 {
4209         int CallMe (int a);
4210 }
4211
4212 interface I164
4213 {
4214         int CallMe (int a);
4215 }
4216
4217 interface I165
4218 {
4219         int CallMe (int a);
4220 }
4221
4222 interface I166
4223 {
4224         int CallMe (int a);
4225 }
4226
4227 interface I167
4228 {
4229         int CallMe (int a);
4230 }
4231
4232 interface I168
4233 {
4234         int CallMe (int a);
4235 }
4236
4237 interface I169
4238 {
4239         int CallMe (int a);
4240 }
4241
4242 interface I170
4243 {
4244         int CallMe (int a);
4245 }
4246
4247 interface I171
4248 {
4249         int CallMe (int a);
4250 }
4251
4252 interface I172
4253 {
4254         int CallMe (int a);
4255 }
4256
4257 interface I173
4258 {
4259         int CallMe (int a);
4260 }
4261
4262 interface I174
4263 {
4264         int CallMe (int a);
4265 }
4266
4267 interface I175
4268 {
4269         int CallMe (int a);
4270 }
4271
4272 interface I176
4273 {
4274         int CallMe (int a);
4275 }
4276
4277 interface I177
4278 {
4279         int CallMe (int a);
4280 }
4281
4282 interface I178
4283 {
4284         int CallMe (int a);
4285 }
4286
4287 interface I179
4288 {
4289         int CallMe (int a);
4290 }
4291
4292 interface I180
4293 {
4294         int CallMe (int a);
4295 }
4296
4297 interface I181
4298 {
4299         int CallMe (int a);
4300 }
4301
4302 interface I182
4303 {
4304         int CallMe (int a);
4305 }
4306
4307 interface I183
4308 {
4309         int CallMe (int a);
4310 }
4311
4312 interface I184
4313 {
4314         int CallMe (int a);
4315 }
4316
4317 interface I185
4318 {
4319         int CallMe (int a);
4320 }
4321
4322 interface I186
4323 {
4324         int CallMe (int a);
4325 }
4326
4327 interface I187
4328 {
4329         int CallMe (int a);
4330 }
4331
4332 interface I188
4333 {
4334         int CallMe (int a);
4335 }
4336
4337 interface I189
4338 {
4339         int CallMe (int a);
4340 }
4341
4342 interface I190
4343 {
4344         int CallMe (int a);
4345 }
4346
4347 interface I191
4348 {
4349         int CallMe (int a);
4350 }
4351
4352 interface I192
4353 {
4354         int CallMe (int a);
4355 }
4356
4357 interface I193
4358 {
4359         int CallMe (int a);
4360 }
4361
4362 interface I194
4363 {
4364         int CallMe (int a);
4365 }
4366
4367 interface I195
4368 {
4369         int CallMe (int a);
4370 }
4371
4372 interface I196
4373 {
4374         int CallMe (int a);
4375 }
4376
4377 interface I197
4378 {
4379         int CallMe (int a);
4380 }
4381
4382 interface I198
4383 {
4384         int CallMe (int a);
4385 }
4386
4387 interface I199
4388 {
4389         int CallMe (int a);
4390 }
4391
4392 interface I200
4393 {
4394         int CallMe (int a);
4395 }
4396
4397 interface I201
4398 {
4399         int CallMe (int a);
4400 }
4401
4402 interface I202
4403 {
4404         int CallMe (int a);
4405 }
4406
4407 interface I203
4408 {
4409         int CallMe (int a);
4410 }
4411
4412 interface I204
4413 {
4414         int CallMe (int a);
4415 }
4416
4417 interface I205
4418 {
4419         int CallMe (int a);
4420 }
4421
4422 interface I206
4423 {
4424         int CallMe (int a);
4425 }
4426
4427 interface I207
4428 {
4429         int CallMe (int a);
4430 }
4431
4432 interface I208
4433 {
4434         int CallMe (int a);
4435 }
4436
4437 interface I209
4438 {
4439         int CallMe (int a);
4440 }
4441
4442 interface I210
4443 {
4444         int CallMe (int a);
4445 }
4446
4447 interface I211
4448 {
4449         int CallMe (int a);
4450 }
4451
4452 interface I212
4453 {
4454         int CallMe (int a);
4455 }
4456
4457 interface I213
4458 {
4459         int CallMe (int a);
4460 }
4461
4462 interface I214
4463 {
4464         int CallMe (int a);
4465 }
4466
4467 interface I215
4468 {
4469         int CallMe (int a);
4470 }
4471
4472 interface I216
4473 {
4474         int CallMe (int a);
4475 }
4476
4477 interface I217
4478 {
4479         int CallMe (int a);
4480 }
4481
4482 interface I218
4483 {
4484         int CallMe (int a);
4485 }
4486
4487 interface I219
4488 {
4489         int CallMe (int a);
4490 }
4491
4492 interface I220
4493 {
4494         int CallMe (int a);
4495 }
4496
4497 interface I221
4498 {
4499         int CallMe (int a);
4500 }
4501
4502 interface I222
4503 {
4504         int CallMe (int a);
4505 }
4506
4507 interface I223
4508 {
4509         int CallMe (int a);
4510 }
4511
4512 interface I224
4513 {
4514         int CallMe (int a);
4515 }
4516
4517 interface I225
4518 {
4519         int CallMe (int a);
4520 }
4521
4522 interface I226
4523 {
4524         int CallMe (int a);
4525 }
4526
4527 interface I227
4528 {
4529         int CallMe (int a);
4530 }
4531
4532 interface I228
4533 {
4534         int CallMe (int a);
4535 }
4536
4537 interface I229
4538 {
4539         int CallMe (int a);
4540 }
4541
4542 interface I230
4543 {
4544         int CallMe (int a);
4545 }
4546
4547 interface I231
4548 {
4549         int CallMe (int a);
4550 }
4551
4552 interface I232
4553 {
4554         int CallMe (int a);
4555 }
4556
4557 interface I233
4558 {
4559         int CallMe (int a);
4560 }
4561
4562 interface I234
4563 {
4564         int CallMe (int a);
4565 }
4566
4567 interface I235
4568 {
4569         int CallMe (int a);
4570 }
4571
4572 interface I236
4573 {
4574         int CallMe (int a);
4575 }
4576
4577 interface I237
4578 {
4579         int CallMe (int a);
4580 }
4581
4582 interface I238
4583 {
4584         int CallMe (int a);
4585 }
4586
4587 interface I239
4588 {
4589         int CallMe (int a);
4590 }
4591
4592 interface I240
4593 {
4594         int CallMe (int a);
4595 }
4596
4597 interface I241
4598 {
4599         int CallMe (int a);
4600 }
4601
4602 interface I242
4603 {
4604         int CallMe (int a);
4605 }
4606
4607 interface I243
4608 {
4609         int CallMe (int a);
4610 }
4611
4612 interface I244
4613 {
4614         int CallMe (int a);
4615 }
4616
4617 interface I245
4618 {
4619         int CallMe (int a);
4620 }
4621
4622 interface I246
4623 {
4624         int CallMe (int a);
4625 }
4626
4627 interface I247
4628 {
4629         int CallMe (int a);
4630 }
4631
4632 interface I248
4633 {
4634         int CallMe (int a);
4635 }
4636
4637 interface I249
4638 {
4639         int CallMe (int a);
4640 }
4641
4642 interface I250
4643 {
4644         int CallMe (int a);
4645 }
4646
4647 interface I251
4648 {
4649         int CallMe (int a);
4650 }
4651
4652 interface I252
4653 {
4654         int CallMe (int a);
4655 }
4656
4657 interface I253
4658 {
4659         int CallMe (int a);
4660 }
4661
4662 interface I254
4663 {
4664         int CallMe (int a);
4665 }
4666
4667 interface I255
4668 {
4669         int CallMe (int a);
4670 }
4671
4672 interface I256
4673 {
4674         int CallMe (int a);
4675 }
4676
4677 interface I257
4678 {
4679         int CallMe (int a);
4680 }
4681
4682 interface I258
4683 {
4684         int CallMe (int a);
4685 }
4686
4687 interface I259
4688 {
4689         int CallMe (int a);
4690 }
4691
4692 interface I260
4693 {
4694         int CallMe (int a);
4695 }
4696
4697 interface I261
4698 {
4699         int CallMe (int a);
4700 }
4701
4702 interface I262
4703 {
4704         int CallMe (int a);
4705 }
4706
4707 interface I263
4708 {
4709         int CallMe (int a);
4710 }
4711
4712 interface I264
4713 {
4714         int CallMe (int a);
4715 }
4716
4717 interface I265
4718 {
4719         int CallMe (int a);
4720 }
4721
4722 interface I266
4723 {
4724         int CallMe (int a);
4725 }
4726
4727 interface I267
4728 {
4729         int CallMe (int a);
4730 }
4731
4732 interface I268
4733 {
4734         int CallMe (int a);
4735 }
4736
4737 interface I269
4738 {
4739         int CallMe (int a);
4740 }
4741
4742 interface I270
4743 {
4744         int CallMe (int a);
4745 }
4746
4747 interface I271
4748 {
4749         int CallMe (int a);
4750 }
4751
4752 interface I272
4753 {
4754         int CallMe (int a);
4755 }
4756
4757 interface I273
4758 {
4759         int CallMe (int a);
4760 }
4761
4762 interface I274
4763 {
4764         int CallMe (int a);
4765 }
4766
4767 interface I275
4768 {
4769         int CallMe (int a);
4770 }
4771
4772 interface I276
4773 {
4774         int CallMe (int a);
4775 }
4776
4777 interface I277
4778 {
4779         int CallMe (int a);
4780 }
4781
4782 interface I278
4783 {
4784         int CallMe (int a);
4785 }
4786
4787 interface I279
4788 {
4789         int CallMe (int a);
4790 }
4791
4792 interface I280
4793 {
4794         int CallMe (int a);
4795 }
4796
4797 interface I281
4798 {
4799         int CallMe (int a);
4800 }
4801
4802 interface I282
4803 {
4804         int CallMe (int a);
4805 }
4806
4807 interface I283
4808 {
4809         int CallMe (int a);
4810 }
4811
4812 interface I284
4813 {
4814         int CallMe (int a);
4815 }
4816
4817 interface I285
4818 {
4819         int CallMe (int a);
4820 }
4821
4822 interface I286
4823 {
4824         int CallMe (int a);
4825 }
4826
4827 interface I287
4828 {
4829         int CallMe (int a);
4830 }
4831
4832 interface I288
4833 {
4834         int CallMe (int a);
4835 }
4836
4837 interface I289
4838 {
4839         int CallMe (int a);
4840 }
4841
4842 interface I290
4843 {
4844         int CallMe (int a);
4845 }
4846
4847 interface I291
4848 {
4849         int CallMe (int a);
4850 }
4851
4852 interface I292
4853 {
4854         int CallMe (int a);
4855 }
4856
4857 interface I293
4858 {
4859         int CallMe (int a);
4860 }
4861
4862 interface I294
4863 {
4864         int CallMe (int a);
4865 }
4866
4867 interface I295
4868 {
4869         int CallMe (int a);
4870 }
4871
4872 interface I296
4873 {
4874         int CallMe (int a);
4875 }
4876
4877 interface I297
4878 {
4879         int CallMe (int a);
4880 }
4881
4882 interface I298
4883 {
4884         int CallMe (int a);
4885 }
4886
4887 interface I299
4888 {
4889         int CallMe (int a);
4890 }
4891
4892 interface I300
4893 {
4894         int CallMe (int a);
4895 }