1/* 2 * Copyright (c) 2017-2021 The Khronos Group Inc. 3 * Copyright (c) 2017-2021 Valve Corporation 4 * Copyright (c) 2017-2021 LunarG, Inc. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 * Author Jon Ashburn <jon@lunarg.com> 19 * Author: Lenny Komow <lenny@lunarg.com> 20 * Author: Charles Giessen <charles@lunarg.com> 21 */ 22 23// This code is used to pass on physical device extensions through the call chain. It must do this without creating a stack frame, 24// because the actual parameters of the call are not known. Since the first parameter is known to be a VkPhysicalDevice, it can 25// unwrap the physical device, overwriting the wrapped device, and then jump to the next function in the call chain. This code 26// attempts to accomplish this by relying on tail-call optimizations, but there is no guarantee that this will work. As a result, 27// this code is only compiled on systems where an assembly alternative has not been written. 28 29#include "loader.h" 30#include "log.h" 31 32#if defined(__GNUC__) && !defined(__clang__) 33#pragma GCC optimize(3) // force gcc to use tail-calls 34#endif 35 36// Trampoline function macro for unknown physical device extension command. 37#define PhysDevExtTramp(num) \ 38 VKAPI_ATTR void VKAPI_CALL vkPhysDevExtTramp##num(VkPhysicalDevice physical_device) { \ 39 const struct loader_instance_dispatch_table *disp; \ 40 disp = loader_get_instance_dispatch(physical_device); \ 41 disp->phys_dev_ext[num](loader_unwrap_physical_device(physical_device)); \ 42 } 43 44// Terminator function macro for unknown physical device extension command. 45#define PhysDevExtTermin(num) \ 46 VKAPI_ATTR void VKAPI_CALL vkPhysDevExtTermin##num(VkPhysicalDevice physical_device) { \ 47 struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physical_device; \ 48 struct loader_icd_term *icd_term = phys_dev_term->this_icd_term; \ 49 struct loader_instance *inst = (struct loader_instance *)icd_term->this_instance; \ 50 if (NULL == icd_term->phys_dev_ext[num]) { \ 51 loader_log(inst, VULKAN_LOADER_ERROR_BIT, 0, "Function %s not supported for this physical device", \ 52 inst->phys_dev_ext_disp_functions[num]); \ 53 } \ 54 icd_term->phys_dev_ext[num](phys_dev_term->phys_dev); \ 55 } 56 57// Trampoline function macro for unknown physical device extension command. 58#define DevExtTramp(num) \ 59 VKAPI_ATTR void VKAPI_CALL vkdev_ext##num(VkDevice device) { \ 60 const struct loader_dev_dispatch_table *disp; \ 61 disp = loader_get_dev_dispatch(device); \ 62 disp->ext_dispatch[num](device); \ 63 } 64 65// clang-format off 66// Instantiations of the trampoline 67PhysDevExtTramp(0) 68PhysDevExtTramp(1) 69PhysDevExtTramp(2) 70PhysDevExtTramp(3) 71PhysDevExtTramp(4) 72PhysDevExtTramp(5) 73PhysDevExtTramp(6) 74PhysDevExtTramp(7) 75PhysDevExtTramp(8) 76PhysDevExtTramp(9) 77PhysDevExtTramp(10) 78PhysDevExtTramp(11) 79PhysDevExtTramp(12) 80PhysDevExtTramp(13) 81PhysDevExtTramp(14) 82PhysDevExtTramp(15) 83PhysDevExtTramp(16) 84PhysDevExtTramp(17) 85PhysDevExtTramp(18) 86PhysDevExtTramp(19) 87PhysDevExtTramp(20) 88PhysDevExtTramp(21) 89PhysDevExtTramp(22) 90PhysDevExtTramp(23) 91PhysDevExtTramp(24) 92PhysDevExtTramp(25) 93PhysDevExtTramp(26) 94PhysDevExtTramp(27) 95PhysDevExtTramp(28) 96PhysDevExtTramp(29) 97PhysDevExtTramp(30) 98PhysDevExtTramp(31) 99PhysDevExtTramp(32) 100PhysDevExtTramp(33) 101PhysDevExtTramp(34) 102PhysDevExtTramp(35) 103PhysDevExtTramp(36) 104PhysDevExtTramp(37) 105PhysDevExtTramp(38) 106PhysDevExtTramp(39) 107PhysDevExtTramp(40) 108PhysDevExtTramp(41) 109PhysDevExtTramp(42) 110PhysDevExtTramp(43) 111PhysDevExtTramp(44) 112PhysDevExtTramp(45) 113PhysDevExtTramp(46) 114PhysDevExtTramp(47) 115PhysDevExtTramp(48) 116PhysDevExtTramp(49) 117PhysDevExtTramp(50) 118PhysDevExtTramp(51) 119PhysDevExtTramp(52) 120PhysDevExtTramp(53) 121PhysDevExtTramp(54) 122PhysDevExtTramp(55) 123PhysDevExtTramp(56) 124PhysDevExtTramp(57) 125PhysDevExtTramp(58) 126PhysDevExtTramp(59) 127PhysDevExtTramp(60) 128PhysDevExtTramp(61) 129PhysDevExtTramp(62) 130PhysDevExtTramp(63) 131PhysDevExtTramp(64) 132PhysDevExtTramp(65) 133PhysDevExtTramp(66) 134PhysDevExtTramp(67) 135PhysDevExtTramp(68) 136PhysDevExtTramp(69) 137PhysDevExtTramp(70) 138PhysDevExtTramp(71) 139PhysDevExtTramp(72) 140PhysDevExtTramp(73) 141PhysDevExtTramp(74) 142PhysDevExtTramp(75) 143PhysDevExtTramp(76) 144PhysDevExtTramp(77) 145PhysDevExtTramp(78) 146PhysDevExtTramp(79) 147PhysDevExtTramp(80) 148PhysDevExtTramp(81) 149PhysDevExtTramp(82) 150PhysDevExtTramp(83) 151PhysDevExtTramp(84) 152PhysDevExtTramp(85) 153PhysDevExtTramp(86) 154PhysDevExtTramp(87) 155PhysDevExtTramp(88) 156PhysDevExtTramp(89) 157PhysDevExtTramp(90) 158PhysDevExtTramp(91) 159PhysDevExtTramp(92) 160PhysDevExtTramp(93) 161PhysDevExtTramp(94) 162PhysDevExtTramp(95) 163PhysDevExtTramp(96) 164PhysDevExtTramp(97) 165PhysDevExtTramp(98) 166PhysDevExtTramp(99) 167PhysDevExtTramp(100) 168PhysDevExtTramp(101) 169PhysDevExtTramp(102) 170PhysDevExtTramp(103) 171PhysDevExtTramp(104) 172PhysDevExtTramp(105) 173PhysDevExtTramp(106) 174PhysDevExtTramp(107) 175PhysDevExtTramp(108) 176PhysDevExtTramp(109) 177PhysDevExtTramp(110) 178PhysDevExtTramp(111) 179PhysDevExtTramp(112) 180PhysDevExtTramp(113) 181PhysDevExtTramp(114) 182PhysDevExtTramp(115) 183PhysDevExtTramp(116) 184PhysDevExtTramp(117) 185PhysDevExtTramp(118) 186PhysDevExtTramp(119) 187PhysDevExtTramp(120) 188PhysDevExtTramp(121) 189PhysDevExtTramp(122) 190PhysDevExtTramp(123) 191PhysDevExtTramp(124) 192PhysDevExtTramp(125) 193PhysDevExtTramp(126) 194PhysDevExtTramp(127) 195PhysDevExtTramp(128) 196PhysDevExtTramp(129) 197PhysDevExtTramp(130) 198PhysDevExtTramp(131) 199PhysDevExtTramp(132) 200PhysDevExtTramp(133) 201PhysDevExtTramp(134) 202PhysDevExtTramp(135) 203PhysDevExtTramp(136) 204PhysDevExtTramp(137) 205PhysDevExtTramp(138) 206PhysDevExtTramp(139) 207PhysDevExtTramp(140) 208PhysDevExtTramp(141) 209PhysDevExtTramp(142) 210PhysDevExtTramp(143) 211PhysDevExtTramp(144) 212PhysDevExtTramp(145) 213PhysDevExtTramp(146) 214PhysDevExtTramp(147) 215PhysDevExtTramp(148) 216PhysDevExtTramp(149) 217PhysDevExtTramp(150) 218PhysDevExtTramp(151) 219PhysDevExtTramp(152) 220PhysDevExtTramp(153) 221PhysDevExtTramp(154) 222PhysDevExtTramp(155) 223PhysDevExtTramp(156) 224PhysDevExtTramp(157) 225PhysDevExtTramp(158) 226PhysDevExtTramp(159) 227PhysDevExtTramp(160) 228PhysDevExtTramp(161) 229PhysDevExtTramp(162) 230PhysDevExtTramp(163) 231PhysDevExtTramp(164) 232PhysDevExtTramp(165) 233PhysDevExtTramp(166) 234PhysDevExtTramp(167) 235PhysDevExtTramp(168) 236PhysDevExtTramp(169) 237PhysDevExtTramp(170) 238PhysDevExtTramp(171) 239PhysDevExtTramp(172) 240PhysDevExtTramp(173) 241PhysDevExtTramp(174) 242PhysDevExtTramp(175) 243PhysDevExtTramp(176) 244PhysDevExtTramp(177) 245PhysDevExtTramp(178) 246PhysDevExtTramp(179) 247PhysDevExtTramp(180) 248PhysDevExtTramp(181) 249PhysDevExtTramp(182) 250PhysDevExtTramp(183) 251PhysDevExtTramp(184) 252PhysDevExtTramp(185) 253PhysDevExtTramp(186) 254PhysDevExtTramp(187) 255PhysDevExtTramp(188) 256PhysDevExtTramp(189) 257PhysDevExtTramp(190) 258PhysDevExtTramp(191) 259PhysDevExtTramp(192) 260PhysDevExtTramp(193) 261PhysDevExtTramp(194) 262PhysDevExtTramp(195) 263PhysDevExtTramp(196) 264PhysDevExtTramp(197) 265PhysDevExtTramp(198) 266PhysDevExtTramp(199) 267PhysDevExtTramp(200) 268PhysDevExtTramp(201) 269PhysDevExtTramp(202) 270PhysDevExtTramp(203) 271PhysDevExtTramp(204) 272PhysDevExtTramp(205) 273PhysDevExtTramp(206) 274PhysDevExtTramp(207) 275PhysDevExtTramp(208) 276PhysDevExtTramp(209) 277PhysDevExtTramp(210) 278PhysDevExtTramp(211) 279PhysDevExtTramp(212) 280PhysDevExtTramp(213) 281PhysDevExtTramp(214) 282PhysDevExtTramp(215) 283PhysDevExtTramp(216) 284PhysDevExtTramp(217) 285PhysDevExtTramp(218) 286PhysDevExtTramp(219) 287PhysDevExtTramp(220) 288PhysDevExtTramp(221) 289PhysDevExtTramp(222) 290PhysDevExtTramp(223) 291PhysDevExtTramp(224) 292PhysDevExtTramp(225) 293PhysDevExtTramp(226) 294PhysDevExtTramp(227) 295PhysDevExtTramp(228) 296PhysDevExtTramp(229) 297PhysDevExtTramp(230) 298PhysDevExtTramp(231) 299PhysDevExtTramp(232) 300PhysDevExtTramp(233) 301PhysDevExtTramp(234) 302PhysDevExtTramp(235) 303PhysDevExtTramp(236) 304PhysDevExtTramp(237) 305PhysDevExtTramp(238) 306PhysDevExtTramp(239) 307PhysDevExtTramp(240) 308PhysDevExtTramp(241) 309PhysDevExtTramp(242) 310PhysDevExtTramp(243) 311PhysDevExtTramp(244) 312PhysDevExtTramp(245) 313PhysDevExtTramp(246) 314PhysDevExtTramp(247) 315PhysDevExtTramp(248) 316PhysDevExtTramp(249) 317 318// Instantiations of the terminator 319PhysDevExtTermin(0) 320PhysDevExtTermin(1) 321PhysDevExtTermin(2) 322PhysDevExtTermin(3) 323PhysDevExtTermin(4) 324PhysDevExtTermin(5) 325PhysDevExtTermin(6) 326PhysDevExtTermin(7) 327PhysDevExtTermin(8) 328PhysDevExtTermin(9) 329PhysDevExtTermin(10) 330PhysDevExtTermin(11) 331PhysDevExtTermin(12) 332PhysDevExtTermin(13) 333PhysDevExtTermin(14) 334PhysDevExtTermin(15) 335PhysDevExtTermin(16) 336PhysDevExtTermin(17) 337PhysDevExtTermin(18) 338PhysDevExtTermin(19) 339PhysDevExtTermin(20) 340PhysDevExtTermin(21) 341PhysDevExtTermin(22) 342PhysDevExtTermin(23) 343PhysDevExtTermin(24) 344PhysDevExtTermin(25) 345PhysDevExtTermin(26) 346PhysDevExtTermin(27) 347PhysDevExtTermin(28) 348PhysDevExtTermin(29) 349PhysDevExtTermin(30) 350PhysDevExtTermin(31) 351PhysDevExtTermin(32) 352PhysDevExtTermin(33) 353PhysDevExtTermin(34) 354PhysDevExtTermin(35) 355PhysDevExtTermin(36) 356PhysDevExtTermin(37) 357PhysDevExtTermin(38) 358PhysDevExtTermin(39) 359PhysDevExtTermin(40) 360PhysDevExtTermin(41) 361PhysDevExtTermin(42) 362PhysDevExtTermin(43) 363PhysDevExtTermin(44) 364PhysDevExtTermin(45) 365PhysDevExtTermin(46) 366PhysDevExtTermin(47) 367PhysDevExtTermin(48) 368PhysDevExtTermin(49) 369PhysDevExtTermin(50) 370PhysDevExtTermin(51) 371PhysDevExtTermin(52) 372PhysDevExtTermin(53) 373PhysDevExtTermin(54) 374PhysDevExtTermin(55) 375PhysDevExtTermin(56) 376PhysDevExtTermin(57) 377PhysDevExtTermin(58) 378PhysDevExtTermin(59) 379PhysDevExtTermin(60) 380PhysDevExtTermin(61) 381PhysDevExtTermin(62) 382PhysDevExtTermin(63) 383PhysDevExtTermin(64) 384PhysDevExtTermin(65) 385PhysDevExtTermin(66) 386PhysDevExtTermin(67) 387PhysDevExtTermin(68) 388PhysDevExtTermin(69) 389PhysDevExtTermin(70) 390PhysDevExtTermin(71) 391PhysDevExtTermin(72) 392PhysDevExtTermin(73) 393PhysDevExtTermin(74) 394PhysDevExtTermin(75) 395PhysDevExtTermin(76) 396PhysDevExtTermin(77) 397PhysDevExtTermin(78) 398PhysDevExtTermin(79) 399PhysDevExtTermin(80) 400PhysDevExtTermin(81) 401PhysDevExtTermin(82) 402PhysDevExtTermin(83) 403PhysDevExtTermin(84) 404PhysDevExtTermin(85) 405PhysDevExtTermin(86) 406PhysDevExtTermin(87) 407PhysDevExtTermin(88) 408PhysDevExtTermin(89) 409PhysDevExtTermin(90) 410PhysDevExtTermin(91) 411PhysDevExtTermin(92) 412PhysDevExtTermin(93) 413PhysDevExtTermin(94) 414PhysDevExtTermin(95) 415PhysDevExtTermin(96) 416PhysDevExtTermin(97) 417PhysDevExtTermin(98) 418PhysDevExtTermin(99) 419PhysDevExtTermin(100) 420PhysDevExtTermin(101) 421PhysDevExtTermin(102) 422PhysDevExtTermin(103) 423PhysDevExtTermin(104) 424PhysDevExtTermin(105) 425PhysDevExtTermin(106) 426PhysDevExtTermin(107) 427PhysDevExtTermin(108) 428PhysDevExtTermin(109) 429PhysDevExtTermin(110) 430PhysDevExtTermin(111) 431PhysDevExtTermin(112) 432PhysDevExtTermin(113) 433PhysDevExtTermin(114) 434PhysDevExtTermin(115) 435PhysDevExtTermin(116) 436PhysDevExtTermin(117) 437PhysDevExtTermin(118) 438PhysDevExtTermin(119) 439PhysDevExtTermin(120) 440PhysDevExtTermin(121) 441PhysDevExtTermin(122) 442PhysDevExtTermin(123) 443PhysDevExtTermin(124) 444PhysDevExtTermin(125) 445PhysDevExtTermin(126) 446PhysDevExtTermin(127) 447PhysDevExtTermin(128) 448PhysDevExtTermin(129) 449PhysDevExtTermin(130) 450PhysDevExtTermin(131) 451PhysDevExtTermin(132) 452PhysDevExtTermin(133) 453PhysDevExtTermin(134) 454PhysDevExtTermin(135) 455PhysDevExtTermin(136) 456PhysDevExtTermin(137) 457PhysDevExtTermin(138) 458PhysDevExtTermin(139) 459PhysDevExtTermin(140) 460PhysDevExtTermin(141) 461PhysDevExtTermin(142) 462PhysDevExtTermin(143) 463PhysDevExtTermin(144) 464PhysDevExtTermin(145) 465PhysDevExtTermin(146) 466PhysDevExtTermin(147) 467PhysDevExtTermin(148) 468PhysDevExtTermin(149) 469PhysDevExtTermin(150) 470PhysDevExtTermin(151) 471PhysDevExtTermin(152) 472PhysDevExtTermin(153) 473PhysDevExtTermin(154) 474PhysDevExtTermin(155) 475PhysDevExtTermin(156) 476PhysDevExtTermin(157) 477PhysDevExtTermin(158) 478PhysDevExtTermin(159) 479PhysDevExtTermin(160) 480PhysDevExtTermin(161) 481PhysDevExtTermin(162) 482PhysDevExtTermin(163) 483PhysDevExtTermin(164) 484PhysDevExtTermin(165) 485PhysDevExtTermin(166) 486PhysDevExtTermin(167) 487PhysDevExtTermin(168) 488PhysDevExtTermin(169) 489PhysDevExtTermin(170) 490PhysDevExtTermin(171) 491PhysDevExtTermin(172) 492PhysDevExtTermin(173) 493PhysDevExtTermin(174) 494PhysDevExtTermin(175) 495PhysDevExtTermin(176) 496PhysDevExtTermin(177) 497PhysDevExtTermin(178) 498PhysDevExtTermin(179) 499PhysDevExtTermin(180) 500PhysDevExtTermin(181) 501PhysDevExtTermin(182) 502PhysDevExtTermin(183) 503PhysDevExtTermin(184) 504PhysDevExtTermin(185) 505PhysDevExtTermin(186) 506PhysDevExtTermin(187) 507PhysDevExtTermin(188) 508PhysDevExtTermin(189) 509PhysDevExtTermin(190) 510PhysDevExtTermin(191) 511PhysDevExtTermin(192) 512PhysDevExtTermin(193) 513PhysDevExtTermin(194) 514PhysDevExtTermin(195) 515PhysDevExtTermin(196) 516PhysDevExtTermin(197) 517PhysDevExtTermin(198) 518PhysDevExtTermin(199) 519PhysDevExtTermin(200) 520PhysDevExtTermin(201) 521PhysDevExtTermin(202) 522PhysDevExtTermin(203) 523PhysDevExtTermin(204) 524PhysDevExtTermin(205) 525PhysDevExtTermin(206) 526PhysDevExtTermin(207) 527PhysDevExtTermin(208) 528PhysDevExtTermin(209) 529PhysDevExtTermin(210) 530PhysDevExtTermin(211) 531PhysDevExtTermin(212) 532PhysDevExtTermin(213) 533PhysDevExtTermin(214) 534PhysDevExtTermin(215) 535PhysDevExtTermin(216) 536PhysDevExtTermin(217) 537PhysDevExtTermin(218) 538PhysDevExtTermin(219) 539PhysDevExtTermin(220) 540PhysDevExtTermin(221) 541PhysDevExtTermin(222) 542PhysDevExtTermin(223) 543PhysDevExtTermin(224) 544PhysDevExtTermin(225) 545PhysDevExtTermin(226) 546PhysDevExtTermin(227) 547PhysDevExtTermin(228) 548PhysDevExtTermin(229) 549PhysDevExtTermin(230) 550PhysDevExtTermin(231) 551PhysDevExtTermin(232) 552PhysDevExtTermin(233) 553PhysDevExtTermin(234) 554PhysDevExtTermin(235) 555PhysDevExtTermin(236) 556PhysDevExtTermin(237) 557PhysDevExtTermin(238) 558PhysDevExtTermin(239) 559PhysDevExtTermin(240) 560PhysDevExtTermin(241) 561PhysDevExtTermin(242) 562PhysDevExtTermin(243) 563PhysDevExtTermin(244) 564PhysDevExtTermin(245) 565PhysDevExtTermin(246) 566PhysDevExtTermin(247) 567PhysDevExtTermin(248) 568PhysDevExtTermin(249) 569 570// Instantiations of the device trampoline 571DevExtTramp(0) 572DevExtTramp(1) 573DevExtTramp(2) 574DevExtTramp(3) 575DevExtTramp(4) 576DevExtTramp(5) 577DevExtTramp(6) 578DevExtTramp(7) 579DevExtTramp(8) 580DevExtTramp(9) 581DevExtTramp(10) 582DevExtTramp(11) 583DevExtTramp(12) 584DevExtTramp(13) 585DevExtTramp(14) 586DevExtTramp(15) 587DevExtTramp(16) 588DevExtTramp(17) 589DevExtTramp(18) 590DevExtTramp(19) 591DevExtTramp(20) 592DevExtTramp(21) 593DevExtTramp(22) 594DevExtTramp(23) 595DevExtTramp(24) 596DevExtTramp(25) 597DevExtTramp(26) 598DevExtTramp(27) 599DevExtTramp(28) 600DevExtTramp(29) 601DevExtTramp(30) 602DevExtTramp(31) 603DevExtTramp(32) 604DevExtTramp(33) 605DevExtTramp(34) 606DevExtTramp(35) 607DevExtTramp(36) 608DevExtTramp(37) 609DevExtTramp(38) 610DevExtTramp(39) 611DevExtTramp(40) 612DevExtTramp(41) 613DevExtTramp(42) 614DevExtTramp(43) 615DevExtTramp(44) 616DevExtTramp(45) 617DevExtTramp(46) 618DevExtTramp(47) 619DevExtTramp(48) 620DevExtTramp(49) 621DevExtTramp(50) 622DevExtTramp(51) 623DevExtTramp(52) 624DevExtTramp(53) 625DevExtTramp(54) 626DevExtTramp(55) 627DevExtTramp(56) 628DevExtTramp(57) 629DevExtTramp(58) 630DevExtTramp(59) 631DevExtTramp(60) 632DevExtTramp(61) 633DevExtTramp(62) 634DevExtTramp(63) 635DevExtTramp(64) 636DevExtTramp(65) 637DevExtTramp(66) 638DevExtTramp(67) 639DevExtTramp(68) 640DevExtTramp(69) 641DevExtTramp(70) 642DevExtTramp(71) 643DevExtTramp(72) 644DevExtTramp(73) 645DevExtTramp(74) 646DevExtTramp(75) 647DevExtTramp(76) 648DevExtTramp(77) 649DevExtTramp(78) 650DevExtTramp(79) 651DevExtTramp(80) 652DevExtTramp(81) 653DevExtTramp(82) 654DevExtTramp(83) 655DevExtTramp(84) 656DevExtTramp(85) 657DevExtTramp(86) 658DevExtTramp(87) 659DevExtTramp(88) 660DevExtTramp(89) 661DevExtTramp(90) 662DevExtTramp(91) 663DevExtTramp(92) 664DevExtTramp(93) 665DevExtTramp(94) 666DevExtTramp(95) 667DevExtTramp(96) 668DevExtTramp(97) 669DevExtTramp(98) 670DevExtTramp(99) 671DevExtTramp(100) 672DevExtTramp(101) 673DevExtTramp(102) 674DevExtTramp(103) 675DevExtTramp(104) 676DevExtTramp(105) 677DevExtTramp(106) 678DevExtTramp(107) 679DevExtTramp(108) 680DevExtTramp(109) 681DevExtTramp(110) 682DevExtTramp(111) 683DevExtTramp(112) 684DevExtTramp(113) 685DevExtTramp(114) 686DevExtTramp(115) 687DevExtTramp(116) 688DevExtTramp(117) 689DevExtTramp(118) 690DevExtTramp(119) 691DevExtTramp(120) 692DevExtTramp(121) 693DevExtTramp(122) 694DevExtTramp(123) 695DevExtTramp(124) 696DevExtTramp(125) 697DevExtTramp(126) 698DevExtTramp(127) 699DevExtTramp(128) 700DevExtTramp(129) 701DevExtTramp(130) 702DevExtTramp(131) 703DevExtTramp(132) 704DevExtTramp(133) 705DevExtTramp(134) 706DevExtTramp(135) 707DevExtTramp(136) 708DevExtTramp(137) 709DevExtTramp(138) 710DevExtTramp(139) 711DevExtTramp(140) 712DevExtTramp(141) 713DevExtTramp(142) 714DevExtTramp(143) 715DevExtTramp(144) 716DevExtTramp(145) 717DevExtTramp(146) 718DevExtTramp(147) 719DevExtTramp(148) 720DevExtTramp(149) 721DevExtTramp(150) 722DevExtTramp(151) 723DevExtTramp(152) 724DevExtTramp(153) 725DevExtTramp(154) 726DevExtTramp(155) 727DevExtTramp(156) 728DevExtTramp(157) 729DevExtTramp(158) 730DevExtTramp(159) 731DevExtTramp(160) 732DevExtTramp(161) 733DevExtTramp(162) 734DevExtTramp(163) 735DevExtTramp(164) 736DevExtTramp(165) 737DevExtTramp(166) 738DevExtTramp(167) 739DevExtTramp(168) 740DevExtTramp(169) 741DevExtTramp(170) 742DevExtTramp(171) 743DevExtTramp(172) 744DevExtTramp(173) 745DevExtTramp(174) 746DevExtTramp(175) 747DevExtTramp(176) 748DevExtTramp(177) 749DevExtTramp(178) 750DevExtTramp(179) 751DevExtTramp(180) 752DevExtTramp(181) 753DevExtTramp(182) 754DevExtTramp(183) 755DevExtTramp(184) 756DevExtTramp(185) 757DevExtTramp(186) 758DevExtTramp(187) 759DevExtTramp(188) 760DevExtTramp(189) 761DevExtTramp(190) 762DevExtTramp(191) 763DevExtTramp(192) 764DevExtTramp(193) 765DevExtTramp(194) 766DevExtTramp(195) 767DevExtTramp(196) 768DevExtTramp(197) 769DevExtTramp(198) 770DevExtTramp(199) 771DevExtTramp(200) 772DevExtTramp(201) 773DevExtTramp(202) 774DevExtTramp(203) 775DevExtTramp(204) 776DevExtTramp(205) 777DevExtTramp(206) 778DevExtTramp(207) 779DevExtTramp(208) 780DevExtTramp(209) 781DevExtTramp(210) 782DevExtTramp(211) 783DevExtTramp(212) 784DevExtTramp(213) 785DevExtTramp(214) 786DevExtTramp(215) 787DevExtTramp(216) 788DevExtTramp(217) 789DevExtTramp(218) 790DevExtTramp(219) 791DevExtTramp(220) 792DevExtTramp(221) 793DevExtTramp(222) 794DevExtTramp(223) 795DevExtTramp(224) 796DevExtTramp(225) 797DevExtTramp(226) 798DevExtTramp(227) 799DevExtTramp(228) 800DevExtTramp(229) 801DevExtTramp(230) 802DevExtTramp(231) 803DevExtTramp(232) 804DevExtTramp(233) 805DevExtTramp(234) 806DevExtTramp(235) 807DevExtTramp(236) 808DevExtTramp(237) 809DevExtTramp(238) 810DevExtTramp(239) 811DevExtTramp(240) 812DevExtTramp(241) 813DevExtTramp(242) 814DevExtTramp(243) 815DevExtTramp(244) 816DevExtTramp(245) 817DevExtTramp(246) 818DevExtTramp(247) 819DevExtTramp(248) 820DevExtTramp(249) 821