Best Python code snippet using keyboard
many-actions.gyp
Source:many-actions.gyp  
1# Copyright (c) 2012 Google Inc. All rights reserved.2# Use of this source code is governed by a BSD-style license that can be3# found in the LICENSE file.4{5  'target_defaults': {6    'msvs_cygwin_dirs': ['../../../../<(DEPTH)/third_party/cygwin'],7  },8  'targets': [9    {10      'target_name': 'a',11      'type': 'none',12      'actions': [13        {14          'action_name': 'do_0',15          'inputs': [],16          'outputs': ['<(PRODUCT_DIR)/generated_0.h'],17          'action': [18            'touch',19            '<(PRODUCT_DIR)/generated_0.h',20          ],21        },22        {23          'action_name': 'do_1',24          'inputs': [],25          'outputs': ['<(PRODUCT_DIR)/generated_1.h'],26          'action': [27            'touch',28            '<(PRODUCT_DIR)/generated_1.h',29          ],30        },31        {32          'action_name': 'do_2',33          'inputs': [],34          'outputs': ['<(PRODUCT_DIR)/generated_2.h'],35          'action': [36            'touch',37            '<(PRODUCT_DIR)/generated_2.h',38          ],39        },40        {41          'action_name': 'do_3',42          'inputs': [],43          'outputs': ['<(PRODUCT_DIR)/generated_3.h'],44          'action': [45            'touch',46            '<(PRODUCT_DIR)/generated_3.h',47          ],48        },49        {50          'action_name': 'do_4',51          'inputs': [],52          'outputs': ['<(PRODUCT_DIR)/generated_4.h'],53          'action': [54            'touch',55            '<(PRODUCT_DIR)/generated_4.h',56          ],57        },58        {59          'action_name': 'do_5',60          'inputs': [],61          'outputs': ['<(PRODUCT_DIR)/generated_5.h'],62          'action': [63            'touch',64            '<(PRODUCT_DIR)/generated_5.h',65          ],66        },67        {68          'action_name': 'do_6',69          'inputs': [],70          'outputs': ['<(PRODUCT_DIR)/generated_6.h'],71          'action': [72            'touch',73            '<(PRODUCT_DIR)/generated_6.h',74          ],75        },76        {77          'action_name': 'do_7',78          'inputs': [],79          'outputs': ['<(PRODUCT_DIR)/generated_7.h'],80          'action': [81            'touch',82            '<(PRODUCT_DIR)/generated_7.h',83          ],84        },85        {86          'action_name': 'do_8',87          'inputs': [],88          'outputs': ['<(PRODUCT_DIR)/generated_8.h'],89          'action': [90            'touch',91            '<(PRODUCT_DIR)/generated_8.h',92          ],93        },94        {95          'action_name': 'do_9',96          'inputs': [],97          'outputs': ['<(PRODUCT_DIR)/generated_9.h'],98          'action': [99            'touch',100            '<(PRODUCT_DIR)/generated_9.h',101          ],102        },103        {104          'action_name': 'do_10',105          'inputs': [],106          'outputs': ['<(PRODUCT_DIR)/generated_10.h'],107          'action': [108            'touch',109            '<(PRODUCT_DIR)/generated_10.h',110          ],111        },112        {113          'action_name': 'do_11',114          'inputs': [],115          'outputs': ['<(PRODUCT_DIR)/generated_11.h'],116          'action': [117            'touch',118            '<(PRODUCT_DIR)/generated_11.h',119          ],120        },121        {122          'action_name': 'do_12',123          'inputs': [],124          'outputs': ['<(PRODUCT_DIR)/generated_12.h'],125          'action': [126            'touch',127            '<(PRODUCT_DIR)/generated_12.h',128          ],129        },130        {131          'action_name': 'do_13',132          'inputs': [],133          'outputs': ['<(PRODUCT_DIR)/generated_13.h'],134          'action': [135            'touch',136            '<(PRODUCT_DIR)/generated_13.h',137          ],138        },139        {140          'action_name': 'do_14',141          'inputs': [],142          'outputs': ['<(PRODUCT_DIR)/generated_14.h'],143          'action': [144            'touch',145            '<(PRODUCT_DIR)/generated_14.h',146          ],147        },148        {149          'action_name': 'do_15',150          'inputs': [],151          'outputs': ['<(PRODUCT_DIR)/generated_15.h'],152          'action': [153            'touch',154            '<(PRODUCT_DIR)/generated_15.h',155          ],156        },157        {158          'action_name': 'do_16',159          'inputs': [],160          'outputs': ['<(PRODUCT_DIR)/generated_16.h'],161          'action': [162            'touch',163            '<(PRODUCT_DIR)/generated_16.h',164          ],165        },166        {167          'action_name': 'do_17',168          'inputs': [],169          'outputs': ['<(PRODUCT_DIR)/generated_17.h'],170          'action': [171            'touch',172            '<(PRODUCT_DIR)/generated_17.h',173          ],174        },175        {176          'action_name': 'do_18',177          'inputs': [],178          'outputs': ['<(PRODUCT_DIR)/generated_18.h'],179          'action': [180            'touch',181            '<(PRODUCT_DIR)/generated_18.h',182          ],183        },184        {185          'action_name': 'do_19',186          'inputs': [],187          'outputs': ['<(PRODUCT_DIR)/generated_19.h'],188          'action': [189            'touch',190            '<(PRODUCT_DIR)/generated_19.h',191          ],192        },193        {194          'action_name': 'do_20',195          'inputs': [],196          'outputs': ['<(PRODUCT_DIR)/generated_20.h'],197          'action': [198            'touch',199            '<(PRODUCT_DIR)/generated_20.h',200          ],201        },202        {203          'action_name': 'do_21',204          'inputs': [],205          'outputs': ['<(PRODUCT_DIR)/generated_21.h'],206          'action': [207            'touch',208            '<(PRODUCT_DIR)/generated_21.h',209          ],210        },211        {212          'action_name': 'do_22',213          'inputs': [],214          'outputs': ['<(PRODUCT_DIR)/generated_22.h'],215          'action': [216            'touch',217            '<(PRODUCT_DIR)/generated_22.h',218          ],219        },220        {221          'action_name': 'do_23',222          'inputs': [],223          'outputs': ['<(PRODUCT_DIR)/generated_23.h'],224          'action': [225            'touch',226            '<(PRODUCT_DIR)/generated_23.h',227          ],228        },229        {230          'action_name': 'do_24',231          'inputs': [],232          'outputs': ['<(PRODUCT_DIR)/generated_24.h'],233          'action': [234            'touch',235            '<(PRODUCT_DIR)/generated_24.h',236          ],237        },238        {239          'action_name': 'do_25',240          'inputs': [],241          'outputs': ['<(PRODUCT_DIR)/generated_25.h'],242          'action': [243            'touch',244            '<(PRODUCT_DIR)/generated_25.h',245          ],246        },247        {248          'action_name': 'do_26',249          'inputs': [],250          'outputs': ['<(PRODUCT_DIR)/generated_26.h'],251          'action': [252            'touch',253            '<(PRODUCT_DIR)/generated_26.h',254          ],255        },256        {257          'action_name': 'do_27',258          'inputs': [],259          'outputs': ['<(PRODUCT_DIR)/generated_27.h'],260          'action': [261            'touch',262            '<(PRODUCT_DIR)/generated_27.h',263          ],264        },265        {266          'action_name': 'do_28',267          'inputs': [],268          'outputs': ['<(PRODUCT_DIR)/generated_28.h'],269          'action': [270            'touch',271            '<(PRODUCT_DIR)/generated_28.h',272          ],273        },274        {275          'action_name': 'do_29',276          'inputs': [],277          'outputs': ['<(PRODUCT_DIR)/generated_29.h'],278          'action': [279            'touch',280            '<(PRODUCT_DIR)/generated_29.h',281          ],282        },283        {284          'action_name': 'do_30',285          'inputs': [],286          'outputs': ['<(PRODUCT_DIR)/generated_30.h'],287          'action': [288            'touch',289            '<(PRODUCT_DIR)/generated_30.h',290          ],291        },292        {293          'action_name': 'do_31',294          'inputs': [],295          'outputs': ['<(PRODUCT_DIR)/generated_31.h'],296          'action': [297            'touch',298            '<(PRODUCT_DIR)/generated_31.h',299          ],300        },301        {302          'action_name': 'do_32',303          'inputs': [],304          'outputs': ['<(PRODUCT_DIR)/generated_32.h'],305          'action': [306            'touch',307            '<(PRODUCT_DIR)/generated_32.h',308          ],309        },310        {311          'action_name': 'do_33',312          'inputs': [],313          'outputs': ['<(PRODUCT_DIR)/generated_33.h'],314          'action': [315            'touch',316            '<(PRODUCT_DIR)/generated_33.h',317          ],318        },319        {320          'action_name': 'do_34',321          'inputs': [],322          'outputs': ['<(PRODUCT_DIR)/generated_34.h'],323          'action': [324            'touch',325            '<(PRODUCT_DIR)/generated_34.h',326          ],327        },328        {329          'action_name': 'do_35',330          'inputs': [],331          'outputs': ['<(PRODUCT_DIR)/generated_35.h'],332          'action': [333            'touch',334            '<(PRODUCT_DIR)/generated_35.h',335          ],336        },337        {338          'action_name': 'do_36',339          'inputs': [],340          'outputs': ['<(PRODUCT_DIR)/generated_36.h'],341          'action': [342            'touch',343            '<(PRODUCT_DIR)/generated_36.h',344          ],345        },346        {347          'action_name': 'do_37',348          'inputs': [],349          'outputs': ['<(PRODUCT_DIR)/generated_37.h'],350          'action': [351            'touch',352            '<(PRODUCT_DIR)/generated_37.h',353          ],354        },355        {356          'action_name': 'do_38',357          'inputs': [],358          'outputs': ['<(PRODUCT_DIR)/generated_38.h'],359          'action': [360            'touch',361            '<(PRODUCT_DIR)/generated_38.h',362          ],363        },364        {365          'action_name': 'do_39',366          'inputs': [],367          'outputs': ['<(PRODUCT_DIR)/generated_39.h'],368          'action': [369            'touch',370            '<(PRODUCT_DIR)/generated_39.h',371          ],372        },373        {374          'action_name': 'do_40',375          'inputs': [],376          'outputs': ['<(PRODUCT_DIR)/generated_40.h'],377          'action': [378            'touch',379            '<(PRODUCT_DIR)/generated_40.h',380          ],381        },382        {383          'action_name': 'do_41',384          'inputs': [],385          'outputs': ['<(PRODUCT_DIR)/generated_41.h'],386          'action': [387            'touch',388            '<(PRODUCT_DIR)/generated_41.h',389          ],390        },391        {392          'action_name': 'do_42',393          'inputs': [],394          'outputs': ['<(PRODUCT_DIR)/generated_42.h'],395          'action': [396            'touch',397            '<(PRODUCT_DIR)/generated_42.h',398          ],399        },400        {401          'action_name': 'do_43',402          'inputs': [],403          'outputs': ['<(PRODUCT_DIR)/generated_43.h'],404          'action': [405            'touch',406            '<(PRODUCT_DIR)/generated_43.h',407          ],408        },409        {410          'action_name': 'do_44',411          'inputs': [],412          'outputs': ['<(PRODUCT_DIR)/generated_44.h'],413          'action': [414            'touch',415            '<(PRODUCT_DIR)/generated_44.h',416          ],417        },418        {419          'action_name': 'do_45',420          'inputs': [],421          'outputs': ['<(PRODUCT_DIR)/generated_45.h'],422          'action': [423            'touch',424            '<(PRODUCT_DIR)/generated_45.h',425          ],426        },427        {428          'action_name': 'do_46',429          'inputs': [],430          'outputs': ['<(PRODUCT_DIR)/generated_46.h'],431          'action': [432            'touch',433            '<(PRODUCT_DIR)/generated_46.h',434          ],435        },436        {437          'action_name': 'do_47',438          'inputs': [],439          'outputs': ['<(PRODUCT_DIR)/generated_47.h'],440          'action': [441            'touch',442            '<(PRODUCT_DIR)/generated_47.h',443          ],444        },445        {446          'action_name': 'do_48',447          'inputs': [],448          'outputs': ['<(PRODUCT_DIR)/generated_48.h'],449          'action': [450            'touch',451            '<(PRODUCT_DIR)/generated_48.h',452          ],453        },454        {455          'action_name': 'do_49',456          'inputs': [],457          'outputs': ['<(PRODUCT_DIR)/generated_49.h'],458          'action': [459            'touch',460            '<(PRODUCT_DIR)/generated_49.h',461          ],462        },463        {464          'action_name': 'do_50',465          'inputs': [],466          'outputs': ['<(PRODUCT_DIR)/generated_50.h'],467          'action': [468            'touch',469            '<(PRODUCT_DIR)/generated_50.h',470          ],471        },472        {473          'action_name': 'do_51',474          'inputs': [],475          'outputs': ['<(PRODUCT_DIR)/generated_51.h'],476          'action': [477            'touch',478            '<(PRODUCT_DIR)/generated_51.h',479          ],480        },481        {482          'action_name': 'do_52',483          'inputs': [],484          'outputs': ['<(PRODUCT_DIR)/generated_52.h'],485          'action': [486            'touch',487            '<(PRODUCT_DIR)/generated_52.h',488          ],489        },490        {491          'action_name': 'do_53',492          'inputs': [],493          'outputs': ['<(PRODUCT_DIR)/generated_53.h'],494          'action': [495            'touch',496            '<(PRODUCT_DIR)/generated_53.h',497          ],498        },499        {500          'action_name': 'do_54',501          'inputs': [],502          'outputs': ['<(PRODUCT_DIR)/generated_54.h'],503          'action': [504            'touch',505            '<(PRODUCT_DIR)/generated_54.h',506          ],507        },508        {509          'action_name': 'do_55',510          'inputs': [],511          'outputs': ['<(PRODUCT_DIR)/generated_55.h'],512          'action': [513            'touch',514            '<(PRODUCT_DIR)/generated_55.h',515          ],516        },517        {518          'action_name': 'do_56',519          'inputs': [],520          'outputs': ['<(PRODUCT_DIR)/generated_56.h'],521          'action': [522            'touch',523            '<(PRODUCT_DIR)/generated_56.h',524          ],525        },526        {527          'action_name': 'do_57',528          'inputs': [],529          'outputs': ['<(PRODUCT_DIR)/generated_57.h'],530          'action': [531            'touch',532            '<(PRODUCT_DIR)/generated_57.h',533          ],534        },535        {536          'action_name': 'do_58',537          'inputs': [],538          'outputs': ['<(PRODUCT_DIR)/generated_58.h'],539          'action': [540            'touch',541            '<(PRODUCT_DIR)/generated_58.h',542          ],543        },544        {545          'action_name': 'do_59',546          'inputs': [],547          'outputs': ['<(PRODUCT_DIR)/generated_59.h'],548          'action': [549            'touch',550            '<(PRODUCT_DIR)/generated_59.h',551          ],552        },553        {554          'action_name': 'do_60',555          'inputs': [],556          'outputs': ['<(PRODUCT_DIR)/generated_60.h'],557          'action': [558            'touch',559            '<(PRODUCT_DIR)/generated_60.h',560          ],561        },562        {563          'action_name': 'do_61',564          'inputs': [],565          'outputs': ['<(PRODUCT_DIR)/generated_61.h'],566          'action': [567            'touch',568            '<(PRODUCT_DIR)/generated_61.h',569          ],570        },571        {572          'action_name': 'do_62',573          'inputs': [],574          'outputs': ['<(PRODUCT_DIR)/generated_62.h'],575          'action': [576            'touch',577            '<(PRODUCT_DIR)/generated_62.h',578          ],579        },580        {581          'action_name': 'do_63',582          'inputs': [],583          'outputs': ['<(PRODUCT_DIR)/generated_63.h'],584          'action': [585            'touch',586            '<(PRODUCT_DIR)/generated_63.h',587          ],588        },589        {590          'action_name': 'do_64',591          'inputs': [],592          'outputs': ['<(PRODUCT_DIR)/generated_64.h'],593          'action': [594            'touch',595            '<(PRODUCT_DIR)/generated_64.h',596          ],597        },598        {599          'action_name': 'do_65',600          'inputs': [],601          'outputs': ['<(PRODUCT_DIR)/generated_65.h'],602          'action': [603            'touch',604            '<(PRODUCT_DIR)/generated_65.h',605          ],606        },607        {608          'action_name': 'do_66',609          'inputs': [],610          'outputs': ['<(PRODUCT_DIR)/generated_66.h'],611          'action': [612            'touch',613            '<(PRODUCT_DIR)/generated_66.h',614          ],615        },616        {617          'action_name': 'do_67',618          'inputs': [],619          'outputs': ['<(PRODUCT_DIR)/generated_67.h'],620          'action': [621            'touch',622            '<(PRODUCT_DIR)/generated_67.h',623          ],624        },625        {626          'action_name': 'do_68',627          'inputs': [],628          'outputs': ['<(PRODUCT_DIR)/generated_68.h'],629          'action': [630            'touch',631            '<(PRODUCT_DIR)/generated_68.h',632          ],633        },634        {635          'action_name': 'do_69',636          'inputs': [],637          'outputs': ['<(PRODUCT_DIR)/generated_69.h'],638          'action': [639            'touch',640            '<(PRODUCT_DIR)/generated_69.h',641          ],642        },643        {644          'action_name': 'do_70',645          'inputs': [],646          'outputs': ['<(PRODUCT_DIR)/generated_70.h'],647          'action': [648            'touch',649            '<(PRODUCT_DIR)/generated_70.h',650          ],651        },652        {653          'action_name': 'do_71',654          'inputs': [],655          'outputs': ['<(PRODUCT_DIR)/generated_71.h'],656          'action': [657            'touch',658            '<(PRODUCT_DIR)/generated_71.h',659          ],660        },661        {662          'action_name': 'do_72',663          'inputs': [],664          'outputs': ['<(PRODUCT_DIR)/generated_72.h'],665          'action': [666            'touch',667            '<(PRODUCT_DIR)/generated_72.h',668          ],669        },670        {671          'action_name': 'do_73',672          'inputs': [],673          'outputs': ['<(PRODUCT_DIR)/generated_73.h'],674          'action': [675            'touch',676            '<(PRODUCT_DIR)/generated_73.h',677          ],678        },679        {680          'action_name': 'do_74',681          'inputs': [],682          'outputs': ['<(PRODUCT_DIR)/generated_74.h'],683          'action': [684            'touch',685            '<(PRODUCT_DIR)/generated_74.h',686          ],687        },688        {689          'action_name': 'do_75',690          'inputs': [],691          'outputs': ['<(PRODUCT_DIR)/generated_75.h'],692          'action': [693            'touch',694            '<(PRODUCT_DIR)/generated_75.h',695          ],696        },697        {698          'action_name': 'do_76',699          'inputs': [],700          'outputs': ['<(PRODUCT_DIR)/generated_76.h'],701          'action': [702            'touch',703            '<(PRODUCT_DIR)/generated_76.h',704          ],705        },706        {707          'action_name': 'do_77',708          'inputs': [],709          'outputs': ['<(PRODUCT_DIR)/generated_77.h'],710          'action': [711            'touch',712            '<(PRODUCT_DIR)/generated_77.h',713          ],714        },715        {716          'action_name': 'do_78',717          'inputs': [],718          'outputs': ['<(PRODUCT_DIR)/generated_78.h'],719          'action': [720            'touch',721            '<(PRODUCT_DIR)/generated_78.h',722          ],723        },724        {725          'action_name': 'do_79',726          'inputs': [],727          'outputs': ['<(PRODUCT_DIR)/generated_79.h'],728          'action': [729            'touch',730            '<(PRODUCT_DIR)/generated_79.h',731          ],732        },733        {734          'action_name': 'do_80',735          'inputs': [],736          'outputs': ['<(PRODUCT_DIR)/generated_80.h'],737          'action': [738            'touch',739            '<(PRODUCT_DIR)/generated_80.h',740          ],741        },742        {743          'action_name': 'do_81',744          'inputs': [],745          'outputs': ['<(PRODUCT_DIR)/generated_81.h'],746          'action': [747            'touch',748            '<(PRODUCT_DIR)/generated_81.h',749          ],750        },751        {752          'action_name': 'do_82',753          'inputs': [],754          'outputs': ['<(PRODUCT_DIR)/generated_82.h'],755          'action': [756            'touch',757            '<(PRODUCT_DIR)/generated_82.h',758          ],759        },760        {761          'action_name': 'do_83',762          'inputs': [],763          'outputs': ['<(PRODUCT_DIR)/generated_83.h'],764          'action': [765            'touch',766            '<(PRODUCT_DIR)/generated_83.h',767          ],768        },769        {770          'action_name': 'do_84',771          'inputs': [],772          'outputs': ['<(PRODUCT_DIR)/generated_84.h'],773          'action': [774            'touch',775            '<(PRODUCT_DIR)/generated_84.h',776          ],777        },778        {779          'action_name': 'do_85',780          'inputs': [],781          'outputs': ['<(PRODUCT_DIR)/generated_85.h'],782          'action': [783            'touch',784            '<(PRODUCT_DIR)/generated_85.h',785          ],786        },787        {788          'action_name': 'do_86',789          'inputs': [],790          'outputs': ['<(PRODUCT_DIR)/generated_86.h'],791          'action': [792            'touch',793            '<(PRODUCT_DIR)/generated_86.h',794          ],795        },796        {797          'action_name': 'do_87',798          'inputs': [],799          'outputs': ['<(PRODUCT_DIR)/generated_87.h'],800          'action': [801            'touch',802            '<(PRODUCT_DIR)/generated_87.h',803          ],804        },805        {806          'action_name': 'do_88',807          'inputs': [],808          'outputs': ['<(PRODUCT_DIR)/generated_88.h'],809          'action': [810            'touch',811            '<(PRODUCT_DIR)/generated_88.h',812          ],813        },814        {815          'action_name': 'do_89',816          'inputs': [],817          'outputs': ['<(PRODUCT_DIR)/generated_89.h'],818          'action': [819            'touch',820            '<(PRODUCT_DIR)/generated_89.h',821          ],822        },823        {824          'action_name': 'do_90',825          'inputs': [],826          'outputs': ['<(PRODUCT_DIR)/generated_90.h'],827          'action': [828            'touch',829            '<(PRODUCT_DIR)/generated_90.h',830          ],831        },832        {833          'action_name': 'do_91',834          'inputs': [],835          'outputs': ['<(PRODUCT_DIR)/generated_91.h'],836          'action': [837            'touch',838            '<(PRODUCT_DIR)/generated_91.h',839          ],840        },841        {842          'action_name': 'do_92',843          'inputs': [],844          'outputs': ['<(PRODUCT_DIR)/generated_92.h'],845          'action': [846            'touch',847            '<(PRODUCT_DIR)/generated_92.h',848          ],849        },850        {851          'action_name': 'do_93',852          'inputs': [],853          'outputs': ['<(PRODUCT_DIR)/generated_93.h'],854          'action': [855            'touch',856            '<(PRODUCT_DIR)/generated_93.h',857          ],858        },859        {860          'action_name': 'do_94',861          'inputs': [],862          'outputs': ['<(PRODUCT_DIR)/generated_94.h'],863          'action': [864            'touch',865            '<(PRODUCT_DIR)/generated_94.h',866          ],867        },868        {869          'action_name': 'do_95',870          'inputs': [],871          'outputs': ['<(PRODUCT_DIR)/generated_95.h'],872          'action': [873            'touch',874            '<(PRODUCT_DIR)/generated_95.h',875          ],876        },877        {878          'action_name': 'do_96',879          'inputs': [],880          'outputs': ['<(PRODUCT_DIR)/generated_96.h'],881          'action': [882            'touch',883            '<(PRODUCT_DIR)/generated_96.h',884          ],885        },886        {887          'action_name': 'do_97',888          'inputs': [],889          'outputs': ['<(PRODUCT_DIR)/generated_97.h'],890          'action': [891            'touch',892            '<(PRODUCT_DIR)/generated_97.h',893          ],894        },895        {896          'action_name': 'do_98',897          'inputs': [],898          'outputs': ['<(PRODUCT_DIR)/generated_98.h'],899          'action': [900            'touch',901            '<(PRODUCT_DIR)/generated_98.h',902          ],903        },904        {905          'action_name': 'do_99',906          'inputs': [],907          'outputs': ['<(PRODUCT_DIR)/generated_99.h'],908          'action': [909            'touch',910            '<(PRODUCT_DIR)/generated_99.h',911          ],912        },913        {914          'action_name': 'do_100',915          'inputs': [],916          'outputs': ['<(PRODUCT_DIR)/generated_100.h'],917          'action': [918            'touch',919            '<(PRODUCT_DIR)/generated_100.h',920          ],921        },922        {923          'action_name': 'do_101',924          'inputs': [],925          'outputs': ['<(PRODUCT_DIR)/generated_101.h'],926          'action': [927            'touch',928            '<(PRODUCT_DIR)/generated_101.h',929          ],930        },931        {932          'action_name': 'do_102',933          'inputs': [],934          'outputs': ['<(PRODUCT_DIR)/generated_102.h'],935          'action': [936            'touch',937            '<(PRODUCT_DIR)/generated_102.h',938          ],939        },940        {941          'action_name': 'do_103',942          'inputs': [],943          'outputs': ['<(PRODUCT_DIR)/generated_103.h'],944          'action': [945            'touch',946            '<(PRODUCT_DIR)/generated_103.h',947          ],948        },949        {950          'action_name': 'do_104',951          'inputs': [],952          'outputs': ['<(PRODUCT_DIR)/generated_104.h'],953          'action': [954            'touch',955            '<(PRODUCT_DIR)/generated_104.h',956          ],957        },958        {959          'action_name': 'do_105',960          'inputs': [],961          'outputs': ['<(PRODUCT_DIR)/generated_105.h'],962          'action': [963            'touch',964            '<(PRODUCT_DIR)/generated_105.h',965          ],966        },967        {968          'action_name': 'do_106',969          'inputs': [],970          'outputs': ['<(PRODUCT_DIR)/generated_106.h'],971          'action': [972            'touch',973            '<(PRODUCT_DIR)/generated_106.h',974          ],975        },976        {977          'action_name': 'do_107',978          'inputs': [],979          'outputs': ['<(PRODUCT_DIR)/generated_107.h'],980          'action': [981            'touch',982            '<(PRODUCT_DIR)/generated_107.h',983          ],984        },985        {986          'action_name': 'do_108',987          'inputs': [],988          'outputs': ['<(PRODUCT_DIR)/generated_108.h'],989          'action': [990            'touch',991            '<(PRODUCT_DIR)/generated_108.h',992          ],993        },994        {995          'action_name': 'do_109',996          'inputs': [],997          'outputs': ['<(PRODUCT_DIR)/generated_109.h'],998          'action': [999            'touch',1000            '<(PRODUCT_DIR)/generated_109.h',1001          ],1002        },1003        {1004          'action_name': 'do_110',1005          'inputs': [],1006          'outputs': ['<(PRODUCT_DIR)/generated_110.h'],1007          'action': [1008            'touch',1009            '<(PRODUCT_DIR)/generated_110.h',1010          ],1011        },1012        {1013          'action_name': 'do_111',1014          'inputs': [],1015          'outputs': ['<(PRODUCT_DIR)/generated_111.h'],1016          'action': [1017            'touch',1018            '<(PRODUCT_DIR)/generated_111.h',1019          ],1020        },1021        {1022          'action_name': 'do_112',1023          'inputs': [],1024          'outputs': ['<(PRODUCT_DIR)/generated_112.h'],1025          'action': [1026            'touch',1027            '<(PRODUCT_DIR)/generated_112.h',1028          ],1029        },1030        {1031          'action_name': 'do_113',1032          'inputs': [],1033          'outputs': ['<(PRODUCT_DIR)/generated_113.h'],1034          'action': [1035            'touch',1036            '<(PRODUCT_DIR)/generated_113.h',1037          ],1038        },1039        {1040          'action_name': 'do_114',1041          'inputs': [],1042          'outputs': ['<(PRODUCT_DIR)/generated_114.h'],1043          'action': [1044            'touch',1045            '<(PRODUCT_DIR)/generated_114.h',1046          ],1047        },1048        {1049          'action_name': 'do_115',1050          'inputs': [],1051          'outputs': ['<(PRODUCT_DIR)/generated_115.h'],1052          'action': [1053            'touch',1054            '<(PRODUCT_DIR)/generated_115.h',1055          ],1056        },1057        {1058          'action_name': 'do_116',1059          'inputs': [],1060          'outputs': ['<(PRODUCT_DIR)/generated_116.h'],1061          'action': [1062            'touch',1063            '<(PRODUCT_DIR)/generated_116.h',1064          ],1065        },1066        {1067          'action_name': 'do_117',1068          'inputs': [],1069          'outputs': ['<(PRODUCT_DIR)/generated_117.h'],1070          'action': [1071            'touch',1072            '<(PRODUCT_DIR)/generated_117.h',1073          ],1074        },1075        {1076          'action_name': 'do_118',1077          'inputs': [],1078          'outputs': ['<(PRODUCT_DIR)/generated_118.h'],1079          'action': [1080            'touch',1081            '<(PRODUCT_DIR)/generated_118.h',1082          ],1083        },1084        {1085          'action_name': 'do_119',1086          'inputs': [],1087          'outputs': ['<(PRODUCT_DIR)/generated_119.h'],1088          'action': [1089            'touch',1090            '<(PRODUCT_DIR)/generated_119.h',1091          ],1092        },1093        {1094          'action_name': 'do_120',1095          'inputs': [],1096          'outputs': ['<(PRODUCT_DIR)/generated_120.h'],1097          'action': [1098            'touch',1099            '<(PRODUCT_DIR)/generated_120.h',1100          ],1101        },1102        {1103          'action_name': 'do_121',1104          'inputs': [],1105          'outputs': ['<(PRODUCT_DIR)/generated_121.h'],1106          'action': [1107            'touch',1108            '<(PRODUCT_DIR)/generated_121.h',1109          ],1110        },1111        {1112          'action_name': 'do_122',1113          'inputs': [],1114          'outputs': ['<(PRODUCT_DIR)/generated_122.h'],1115          'action': [1116            'touch',1117            '<(PRODUCT_DIR)/generated_122.h',1118          ],1119        },1120        {1121          'action_name': 'do_123',1122          'inputs': [],1123          'outputs': ['<(PRODUCT_DIR)/generated_123.h'],1124          'action': [1125            'touch',1126            '<(PRODUCT_DIR)/generated_123.h',1127          ],1128        },1129        {1130          'action_name': 'do_124',1131          'inputs': [],1132          'outputs': ['<(PRODUCT_DIR)/generated_124.h'],1133          'action': [1134            'touch',1135            '<(PRODUCT_DIR)/generated_124.h',1136          ],1137        },1138        {1139          'action_name': 'do_125',1140          'inputs': [],1141          'outputs': ['<(PRODUCT_DIR)/generated_125.h'],1142          'action': [1143            'touch',1144            '<(PRODUCT_DIR)/generated_125.h',1145          ],1146        },1147        {1148          'action_name': 'do_126',1149          'inputs': [],1150          'outputs': ['<(PRODUCT_DIR)/generated_126.h'],1151          'action': [1152            'touch',1153            '<(PRODUCT_DIR)/generated_126.h',1154          ],1155        },1156        {1157          'action_name': 'do_127',1158          'inputs': [],1159          'outputs': ['<(PRODUCT_DIR)/generated_127.h'],1160          'action': [1161            'touch',1162            '<(PRODUCT_DIR)/generated_127.h',1163          ],1164        },1165        {1166          'action_name': 'do_128',1167          'inputs': [],1168          'outputs': ['<(PRODUCT_DIR)/generated_128.h'],1169          'action': [1170            'touch',1171            '<(PRODUCT_DIR)/generated_128.h',1172          ],1173        },1174        {1175          'action_name': 'do_129',1176          'inputs': [],1177          'outputs': ['<(PRODUCT_DIR)/generated_129.h'],1178          'action': [1179            'touch',1180            '<(PRODUCT_DIR)/generated_129.h',1181          ],1182        },1183        {1184          'action_name': 'do_130',1185          'inputs': [],1186          'outputs': ['<(PRODUCT_DIR)/generated_130.h'],1187          'action': [1188            'touch',1189            '<(PRODUCT_DIR)/generated_130.h',1190          ],1191        },1192        {1193          'action_name': 'do_131',1194          'inputs': [],1195          'outputs': ['<(PRODUCT_DIR)/generated_131.h'],1196          'action': [1197            'touch',1198            '<(PRODUCT_DIR)/generated_131.h',1199          ],1200        },1201        {1202          'action_name': 'do_132',1203          'inputs': [],1204          'outputs': ['<(PRODUCT_DIR)/generated_132.h'],1205          'action': [1206            'touch',1207            '<(PRODUCT_DIR)/generated_132.h',1208          ],1209        },1210        {1211          'action_name': 'do_133',1212          'inputs': [],1213          'outputs': ['<(PRODUCT_DIR)/generated_133.h'],1214          'action': [1215            'touch',1216            '<(PRODUCT_DIR)/generated_133.h',1217          ],1218        },1219        {1220          'action_name': 'do_134',1221          'inputs': [],1222          'outputs': ['<(PRODUCT_DIR)/generated_134.h'],1223          'action': [1224            'touch',1225            '<(PRODUCT_DIR)/generated_134.h',1226          ],1227        },1228        {1229          'action_name': 'do_135',1230          'inputs': [],1231          'outputs': ['<(PRODUCT_DIR)/generated_135.h'],1232          'action': [1233            'touch',1234            '<(PRODUCT_DIR)/generated_135.h',1235          ],1236        },1237        {1238          'action_name': 'do_136',1239          'inputs': [],1240          'outputs': ['<(PRODUCT_DIR)/generated_136.h'],1241          'action': [1242            'touch',1243            '<(PRODUCT_DIR)/generated_136.h',1244          ],1245        },1246        {1247          'action_name': 'do_137',1248          'inputs': [],1249          'outputs': ['<(PRODUCT_DIR)/generated_137.h'],1250          'action': [1251            'touch',1252            '<(PRODUCT_DIR)/generated_137.h',1253          ],1254        },1255        {1256          'action_name': 'do_138',1257          'inputs': [],1258          'outputs': ['<(PRODUCT_DIR)/generated_138.h'],1259          'action': [1260            'touch',1261            '<(PRODUCT_DIR)/generated_138.h',1262          ],1263        },1264        {1265          'action_name': 'do_139',1266          'inputs': [],1267          'outputs': ['<(PRODUCT_DIR)/generated_139.h'],1268          'action': [1269            'touch',1270            '<(PRODUCT_DIR)/generated_139.h',1271          ],1272        },1273        {1274          'action_name': 'do_140',1275          'inputs': [],1276          'outputs': ['<(PRODUCT_DIR)/generated_140.h'],1277          'action': [1278            'touch',1279            '<(PRODUCT_DIR)/generated_140.h',1280          ],1281        },1282        {1283          'action_name': 'do_141',1284          'inputs': [],1285          'outputs': ['<(PRODUCT_DIR)/generated_141.h'],1286          'action': [1287            'touch',1288            '<(PRODUCT_DIR)/generated_141.h',1289          ],1290        },1291        {1292          'action_name': 'do_142',1293          'inputs': [],1294          'outputs': ['<(PRODUCT_DIR)/generated_142.h'],1295          'action': [1296            'touch',1297            '<(PRODUCT_DIR)/generated_142.h',1298          ],1299        },1300        {1301          'action_name': 'do_143',1302          'inputs': [],1303          'outputs': ['<(PRODUCT_DIR)/generated_143.h'],1304          'action': [1305            'touch',1306            '<(PRODUCT_DIR)/generated_143.h',1307          ],1308        },1309        {1310          'action_name': 'do_144',1311          'inputs': [],1312          'outputs': ['<(PRODUCT_DIR)/generated_144.h'],1313          'action': [1314            'touch',1315            '<(PRODUCT_DIR)/generated_144.h',1316          ],1317        },1318        {1319          'action_name': 'do_145',1320          'inputs': [],1321          'outputs': ['<(PRODUCT_DIR)/generated_145.h'],1322          'action': [1323            'touch',1324            '<(PRODUCT_DIR)/generated_145.h',1325          ],1326        },1327        {1328          'action_name': 'do_146',1329          'inputs': [],1330          'outputs': ['<(PRODUCT_DIR)/generated_146.h'],1331          'action': [1332            'touch',1333            '<(PRODUCT_DIR)/generated_146.h',1334          ],1335        },1336        {1337          'action_name': 'do_147',1338          'inputs': [],1339          'outputs': ['<(PRODUCT_DIR)/generated_147.h'],1340          'action': [1341            'touch',1342            '<(PRODUCT_DIR)/generated_147.h',1343          ],1344        },1345        {1346          'action_name': 'do_148',1347          'inputs': [],1348          'outputs': ['<(PRODUCT_DIR)/generated_148.h'],1349          'action': [1350            'touch',1351            '<(PRODUCT_DIR)/generated_148.h',1352          ],1353        },1354        {1355          'action_name': 'do_149',1356          'inputs': [],1357          'outputs': ['<(PRODUCT_DIR)/generated_149.h'],1358          'action': [1359            'touch',1360            '<(PRODUCT_DIR)/generated_149.h',1361          ],1362        },1363        {1364          'action_name': 'do_150',1365          'inputs': [],1366          'outputs': ['<(PRODUCT_DIR)/generated_150.h'],1367          'action': [1368            'touch',1369            '<(PRODUCT_DIR)/generated_150.h',1370          ],1371        },1372        {1373          'action_name': 'do_151',1374          'inputs': [],1375          'outputs': ['<(PRODUCT_DIR)/generated_151.h'],1376          'action': [1377            'touch',1378            '<(PRODUCT_DIR)/generated_151.h',1379          ],1380        },1381        {1382          'action_name': 'do_152',1383          'inputs': [],1384          'outputs': ['<(PRODUCT_DIR)/generated_152.h'],1385          'action': [1386            'touch',1387            '<(PRODUCT_DIR)/generated_152.h',1388          ],1389        },1390        {1391          'action_name': 'do_153',1392          'inputs': [],1393          'outputs': ['<(PRODUCT_DIR)/generated_153.h'],1394          'action': [1395            'touch',1396            '<(PRODUCT_DIR)/generated_153.h',1397          ],1398        },1399        {1400          'action_name': 'do_154',1401          'inputs': [],1402          'outputs': ['<(PRODUCT_DIR)/generated_154.h'],1403          'action': [1404            'touch',1405            '<(PRODUCT_DIR)/generated_154.h',1406          ],1407        },1408        {1409          'action_name': 'do_155',1410          'inputs': [],1411          'outputs': ['<(PRODUCT_DIR)/generated_155.h'],1412          'action': [1413            'touch',1414            '<(PRODUCT_DIR)/generated_155.h',1415          ],1416        },1417        {1418          'action_name': 'do_156',1419          'inputs': [],1420          'outputs': ['<(PRODUCT_DIR)/generated_156.h'],1421          'action': [1422            'touch',1423            '<(PRODUCT_DIR)/generated_156.h',1424          ],1425        },1426        {1427          'action_name': 'do_157',1428          'inputs': [],1429          'outputs': ['<(PRODUCT_DIR)/generated_157.h'],1430          'action': [1431            'touch',1432            '<(PRODUCT_DIR)/generated_157.h',1433          ],1434        },1435        {1436          'action_name': 'do_158',1437          'inputs': [],1438          'outputs': ['<(PRODUCT_DIR)/generated_158.h'],1439          'action': [1440            'touch',1441            '<(PRODUCT_DIR)/generated_158.h',1442          ],1443        },1444        {1445          'action_name': 'do_159',1446          'inputs': [],1447          'outputs': ['<(PRODUCT_DIR)/generated_159.h'],1448          'action': [1449            'touch',1450            '<(PRODUCT_DIR)/generated_159.h',1451          ],1452        },1453        {1454          'action_name': 'do_160',1455          'inputs': [],1456          'outputs': ['<(PRODUCT_DIR)/generated_160.h'],1457          'action': [1458            'touch',1459            '<(PRODUCT_DIR)/generated_160.h',1460          ],1461        },1462        {1463          'action_name': 'do_161',1464          'inputs': [],1465          'outputs': ['<(PRODUCT_DIR)/generated_161.h'],1466          'action': [1467            'touch',1468            '<(PRODUCT_DIR)/generated_161.h',1469          ],1470        },1471        {1472          'action_name': 'do_162',1473          'inputs': [],1474          'outputs': ['<(PRODUCT_DIR)/generated_162.h'],1475          'action': [1476            'touch',1477            '<(PRODUCT_DIR)/generated_162.h',1478          ],1479        },1480        {1481          'action_name': 'do_163',1482          'inputs': [],1483          'outputs': ['<(PRODUCT_DIR)/generated_163.h'],1484          'action': [1485            'touch',1486            '<(PRODUCT_DIR)/generated_163.h',1487          ],1488        },1489        {1490          'action_name': 'do_164',1491          'inputs': [],1492          'outputs': ['<(PRODUCT_DIR)/generated_164.h'],1493          'action': [1494            'touch',1495            '<(PRODUCT_DIR)/generated_164.h',1496          ],1497        },1498        {1499          'action_name': 'do_165',1500          'inputs': [],1501          'outputs': ['<(PRODUCT_DIR)/generated_165.h'],1502          'action': [1503            'touch',1504            '<(PRODUCT_DIR)/generated_165.h',1505          ],1506        },1507        {1508          'action_name': 'do_166',1509          'inputs': [],1510          'outputs': ['<(PRODUCT_DIR)/generated_166.h'],1511          'action': [1512            'touch',1513            '<(PRODUCT_DIR)/generated_166.h',1514          ],1515        },1516        {1517          'action_name': 'do_167',1518          'inputs': [],1519          'outputs': ['<(PRODUCT_DIR)/generated_167.h'],1520          'action': [1521            'touch',1522            '<(PRODUCT_DIR)/generated_167.h',1523          ],1524        },1525        {1526          'action_name': 'do_168',1527          'inputs': [],1528          'outputs': ['<(PRODUCT_DIR)/generated_168.h'],1529          'action': [1530            'touch',1531            '<(PRODUCT_DIR)/generated_168.h',1532          ],1533        },1534        {1535          'action_name': 'do_169',1536          'inputs': [],1537          'outputs': ['<(PRODUCT_DIR)/generated_169.h'],1538          'action': [1539            'touch',1540            '<(PRODUCT_DIR)/generated_169.h',1541          ],1542        },1543        {1544          'action_name': 'do_170',1545          'inputs': [],1546          'outputs': ['<(PRODUCT_DIR)/generated_170.h'],1547          'action': [1548            'touch',1549            '<(PRODUCT_DIR)/generated_170.h',1550          ],1551        },1552        {1553          'action_name': 'do_171',1554          'inputs': [],1555          'outputs': ['<(PRODUCT_DIR)/generated_171.h'],1556          'action': [1557            'touch',1558            '<(PRODUCT_DIR)/generated_171.h',1559          ],1560        },1561        {1562          'action_name': 'do_172',1563          'inputs': [],1564          'outputs': ['<(PRODUCT_DIR)/generated_172.h'],1565          'action': [1566            'touch',1567            '<(PRODUCT_DIR)/generated_172.h',1568          ],1569        },1570        {1571          'action_name': 'do_173',1572          'inputs': [],1573          'outputs': ['<(PRODUCT_DIR)/generated_173.h'],1574          'action': [1575            'touch',1576            '<(PRODUCT_DIR)/generated_173.h',1577          ],1578        },1579        {1580          'action_name': 'do_174',1581          'inputs': [],1582          'outputs': ['<(PRODUCT_DIR)/generated_174.h'],1583          'action': [1584            'touch',1585            '<(PRODUCT_DIR)/generated_174.h',1586          ],1587        },1588        {1589          'action_name': 'do_175',1590          'inputs': [],1591          'outputs': ['<(PRODUCT_DIR)/generated_175.h'],1592          'action': [1593            'touch',1594            '<(PRODUCT_DIR)/generated_175.h',1595          ],1596        },1597        {1598          'action_name': 'do_176',1599          'inputs': [],1600          'outputs': ['<(PRODUCT_DIR)/generated_176.h'],1601          'action': [1602            'touch',1603            '<(PRODUCT_DIR)/generated_176.h',1604          ],1605        },1606        {1607          'action_name': 'do_177',1608          'inputs': [],1609          'outputs': ['<(PRODUCT_DIR)/generated_177.h'],1610          'action': [1611            'touch',1612            '<(PRODUCT_DIR)/generated_177.h',1613          ],1614        },1615        {1616          'action_name': 'do_178',1617          'inputs': [],1618          'outputs': ['<(PRODUCT_DIR)/generated_178.h'],1619          'action': [1620            'touch',1621            '<(PRODUCT_DIR)/generated_178.h',1622          ],1623        },1624        {1625          'action_name': 'do_179',1626          'inputs': [],1627          'outputs': ['<(PRODUCT_DIR)/generated_179.h'],1628          'action': [1629            'touch',1630            '<(PRODUCT_DIR)/generated_179.h',1631          ],1632        },1633        {1634          'action_name': 'do_180',1635          'inputs': [],1636          'outputs': ['<(PRODUCT_DIR)/generated_180.h'],1637          'action': [1638            'touch',1639            '<(PRODUCT_DIR)/generated_180.h',1640          ],1641        },1642        {1643          'action_name': 'do_181',1644          'inputs': [],1645          'outputs': ['<(PRODUCT_DIR)/generated_181.h'],1646          'action': [1647            'touch',1648            '<(PRODUCT_DIR)/generated_181.h',1649          ],1650        },1651        {1652          'action_name': 'do_182',1653          'inputs': [],1654          'outputs': ['<(PRODUCT_DIR)/generated_182.h'],1655          'action': [1656            'touch',1657            '<(PRODUCT_DIR)/generated_182.h',1658          ],1659        },1660        {1661          'action_name': 'do_183',1662          'inputs': [],1663          'outputs': ['<(PRODUCT_DIR)/generated_183.h'],1664          'action': [1665            'touch',1666            '<(PRODUCT_DIR)/generated_183.h',1667          ],1668        },1669        {1670          'action_name': 'do_184',1671          'inputs': [],1672          'outputs': ['<(PRODUCT_DIR)/generated_184.h'],1673          'action': [1674            'touch',1675            '<(PRODUCT_DIR)/generated_184.h',1676          ],1677        },1678        {1679          'action_name': 'do_185',1680          'inputs': [],1681          'outputs': ['<(PRODUCT_DIR)/generated_185.h'],1682          'action': [1683            'touch',1684            '<(PRODUCT_DIR)/generated_185.h',1685          ],1686        },1687        {1688          'action_name': 'do_186',1689          'inputs': [],1690          'outputs': ['<(PRODUCT_DIR)/generated_186.h'],1691          'action': [1692            'touch',1693            '<(PRODUCT_DIR)/generated_186.h',1694          ],1695        },1696        {1697          'action_name': 'do_187',1698          'inputs': [],1699          'outputs': ['<(PRODUCT_DIR)/generated_187.h'],1700          'action': [1701            'touch',1702            '<(PRODUCT_DIR)/generated_187.h',1703          ],1704        },1705        {1706          'action_name': 'do_188',1707          'inputs': [],1708          'outputs': ['<(PRODUCT_DIR)/generated_188.h'],1709          'action': [1710            'touch',1711            '<(PRODUCT_DIR)/generated_188.h',1712          ],1713        },1714        {1715          'action_name': 'do_189',1716          'inputs': [],1717          'outputs': ['<(PRODUCT_DIR)/generated_189.h'],1718          'action': [1719            'touch',1720            '<(PRODUCT_DIR)/generated_189.h',1721          ],1722        },1723        {1724          'action_name': 'do_190',1725          'inputs': [],1726          'outputs': ['<(PRODUCT_DIR)/generated_190.h'],1727          'action': [1728            'touch',1729            '<(PRODUCT_DIR)/generated_190.h',1730          ],1731        },1732        {1733          'action_name': 'do_191',1734          'inputs': [],1735          'outputs': ['<(PRODUCT_DIR)/generated_191.h'],1736          'action': [1737            'touch',1738            '<(PRODUCT_DIR)/generated_191.h',1739          ],1740        },1741        {1742          'action_name': 'do_192',1743          'inputs': [],1744          'outputs': ['<(PRODUCT_DIR)/generated_192.h'],1745          'action': [1746            'touch',1747            '<(PRODUCT_DIR)/generated_192.h',1748          ],1749        },1750        {1751          'action_name': 'do_193',1752          'inputs': [],1753          'outputs': ['<(PRODUCT_DIR)/generated_193.h'],1754          'action': [1755            'touch',1756            '<(PRODUCT_DIR)/generated_193.h',1757          ],1758        },1759        {1760          'action_name': 'do_194',1761          'inputs': [],1762          'outputs': ['<(PRODUCT_DIR)/generated_194.h'],1763          'action': [1764            'touch',1765            '<(PRODUCT_DIR)/generated_194.h',1766          ],1767        },1768        {1769          'action_name': 'do_195',1770          'inputs': [],1771          'outputs': ['<(PRODUCT_DIR)/generated_195.h'],1772          'action': [1773            'touch',1774            '<(PRODUCT_DIR)/generated_195.h',1775          ],1776        },1777        {1778          'action_name': 'do_196',1779          'inputs': [],1780          'outputs': ['<(PRODUCT_DIR)/generated_196.h'],1781          'action': [1782            'touch',1783            '<(PRODUCT_DIR)/generated_196.h',1784          ],1785        },1786        {1787          'action_name': 'do_197',1788          'inputs': [],1789          'outputs': ['<(PRODUCT_DIR)/generated_197.h'],1790          'action': [1791            'touch',1792            '<(PRODUCT_DIR)/generated_197.h',1793          ],1794        },1795        {1796          'action_name': 'do_198',1797          'inputs': [],1798          'outputs': ['<(PRODUCT_DIR)/generated_198.h'],1799          'action': [1800            'touch',1801            '<(PRODUCT_DIR)/generated_198.h',1802          ],1803        },1804        {1805          'action_name': 'do_199',1806          'inputs': [],1807          'outputs': ['<(PRODUCT_DIR)/generated_199.h'],1808          'action': [1809            'touch',1810            '<(PRODUCT_DIR)/generated_199.h',1811          ],1812        },1813      ],1814    },1815  ],...encode.py
Source:encode.py  
...175    t = Token(orig.pos,'symbol','=',[items[0],orig])176    return fnc(t)177def unary(i,tb,r=None):178    r = get_tmp(r)179    b = do(tb)180    code(i,r,b)181    if r != b: free_tmp(b)182    return r183def infix(i,tb,tc,r=None):184    r = get_tmp(r)185    b,c = do(tb,r),do(tc)186    code(i,r,b,c)187    if r != b: free_tmp(b)188    free_tmp(c)189    return r190def logic_infix(op, tb, tc, _r=None):191    t = get_tag() 192    r = do(tb, _r)193    if _r != r: free_tmp(_r) #REG194    if op == 'and':   code(IF, r)195    elif op == 'or':  code(IFN, r)196    jump(t, 'end')197    _r = r198    r = do(tc, _r)199    if _r != r: free_tmp(_r) #REG200    tag(t, 'end')201    return r202def _do_none(r=None):203    r = get_tmp(r)204    code(NONE,r)205    return r206def do_symbol(t,r=None):207    sets = ['=']208    isets = ['+=','-=','*=','/=', '|=', '&=', '^=']209    cmps = ['<','>','<=','>=','==','!=']210    metas = {211        '+':ADD,'*':MUL,'/':DIV,'**':POW,212        '-':SUB,213        '%':MOD,'>>':RSH,'<<':LSH,214        '&':BITAND,'|':BITOR,'^':BITXOR,215    }216    if t.val == 'None': return _do_none(r)217    if t.val == 'True':218        return _do_number('1',r)219    if t.val == 'False':220        return _do_number('0',r)221    items = t.items222    if t.val in ['and','or']:223        return logic_infix(t.val, items[0], items[1], r)224    if t.val in isets:225        return imanage(t,do_symbol)226    if t.val == 'is':227        return infix(EQ,items[0],items[1],r)228    if t.val == 'isnot':229        return infix(CMP,items[0],items[1],r)230    if t.val == 'not':231        return unary(NOT, items[0], r)232    if t.val == 'in':233        return infix(HAS,items[1],items[0],r)234    if t.val == 'notin':235        r = infix(HAS,items[1],items[0],r)236        zero = _do_number('0')237        code(EQ,r,r,free_tmp(zero))238        return r239    if t.val in sets:240        return do_set_ctx(items[0],items[1]);241    elif t.val in cmps:242        b,c = items[0],items[1]243        v = t.val244        if v[0] in ('>','>='):245            b,c,v = c,b,'<'+v[1:]246        cd = EQ247        if v == '<': cd = LT248        if v == '<=': cd = LE249        if v == '!=': cd = NE250        return infix(cd,b,c,r)251    else:252        return infix(metas[t.val],items[0],items[1],r)253def do_set_ctx(k,v):254    if k.type == 'name':255        if (D._globals and k.val not in D.vars) or (k.val in D.globals):256            c = do_string(k)257            b = do(v)258            code(GSET,c,b)259            free_tmp(c)260            free_tmp(b)261            return262        a = do_local(k)263        b = do(v)264        code(MOVE,a,b)265        free_tmp(b)266        return a267    elif k.type in ('tuple','list'):268        if v.type in ('tuple','list'):269            n,tmps = 0,[]270            for kk in k.items:271                vv = v.items[n]272                tmp = get_tmp(); tmps.append(tmp)273                r = do(vv)274                code(MOVE,tmp,r)275                free_tmp(r) #REG276                n+=1277            n = 0278            for kk in k.items:279                vv = v.items[n]280                tmp = tmps[n]281                free_tmp(do_set_ctx(kk,Token(vv.pos,'reg',tmp))) #REG282                n += 1283            return284        r = do(v); un_tmp(r)285        n, tmp = 0, Token(v.pos,'reg',r)286        for tt in k.items:287            free_tmp(do_set_ctx(tt,Token(tmp.pos,'get',None,[tmp,Token(tmp.pos,'number',str(n))]))) #REG288            n += 1289        free_reg(r)290        return291    r = do(k.items[0])292    rr = do(v)293    tmp = do(k.items[1])294    code(SET,r,tmp,rr)295    free_tmp(r) #REG296    free_tmp(tmp) #REG297    return rr298def manage_seq(i,a,items,sav=0):299    l = max(sav,len(items))300    n,tmps = 0,get_tmps(l)301    for tt in items:302        r = tmps[n]303        b = do(tt,r)304        if r != b:305            code(MOVE,r,b)306            free_tmp(b)307        n +=1308    if not len(tmps):309        code(i,a,0,0)310        return 0311    code(i,a,tmps[0],len(items))312    free_tmps(tmps[sav:])313    return tmps[0]314def p_filter(items):315    a,b,c,d = [],[],None,None316    for t in items:317        if t.type == 'symbol' and t.val == '=': b.append(t)318        elif t.type == 'args': c = t319        elif t.type == 'nargs': d = t320        else: a.append(t)321    return a,b,c,d322def do_import(t):323    for mod in t.items:324        mod.type = 'string'325        v = do_call(Token(t.pos,'call',None,[326            Token(t.pos,'name','import'),327            mod]))328        mod.type = 'name'329        do_set_ctx(mod,Token(t.pos,'reg',v))330def do_from(t):331    mod = t.items[0]332    mod.type = 'string'333    v = do(Token(t.pos,'call',None,[334        Token(t.pos,'name','import'),335        mod]))336    item = t.items[1]337    if item.val == '*':338        free_tmp(do(Token(t.pos,'call',None,[339            Token(t.pos,'name','merge'),340            Token(t.pos,'name','__dict__'),341            Token(t.pos,'reg',v)]))) #REG342    else:343        item.type = 'string'344        free_tmp(do_set_ctx(345            Token(t.pos,'get',None,[ Token(t.pos,'name','__dict__'),item]),346            Token(t.pos,'get',None,[ Token(t.pos,'reg',v),item])347            )) #REG348        349def do_globals(t):350    for t in t.items:351        if t.val not in D.globals:352            D.globals.append(t.val)353def do_del(tt):354    for t in tt.items:355        r = do(t.items[0])356        r2 = do(t.items[1])357        code(DEL,r,r2)358        free_tmp(r); free_tmp(r2) #REG359def do_call(t,r=None):360    r = get_tmp(r)361    items = t.items362    fnc = do(items[0])363    a,b,c,d = p_filter(t.items[1:])364    e = None365    if len(b) != 0 or d != None:366        e = do(Token(t.pos,'dict',None,[])); un_tmp(e);367        for p in b:368            p.items[0].type = 'string'369            t1,t2 = do(p.items[0]),do(p.items[1])370            code(SET,e,t1,t2)371            free_tmp(t1); free_tmp(t2) #REG372        if d: free_tmp(do(Token(t.pos,'call',None,[Token(t.pos,'name','merge'),Token(t.pos,'reg',e),d.items[0]]))) #REG373    manage_seq(PARAMS,r,a)374    if c != None:375        t1,t2 = _do_string('*'),do(c.items[0])376        code(SET,r,t1,t2)377        free_tmp(t1); free_tmp(t2) #REG378    if e != None:379        t1 = _do_none()380        code(SET,r,t1,e)381        free_tmp(t1) #REG382    code(CALL,r,fnc,r)383    free_tmp(fnc) #REG384    return r385def do_name(t,r=None):386    if t.val in D.vars:387        return do_local(t,r)388    if t.val not in D.rglobals:389        D.rglobals.append(t.val)390    r = get_tmp(r)391    c = do_string(t)392    code(GGET,r,c)393    free_tmp(c)394    return r395def do_local(t,r=None):396    if t.val in D.rglobals:397        D.error = True398        tokenize.u_error('UnboundLocalError',D.code,t.pos)399    if t.val not in D.vars:400        D.vars.append(t.val)401    return get_reg(t.val)402def do_def(tok,kls=None):403    items = tok.items404    t = get_tag()405    rf = fnc(t,'end')406    D.begin()407    setpos(tok.pos)408    r = do_local(Token(tok.pos,'name','__params'))409    do_info(items[0].val)410    a,b,c,d = p_filter(items[1].items)411    for p in a:412        v = do_local(p)413        tmp = _do_none()414        code(GET,v,r,tmp)415        free_tmp(tmp) #REG416    for p in b:417        v = do_local(p.items[0])418        do(p.items[1],v)419        tmp = _do_none()420        code(IGET,v,r,tmp)421        free_tmp(tmp) #REG422    if c != None:423        v = do_local(c.items[0])424        tmp = _do_string('*')425        code(GET,v,r,tmp)426        free_tmp(tmp) #REG427    if d != None:428        e = do_local(d.items[0])429        code(DICT,e,0,0)430        tmp = _do_none()431        code(IGET,e,r,tmp)432        free_tmp(tmp) #REG433    free_tmp(do(items[2])) #REG434    D.end()435    tag(t,'end')436    if kls == None:437        if D._globals: do_globals(Token(tok.pos,0,0,[items[0]]))438        r = do_set_ctx(items[0],Token(tok.pos,'reg',rf))439    else:440        rn = do_string(items[0])441        code(SET,kls,rn,rf)442        free_tmp(rn)443    free_tmp(rf)444def do_class(t):445    tok = t446    items = t.items447    parent = None448    if items[0].type == 'name':449        name = items[0].val450        parent = Token(tok.pos,'name','object')451    else:452        name = items[0].items[0].val453        parent = items[0].items[1]454    kls = do(Token(t.pos,'dict',0,[]))455    un_tmp(kls)456    ts = _do_string(name)457    code(GSET,ts,kls)458    free_tmp(ts) #REG459    460    free_tmp(do(Token(tok.pos,'call',None,[461        Token(tok.pos,'name','setmeta'),462        Token(tok.pos,'reg',kls),463        parent])))464        465    for member in items[1].items:466        if member.type == 'def': do_def(member,kls)467        elif member.type == 'symbol' and member.val == '=': do_classvar(member,kls)468        else: continue469        470    free_reg(kls) #REG471def do_classvar(t,r):472    var = do_string(t.items[0])473    val = do(t.items[1])474    code(SET,r,var,val)475    free_reg(var)476    free_reg(val)477    478def do_while(t):479    items = t.items480    t = stack_tag()481    tag(t,'begin')482    tag(t,'continue')483    r = do(items[0])484    code(IF,r)485    free_tmp(r) #REG486    jump(t,'end')487    free_tmp(do(items[1])) #REG488    jump(t,'begin')489    tag(t,'break')490    tag(t,'end')491    pop_tag()492def do_for(tok):493    items = tok.items494    reg = do_local(items[0])495    itr = do(items[1])496    i = _do_number('0')497    t = stack_tag(); tag(t,'loop'); tag(t,'continue')498    code(ITER,reg,itr,i); jump(t,'end')499    free_tmp(do(items[2])) #REG500    jump(t,'loop')501    tag(t,'break'); tag(t,'end'); pop_tag()502    free_tmp(itr) #REG503    free_tmp(i)504def do_comp(t,r=None):505    name = 'comp:'+get_tag()506    r = do_local(Token(t.pos,'name',name))507    code(LIST,r,0,0)508    key = Token(t.pos,'get',None,[509            Token(t.pos,'reg',r),510            Token(t.pos,'symbol','None')])511    ap = Token(t.pos,'symbol','=',[key,t.items[0]])512    do(Token(t.pos,'for',None,[t.items[1],t.items[2],ap]))513    return r514def do_if(t):515    items = t.items516    t = get_tag()517    n = 0518    for tt in items:519        tag(t,n)520        if tt.type == 'elif':521            a = do(tt.items[0]); code(IF,a); free_tmp(a);522            jump(t,n+1)523            free_tmp(do(tt.items[1])) #REG524        elif tt.type == 'else':525            free_tmp(do(tt.items[0])) #REG526        else:527            raise528        jump(t,'end')529        n += 1530    tag(t,n)531    tag(t,'end')532def do_try(t):533    items = t.items534    t = get_tag()535    setjmp(t,'except')536    free_tmp(do(items[0])) #REG537    code(SETJMP,0)538    jump(t,'end')539    tag(t,'except')540    free_tmp(do(items[1].items[1])) #REG541    tag(t,'end')542def do_return(t):543    if t.items: r = do(t.items[0])544    else: r = _do_none()545    code(RETURN,r)546    free_tmp(r)547    return548def do_raise(t):549    if t.items: r = do(t.items[0])550    else: r = _do_none()551    code(RAISE,r)552    free_tmp(r)553    return554def do_statements(t):555    for tt in t.items: free_tmp(do(tt))556def do_list(t,r=None):557    r = get_tmp(r)558    manage_seq(LIST,r,t.items)559    return r560def do_dict(t,r=None):561    r = get_tmp(r)562    manage_seq(DICT,r,t.items)563    return r564def do_get(t,r=None):565    items = t.items566    return infix(GET,items[0],items[1],r)567def do_break(t): jump(D.tstack[-1],'break')568def do_continue(t): jump(D.tstack[-1],'continue')569def do_pass(t): code(PASS)570def do_info(name='?'):571    if '-nopos' in ARGV: return572    code(FILE,free_tmp(_do_string(D.fname)))573    code(NAME,free_tmp(_do_string(name)))574def do_module(t):575    do_info()576    free_tmp(do(t.items[0])) #REG577def do_reg(t,r=None): return t.val578fmap = {579    'module':do_module,'statements':do_statements,'def':do_def,580    'return':do_return,'while':do_while,'if':do_if,581    'break':do_break,'pass':do_pass,'continue':do_continue,'for':do_for,582    'class':do_class,'raise':do_raise,'try':do_try,'import':do_import,583    'globals':do_globals,'del':do_del,'from':do_from,584}585rmap = {586    'list':do_list, 'tuple':do_list, 'dict':do_dict, 'slice':do_list,587    'comp':do_comp, 'name':do_name,'symbol':do_symbol,'number':do_number,588    'string':do_string,'get':do_get, 'call':do_call, 'reg':do_reg,589}590def do(t,r=None):591    if t.pos: setpos(t.pos)592    try:593        if t.type in rmap:594            return rmap[t.type](t,r)595        #if r != None: free_reg(r) #REG596        return fmap[t.type](t)597    except:598        if D.error: raise599        D.error = True600        tokenize.u_error('encode',D.code,t.pos)601def encode(fname,s,t):602    t = Token((1,1),'module','module',[t])603    global D604    s = tokenize.clean(s)605    D = DState(s,fname)606    D.begin(True)607    do(t)608    D.end()609    map_tags()610    out = D.out; D = None...ANSI.py
Source:ANSI.py  
1'''This implements an ANSI (VT100) terminal emulator as a subclass of screen.2PEXPECT LICENSE3    This license is approved by the OSI and FSF as GPL-compatible.4        http://opensource.org/licenses/isc-license.txt5    Copyright (c) 2012, Noah Spurrier <noah@noah.org>6    PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY7    PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE8    COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.9    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES10    WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF11    MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR12    ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES13    WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN14    ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF15    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.16'''17# references:18#     http://en.wikipedia.org/wiki/ANSI_escape_code19#     http://www.retards.org/terminals/vt102.html20#     http://vt100.net/docs/vt102-ug/contents.html21#     http://vt100.net/docs/vt220-rm/22#     http://www.termsys.demon.co.uk/vtansi.htm23from . import screen24from . import FSM25import string26#27# The 'Do.*' functions are helper functions for the ANSI class.28#29def DoEmit (fsm):30    screen = fsm.memory[0]31    screen.write_ch(fsm.input_symbol)32def DoStartNumber (fsm):33    fsm.memory.append (fsm.input_symbol)34def DoBuildNumber (fsm):35    ns = fsm.memory.pop()36    ns = ns + fsm.input_symbol37    fsm.memory.append (ns)38def DoBackOne (fsm):39    screen = fsm.memory[0]40    screen.cursor_back ()41def DoBack (fsm):42    count = int(fsm.memory.pop())43    screen = fsm.memory[0]44    screen.cursor_back (count)45def DoDownOne (fsm):46    screen = fsm.memory[0]47    screen.cursor_down ()48def DoDown (fsm):49    count = int(fsm.memory.pop())50    screen = fsm.memory[0]51    screen.cursor_down (count)52def DoForwardOne (fsm):53    screen = fsm.memory[0]54    screen.cursor_forward ()55def DoForward (fsm):56    count = int(fsm.memory.pop())57    screen = fsm.memory[0]58    screen.cursor_forward (count)59def DoUpReverse (fsm):60    screen = fsm.memory[0]61    screen.cursor_up_reverse()62def DoUpOne (fsm):63    screen = fsm.memory[0]64    screen.cursor_up ()65def DoUp (fsm):66    count = int(fsm.memory.pop())67    screen = fsm.memory[0]68    screen.cursor_up (count)69def DoHome (fsm):70    c = int(fsm.memory.pop())71    r = int(fsm.memory.pop())72    screen = fsm.memory[0]73    screen.cursor_home (r,c)74def DoHomeOrigin (fsm):75    c = 176    r = 177    screen = fsm.memory[0]78    screen.cursor_home (r,c)79def DoEraseDown (fsm):80    screen = fsm.memory[0]81    screen.erase_down()82def DoErase (fsm):83    arg = int(fsm.memory.pop())84    screen = fsm.memory[0]85    if arg == 0:86        screen.erase_down()87    elif arg == 1:88        screen.erase_up()89    elif arg == 2:90        screen.erase_screen()91def DoEraseEndOfLine (fsm):92    screen = fsm.memory[0]93    screen.erase_end_of_line()94def DoEraseLine (fsm):95    arg = int(fsm.memory.pop())96    screen = fsm.memory[0]97    if arg == 0:98        screen.erase_end_of_line()99    elif arg == 1:100        screen.erase_start_of_line()101    elif arg == 2:102        screen.erase_line()103def DoEnableScroll (fsm):104    screen = fsm.memory[0]105    screen.scroll_screen()106def DoCursorSave (fsm):107    screen = fsm.memory[0]108    screen.cursor_save_attrs()109def DoCursorRestore (fsm):110    screen = fsm.memory[0]111    screen.cursor_restore_attrs()112def DoScrollRegion (fsm):113    screen = fsm.memory[0]114    r2 = int(fsm.memory.pop())115    r1 = int(fsm.memory.pop())116    screen.scroll_screen_rows (r1,r2)117def DoMode (fsm):118    screen = fsm.memory[0]119    mode = fsm.memory.pop() # Should be 4120    # screen.setReplaceMode ()121def DoLog (fsm):122    screen = fsm.memory[0]123    fsm.memory = [screen]124    fout = open ('log', 'a')125    fout.write (fsm.input_symbol + ',' + fsm.current_state + '\n')126    fout.close()127class term (screen.screen):128    '''This class is an abstract, generic terminal.129    This does nothing. This is a placeholder that130    provides a common base class for other terminals131    such as an ANSI terminal. '''132    def __init__ (self, r=24, c=80, *args, **kwargs):133        screen.screen.__init__(self, r,c,*args,**kwargs)134class ANSI (term):135    '''This class implements an ANSI (VT100) terminal.136    It is a stream filter that recognizes ANSI terminal137    escape sequences and maintains the state of a screen object. '''138    def __init__ (self, r=24,c=80,*args,**kwargs):139        term.__init__(self,r,c,*args,**kwargs)140        #self.screen = screen (24,80)141        self.state = FSM.FSM ('INIT',[self])142        self.state.set_default_transition (DoLog, 'INIT')143        self.state.add_transition_any ('INIT', DoEmit, 'INIT')144        self.state.add_transition ('\x1b', 'INIT', None, 'ESC')145        self.state.add_transition_any ('ESC', DoLog, 'INIT')146        self.state.add_transition ('(', 'ESC', None, 'G0SCS')147        self.state.add_transition (')', 'ESC', None, 'G1SCS')148        self.state.add_transition_list ('AB012', 'G0SCS', None, 'INIT')149        self.state.add_transition_list ('AB012', 'G1SCS', None, 'INIT')150        self.state.add_transition ('7', 'ESC', DoCursorSave, 'INIT')151        self.state.add_transition ('8', 'ESC', DoCursorRestore, 'INIT')152        self.state.add_transition ('M', 'ESC', DoUpReverse, 'INIT')153        self.state.add_transition ('>', 'ESC', DoUpReverse, 'INIT')154        self.state.add_transition ('<', 'ESC', DoUpReverse, 'INIT')155        self.state.add_transition ('=', 'ESC', None, 'INIT') # Selects application keypad.156        self.state.add_transition ('#', 'ESC', None, 'GRAPHICS_POUND')157        self.state.add_transition_any ('GRAPHICS_POUND', None, 'INIT')158        self.state.add_transition ('[', 'ESC', None, 'ELB')159        # ELB means Escape Left Bracket. That is ^[[160        self.state.add_transition ('H', 'ELB', DoHomeOrigin, 'INIT')161        self.state.add_transition ('D', 'ELB', DoBackOne, 'INIT')162        self.state.add_transition ('B', 'ELB', DoDownOne, 'INIT')163        self.state.add_transition ('C', 'ELB', DoForwardOne, 'INIT')164        self.state.add_transition ('A', 'ELB', DoUpOne, 'INIT')165        self.state.add_transition ('J', 'ELB', DoEraseDown, 'INIT')166        self.state.add_transition ('K', 'ELB', DoEraseEndOfLine, 'INIT')167        self.state.add_transition ('r', 'ELB', DoEnableScroll, 'INIT')168        self.state.add_transition ('m', 'ELB', self.do_sgr, 'INIT')169        self.state.add_transition ('?', 'ELB', None, 'MODECRAP')170        self.state.add_transition_list (string.digits, 'ELB', DoStartNumber, 'NUMBER_1')171        self.state.add_transition_list (string.digits, 'NUMBER_1', DoBuildNumber, 'NUMBER_1')172        self.state.add_transition ('D', 'NUMBER_1', DoBack, 'INIT')173        self.state.add_transition ('B', 'NUMBER_1', DoDown, 'INIT')174        self.state.add_transition ('C', 'NUMBER_1', DoForward, 'INIT')175        self.state.add_transition ('A', 'NUMBER_1', DoUp, 'INIT')176        self.state.add_transition ('J', 'NUMBER_1', DoErase, 'INIT')177        self.state.add_transition ('K', 'NUMBER_1', DoEraseLine, 'INIT')178        self.state.add_transition ('l', 'NUMBER_1', DoMode, 'INIT')179        ### It gets worse... the 'm' code can have infinite number of180        ### number;number;number before it. I've never seen more than two,181        ### but the specs say it's allowed. crap!182        self.state.add_transition ('m', 'NUMBER_1', self.do_sgr, 'INIT')183        ### LED control. Same implementation problem as 'm' code.184        self.state.add_transition ('q', 'NUMBER_1', self.do_decsca, 'INIT')185        # \E[?47h switch to alternate screen186        # \E[?47l restores to normal screen from alternate screen.187        self.state.add_transition_list (string.digits, 'MODECRAP', DoStartNumber, 'MODECRAP_NUM')188        self.state.add_transition_list (string.digits, 'MODECRAP_NUM', DoBuildNumber, 'MODECRAP_NUM')189        self.state.add_transition ('l', 'MODECRAP_NUM', self.do_modecrap, 'INIT')190        self.state.add_transition ('h', 'MODECRAP_NUM', self.do_modecrap, 'INIT')191#RM   Reset Mode                Esc [ Ps l                   none192        self.state.add_transition (';', 'NUMBER_1', None, 'SEMICOLON')193        self.state.add_transition_any ('SEMICOLON', DoLog, 'INIT')194        self.state.add_transition_list (string.digits, 'SEMICOLON', DoStartNumber, 'NUMBER_2')195        self.state.add_transition_list (string.digits, 'NUMBER_2', DoBuildNumber, 'NUMBER_2')196        self.state.add_transition_any ('NUMBER_2', DoLog, 'INIT')197        self.state.add_transition ('H', 'NUMBER_2', DoHome, 'INIT')198        self.state.add_transition ('f', 'NUMBER_2', DoHome, 'INIT')199        self.state.add_transition ('r', 'NUMBER_2', DoScrollRegion, 'INIT')200        ### It gets worse... the 'm' code can have infinite number of201        ### number;number;number before it. I've never seen more than two,202        ### but the specs say it's allowed. crap!203        self.state.add_transition ('m', 'NUMBER_2', self.do_sgr, 'INIT')204        ### LED control. Same problem as 'm' code.205        self.state.add_transition ('q', 'NUMBER_2', self.do_decsca, 'INIT')206        self.state.add_transition (';', 'NUMBER_2', None, 'SEMICOLON_X')207        # Create a state for 'q' and 'm' which allows an infinite number of ignored numbers208        self.state.add_transition_any ('SEMICOLON_X', DoLog, 'INIT')209        self.state.add_transition_list (string.digits, 'SEMICOLON_X', DoStartNumber, 'NUMBER_X')210        self.state.add_transition_list (string.digits, 'NUMBER_X', DoBuildNumber, 'NUMBER_X')211        self.state.add_transition_any ('NUMBER_X', DoLog, 'INIT')212        self.state.add_transition ('m', 'NUMBER_X', self.do_sgr, 'INIT')213        self.state.add_transition ('q', 'NUMBER_X', self.do_decsca, 'INIT')214        self.state.add_transition (';', 'NUMBER_X', None, 'SEMICOLON_X')215    def process (self, c):216        """Process a single character. Called by :meth:`write`."""217        if isinstance(c, bytes):218            c = self._decode(c)219        self.state.process(c)220    def process_list (self, l):221        self.write(l)222    def write (self, s):223        """Process text, writing it to the virtual screen while handling224        ANSI escape codes.225        """226        if isinstance(s, bytes):227            s = self._decode(s)228        for c in s:229            self.process(c)230    def flush (self):231        pass232    def write_ch (self, ch):233        '''This puts a character at the current cursor position. The cursor234        position is moved forward with wrap-around, but no scrolling is done if235        the cursor hits the lower-right corner of the screen. '''236        if isinstance(ch, bytes):237            ch = self._decode(ch)238        #\r and \n both produce a call to cr() and lf(), respectively.239        ch = ch[0]240        if ch == u'\r':241            self.cr()242            return243        if ch == u'\n':244            self.crlf()245            return246        if ch == chr(screen.BS):247            self.cursor_back()248            return249        self.put_abs(self.cur_r, self.cur_c, ch)250        old_r = self.cur_r251        old_c = self.cur_c252        self.cursor_forward()253        if old_c == self.cur_c:254            self.cursor_down()255            if old_r != self.cur_r:256                self.cursor_home (self.cur_r, 1)257            else:258                self.scroll_up ()259                self.cursor_home (self.cur_r, 1)260                self.erase_line()261    def do_sgr (self, fsm):262        '''Select Graphic Rendition, e.g. color. '''263        screen = fsm.memory[0]264        fsm.memory = [screen]265    def do_decsca (self, fsm):266        '''Select character protection attribute. '''267        screen = fsm.memory[0]268        fsm.memory = [screen]269    def do_modecrap (self, fsm):270        '''Handler for \x1b[?<number>h and \x1b[?<number>l. If anyone271        wanted to actually use these, they'd need to add more states to the272        FSM rather than just improve or override this method. '''273        screen = fsm.memory[0]...__init__.py
Source:__init__.py  
1# -*- coding: utf-8 -*-2"""3kay.management4:Copyright: (c) 2009 Accense Technology, Inc. 5                     Takashi Matsuo <tmatsuo@candit.jp>,6                     All rights reserved.7:license: BSD, see LICENSE for more details.8Taken from django.9"""10import sys11import os12from werkzeug.utils import import_string13from kay.management.shell import (14  rshell, shell, clear_datastore, create_user,15)16from kay.management.runserver import runserver_passthru_argv17from kay.management.startapp import startapp18from kay.management.startapp import startproject19from kay.management.appcfg import do_appcfg_passthru_argv20from kay.management.bulkloader import (21  do_bulkloader_passthru_argv, dump_all, restore_all,22)23from kay.management.test import do_runtest24from kay.management.preparse import do_preparse_bundle25from kay.management.preparse import do_preparse_apps26from kay.management.extract_messages import do_extract_messages27from kay.management.add_translations import do_add_translations28from kay.management.update_translations import do_update_translations29from kay.management.compile_translations import do_compile_translations30from kay.management.wxadmin import do_wxadmin31from kay.management.compile_media import do_compile_media32from kay.conf import settings33action_dump_all = dump_all34action_restore_all = restore_all35action_shell = shell36action_rshell = rshell37action_startapp = startapp38action_startproject = startproject39action_test = do_runtest40action_preparse_bundle = do_preparse_bundle41action_preparse_apps = do_preparse_apps42action_extract_messages = do_extract_messages43action_add_translations = do_add_translations44action_update_translations = do_update_translations45action_compile_translations = do_compile_translations46action_appcfg = do_appcfg_passthru_argv47action_runserver = runserver_passthru_argv48action_bulkloader = do_bulkloader_passthru_argv49action_clear_datastore = clear_datastore50action_create_user = create_user51action_wxadmin = do_wxadmin52action_compile_media = do_compile_media53additional_actions = []54for app in settings.INSTALLED_APPS:55  try:56    appmod = import_string(app)57    if not os.path.exists(os.path.join(os.path.dirname(appmod.__file__),58                                       'management.py')):59      continue60    management_mod = import_string("%s.management" % app)61    for name, val in vars(management_mod).iteritems():62      if name.startswith("action_"):63        locals()[name] = getattr(management_mod, name)64        additional_actions.append(name)65  except Exception, e:66    import traceback67    sys.stderr.write('\n'.join(traceback.format_exception(*(sys.exc_info()))))68    pass69__all__ = [70  'runserver_passthru_argv', 'startapp', 'do_appcfg_passthru_argv',71  'do_bulkloader_passthru_argv', 'do_runtest', 'do_preparse_bundle',72  'do_extract_messages', 'do_add_translations', 'do_update_translations',73  'do_compile_translations', 'shell', 'rshell', 'do_preparse_apps',74  'startproject', 'do_wxadmin', 'clear_datastore', 'create_user', 'dump_all',75  'restore_all', 'do_compile_media',76  'action_dump_all', 'action_restore_all', 'action_shell', 'action_rshell',77  'action_startapp', 'action_startproject', 'action_test',78  'action_preparse_bundle', 'action_preparse_apps', 'action_extract_messages',79  'action_add_translations', 'action_update_translations',80  'action_compile_translations', 'action_appcfg', 'action_runserver',81  'action_bulkloader', 'action_clear_datastore', 'action_create_user',82  'action_wxadmin', 'action_compile_media',83] + additional_actions84def print_status(msg):85  print(msg)...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
