Showing error 1702

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: product-lines/email_spec11_product07_safe.cil.c
Line in file: 3297
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

   1extern int __VERIFIER_nondet_int(void);
   2/* Generated by CIL v. 1.3.7 */
   3/* print_CIL_Input is true */
   4
   5#line 2 "libacc.c"
   6struct JoinPoint {
   7   void **(*fp)(struct JoinPoint * ) ;
   8   void **args ;
   9   int argsCount ;
  10   char const   **argsType ;
  11   void *(*arg)(int  , struct JoinPoint * ) ;
  12   char const   *(*argType)(int  , struct JoinPoint * ) ;
  13   void **retValue ;
  14   char const   *retType ;
  15   char const   *funcName ;
  16   char const   *targetName ;
  17   char const   *fileName ;
  18   char const   *kind ;
  19   void *excep_return ;
  20};
  21#line 18 "libacc.c"
  22struct __UTAC__CFLOW_FUNC {
  23   int (*func)(int  , int  ) ;
  24   int val ;
  25   struct __UTAC__CFLOW_FUNC *next ;
  26};
  27#line 18 "libacc.c"
  28struct __UTAC__EXCEPTION {
  29   void *jumpbuf ;
  30   unsigned long long prtValue ;
  31   int pops ;
  32   struct __UTAC__CFLOW_FUNC *cflowfuncs ;
  33};
  34#line 211 "/usr/lib/gcc/x86_64-linux-gnu/4.4.5/include/stddef.h"
  35typedef unsigned long size_t;
  36#line 76 "libacc.c"
  37struct __ACC__ERR {
  38   void *v ;
  39   struct __ACC__ERR *next ;
  40};
  41#line 1 "EmailLib.o"
  42#pragma merger(0,"EmailLib.i","")
  43#line 4 "EmailLib.h"
  44int initEmail(void) ;
  45#line 6
  46int getEmailId(int handle ) ;
  47#line 8
  48void setEmailId(int handle , int value ) ;
  49#line 10
  50int getEmailFrom(int handle ) ;
  51#line 12
  52void setEmailFrom(int handle , int value ) ;
  53#line 14
  54int getEmailTo(int handle ) ;
  55#line 16
  56void setEmailTo(int handle , int value ) ;
  57#line 18
  58char *getEmailSubject(int handle ) ;
  59#line 20
  60void setEmailSubject(int handle , char *value ) ;
  61#line 22
  62char *getEmailBody(int handle ) ;
  63#line 24
  64void setEmailBody(int handle , char *value ) ;
  65#line 26
  66int isEncrypted(int handle ) ;
  67#line 28
  68void setEmailIsEncrypted(int handle , int value ) ;
  69#line 30
  70int getEmailEncryptionKey(int handle ) ;
  71#line 32
  72void setEmailEncryptionKey(int handle , int value ) ;
  73#line 34
  74int isSigned(int handle ) ;
  75#line 36
  76void setEmailIsSigned(int handle , int value ) ;
  77#line 38
  78int getEmailSignKey(int handle ) ;
  79#line 40
  80void setEmailSignKey(int handle , int value ) ;
  81#line 42
  82int isVerified(int handle ) ;
  83#line 44
  84void setEmailIsSignatureVerified(int handle , int value ) ;
  85#line 5 "EmailLib.c"
  86int __ste_Email_counter  =    0;
  87#line 7 "EmailLib.c"
  88int initEmail(void) 
  89{ int retValue_acc ;
  90
  91  {
  92#line 12 "EmailLib.c"
  93  if (__ste_Email_counter < 2) {
  94#line 670
  95    __ste_Email_counter = __ste_Email_counter + 1;
  96#line 670
  97    retValue_acc = __ste_Email_counter;
  98#line 672
  99    return (retValue_acc);
 100  } else {
 101#line 678 "EmailLib.c"
 102    retValue_acc = -1;
 103#line 680
 104    return (retValue_acc);
 105  }
 106#line 687 "EmailLib.c"
 107  return (retValue_acc);
 108}
 109}
 110#line 15 "EmailLib.c"
 111int __ste_email_id0  =    0;
 112#line 17 "EmailLib.c"
 113int __ste_email_id1  =    0;
 114#line 19 "EmailLib.c"
 115int getEmailId(int handle ) 
 116{ int retValue_acc ;
 117
 118  {
 119#line 26 "EmailLib.c"
 120  if (handle == 1) {
 121#line 716
 122    retValue_acc = __ste_email_id0;
 123#line 718
 124    return (retValue_acc);
 125  } else {
 126#line 720
 127    if (handle == 2) {
 128#line 725
 129      retValue_acc = __ste_email_id1;
 130#line 727
 131      return (retValue_acc);
 132    } else {
 133#line 733 "EmailLib.c"
 134      retValue_acc = 0;
 135#line 735
 136      return (retValue_acc);
 137    }
 138  }
 139#line 742 "EmailLib.c"
 140  return (retValue_acc);
 141}
 142}
 143#line 29 "EmailLib.c"
 144void setEmailId(int handle , int value ) 
 145{ 
 146
 147  {
 148#line 35
 149  if (handle == 1) {
 150#line 31
 151    __ste_email_id0 = value;
 152  } else {
 153#line 32
 154    if (handle == 2) {
 155#line 33
 156      __ste_email_id1 = value;
 157    } else {
 158
 159    }
 160  }
 161#line 773 "EmailLib.c"
 162  return;
 163}
 164}
 165#line 37 "EmailLib.c"
 166int __ste_email_from0  =    0;
 167#line 39 "EmailLib.c"
 168int __ste_email_from1  =    0;
 169#line 41 "EmailLib.c"
 170int getEmailFrom(int handle ) 
 171{ int retValue_acc ;
 172
 173  {
 174#line 48 "EmailLib.c"
 175  if (handle == 1) {
 176#line 798
 177    retValue_acc = __ste_email_from0;
 178#line 800
 179    return (retValue_acc);
 180  } else {
 181#line 802
 182    if (handle == 2) {
 183#line 807
 184      retValue_acc = __ste_email_from1;
 185#line 809
 186      return (retValue_acc);
 187    } else {
 188#line 815 "EmailLib.c"
 189      retValue_acc = 0;
 190#line 817
 191      return (retValue_acc);
 192    }
 193  }
 194#line 824 "EmailLib.c"
 195  return (retValue_acc);
 196}
 197}
 198#line 51 "EmailLib.c"
 199void setEmailFrom(int handle , int value ) 
 200{ 
 201
 202  {
 203#line 57
 204  if (handle == 1) {
 205#line 53
 206    __ste_email_from0 = value;
 207  } else {
 208#line 54
 209    if (handle == 2) {
 210#line 55
 211      __ste_email_from1 = value;
 212    } else {
 213
 214    }
 215  }
 216#line 855 "EmailLib.c"
 217  return;
 218}
 219}
 220#line 59 "EmailLib.c"
 221int __ste_email_to0  =    0;
 222#line 61 "EmailLib.c"
 223int __ste_email_to1  =    0;
 224#line 63 "EmailLib.c"
 225int getEmailTo(int handle ) 
 226{ int retValue_acc ;
 227
 228  {
 229#line 70 "EmailLib.c"
 230  if (handle == 1) {
 231#line 880
 232    retValue_acc = __ste_email_to0;
 233#line 882
 234    return (retValue_acc);
 235  } else {
 236#line 884
 237    if (handle == 2) {
 238#line 889
 239      retValue_acc = __ste_email_to1;
 240#line 891
 241      return (retValue_acc);
 242    } else {
 243#line 897 "EmailLib.c"
 244      retValue_acc = 0;
 245#line 899
 246      return (retValue_acc);
 247    }
 248  }
 249#line 906 "EmailLib.c"
 250  return (retValue_acc);
 251}
 252}
 253#line 73 "EmailLib.c"
 254void setEmailTo(int handle , int value ) 
 255{ 
 256
 257  {
 258#line 79
 259  if (handle == 1) {
 260#line 75
 261    __ste_email_to0 = value;
 262  } else {
 263#line 76
 264    if (handle == 2) {
 265#line 77
 266      __ste_email_to1 = value;
 267    } else {
 268
 269    }
 270  }
 271#line 937 "EmailLib.c"
 272  return;
 273}
 274}
 275#line 81 "EmailLib.c"
 276char *__ste_email_subject0  ;
 277#line 83 "EmailLib.c"
 278char *__ste_email_subject1  ;
 279#line 85 "EmailLib.c"
 280char *getEmailSubject(int handle ) 
 281{ char *retValue_acc ;
 282  void *__cil_tmp3 ;
 283
 284  {
 285#line 92 "EmailLib.c"
 286  if (handle == 1) {
 287#line 962
 288    retValue_acc = __ste_email_subject0;
 289#line 964
 290    return (retValue_acc);
 291  } else {
 292#line 966
 293    if (handle == 2) {
 294#line 971
 295      retValue_acc = __ste_email_subject1;
 296#line 973
 297      return (retValue_acc);
 298    } else {
 299#line 979 "EmailLib.c"
 300      __cil_tmp3 = (void *)0;
 301#line 979
 302      retValue_acc = (char *)__cil_tmp3;
 303#line 981
 304      return (retValue_acc);
 305    }
 306  }
 307#line 988 "EmailLib.c"
 308  return (retValue_acc);
 309}
 310}
 311#line 95 "EmailLib.c"
 312void setEmailSubject(int handle , char *value ) 
 313{ 
 314
 315  {
 316#line 101
 317  if (handle == 1) {
 318#line 97
 319    __ste_email_subject0 = value;
 320  } else {
 321#line 98
 322    if (handle == 2) {
 323#line 99
 324      __ste_email_subject1 = value;
 325    } else {
 326
 327    }
 328  }
 329#line 1019 "EmailLib.c"
 330  return;
 331}
 332}
 333#line 103 "EmailLib.c"
 334char *__ste_email_body0  =    (char *)0;
 335#line 105 "EmailLib.c"
 336char *__ste_email_body1  =    (char *)0;
 337#line 107 "EmailLib.c"
 338char *getEmailBody(int handle ) 
 339{ char *retValue_acc ;
 340  void *__cil_tmp3 ;
 341
 342  {
 343#line 114 "EmailLib.c"
 344  if (handle == 1) {
 345#line 1044
 346    retValue_acc = __ste_email_body0;
 347#line 1046
 348    return (retValue_acc);
 349  } else {
 350#line 1048
 351    if (handle == 2) {
 352#line 1053
 353      retValue_acc = __ste_email_body1;
 354#line 1055
 355      return (retValue_acc);
 356    } else {
 357#line 1061 "EmailLib.c"
 358      __cil_tmp3 = (void *)0;
 359#line 1061
 360      retValue_acc = (char *)__cil_tmp3;
 361#line 1063
 362      return (retValue_acc);
 363    }
 364  }
 365#line 1070 "EmailLib.c"
 366  return (retValue_acc);
 367}
 368}
 369#line 117 "EmailLib.c"
 370void setEmailBody(int handle , char *value ) 
 371{ 
 372
 373  {
 374#line 123
 375  if (handle == 1) {
 376#line 119
 377    __ste_email_body0 = value;
 378  } else {
 379#line 120
 380    if (handle == 2) {
 381#line 121
 382      __ste_email_body1 = value;
 383    } else {
 384
 385    }
 386  }
 387#line 1101 "EmailLib.c"
 388  return;
 389}
 390}
 391#line 125 "EmailLib.c"
 392int __ste_email_isEncrypted0  =    0;
 393#line 127 "EmailLib.c"
 394int __ste_email_isEncrypted1  =    0;
 395#line 129 "EmailLib.c"
 396int isEncrypted(int handle ) 
 397{ int retValue_acc ;
 398
 399  {
 400#line 136 "EmailLib.c"
 401  if (handle == 1) {
 402#line 1126
 403    retValue_acc = __ste_email_isEncrypted0;
 404#line 1128
 405    return (retValue_acc);
 406  } else {
 407#line 1130
 408    if (handle == 2) {
 409#line 1135
 410      retValue_acc = __ste_email_isEncrypted1;
 411#line 1137
 412      return (retValue_acc);
 413    } else {
 414#line 1143 "EmailLib.c"
 415      retValue_acc = 0;
 416#line 1145
 417      return (retValue_acc);
 418    }
 419  }
 420#line 1152 "EmailLib.c"
 421  return (retValue_acc);
 422}
 423}
 424#line 139 "EmailLib.c"
 425void setEmailIsEncrypted(int handle , int value ) 
 426{ 
 427
 428  {
 429#line 145
 430  if (handle == 1) {
 431#line 141
 432    __ste_email_isEncrypted0 = value;
 433  } else {
 434#line 142
 435    if (handle == 2) {
 436#line 143
 437      __ste_email_isEncrypted1 = value;
 438    } else {
 439
 440    }
 441  }
 442#line 1183 "EmailLib.c"
 443  return;
 444}
 445}
 446#line 147 "EmailLib.c"
 447int __ste_email_encryptionKey0  =    0;
 448#line 149 "EmailLib.c"
 449int __ste_email_encryptionKey1  =    0;
 450#line 151 "EmailLib.c"
 451int getEmailEncryptionKey(int handle ) 
 452{ int retValue_acc ;
 453
 454  {
 455#line 158 "EmailLib.c"
 456  if (handle == 1) {
 457#line 1208
 458    retValue_acc = __ste_email_encryptionKey0;
 459#line 1210
 460    return (retValue_acc);
 461  } else {
 462#line 1212
 463    if (handle == 2) {
 464#line 1217
 465      retValue_acc = __ste_email_encryptionKey1;
 466#line 1219
 467      return (retValue_acc);
 468    } else {
 469#line 1225 "EmailLib.c"
 470      retValue_acc = 0;
 471#line 1227
 472      return (retValue_acc);
 473    }
 474  }
 475#line 1234 "EmailLib.c"
 476  return (retValue_acc);
 477}
 478}
 479#line 161 "EmailLib.c"
 480void setEmailEncryptionKey(int handle , int value ) 
 481{ 
 482
 483  {
 484#line 167
 485  if (handle == 1) {
 486#line 163
 487    __ste_email_encryptionKey0 = value;
 488  } else {
 489#line 164
 490    if (handle == 2) {
 491#line 165
 492      __ste_email_encryptionKey1 = value;
 493    } else {
 494
 495    }
 496  }
 497#line 1265 "EmailLib.c"
 498  return;
 499}
 500}
 501#line 169 "EmailLib.c"
 502int __ste_email_isSigned0  =    0;
 503#line 171 "EmailLib.c"
 504int __ste_email_isSigned1  =    0;
 505#line 173 "EmailLib.c"
 506int isSigned(int handle ) 
 507{ int retValue_acc ;
 508
 509  {
 510#line 180 "EmailLib.c"
 511  if (handle == 1) {
 512#line 1290
 513    retValue_acc = __ste_email_isSigned0;
 514#line 1292
 515    return (retValue_acc);
 516  } else {
 517#line 1294
 518    if (handle == 2) {
 519#line 1299
 520      retValue_acc = __ste_email_isSigned1;
 521#line 1301
 522      return (retValue_acc);
 523    } else {
 524#line 1307 "EmailLib.c"
 525      retValue_acc = 0;
 526#line 1309
 527      return (retValue_acc);
 528    }
 529  }
 530#line 1316 "EmailLib.c"
 531  return (retValue_acc);
 532}
 533}
 534#line 183 "EmailLib.c"
 535void setEmailIsSigned(int handle , int value ) 
 536{ 
 537
 538  {
 539#line 189
 540  if (handle == 1) {
 541#line 185
 542    __ste_email_isSigned0 = value;
 543  } else {
 544#line 186
 545    if (handle == 2) {
 546#line 187
 547      __ste_email_isSigned1 = value;
 548    } else {
 549
 550    }
 551  }
 552#line 1347 "EmailLib.c"
 553  return;
 554}
 555}
 556#line 191 "EmailLib.c"
 557int __ste_email_signKey0  =    0;
 558#line 193 "EmailLib.c"
 559int __ste_email_signKey1  =    0;
 560#line 195 "EmailLib.c"
 561int getEmailSignKey(int handle ) 
 562{ int retValue_acc ;
 563
 564  {
 565#line 202 "EmailLib.c"
 566  if (handle == 1) {
 567#line 1372
 568    retValue_acc = __ste_email_signKey0;
 569#line 1374
 570    return (retValue_acc);
 571  } else {
 572#line 1376
 573    if (handle == 2) {
 574#line 1381
 575      retValue_acc = __ste_email_signKey1;
 576#line 1383
 577      return (retValue_acc);
 578    } else {
 579#line 1389 "EmailLib.c"
 580      retValue_acc = 0;
 581#line 1391
 582      return (retValue_acc);
 583    }
 584  }
 585#line 1398 "EmailLib.c"
 586  return (retValue_acc);
 587}
 588}
 589#line 205 "EmailLib.c"
 590void setEmailSignKey(int handle , int value ) 
 591{ 
 592
 593  {
 594#line 211
 595  if (handle == 1) {
 596#line 207
 597    __ste_email_signKey0 = value;
 598  } else {
 599#line 208
 600    if (handle == 2) {
 601#line 209
 602      __ste_email_signKey1 = value;
 603    } else {
 604
 605    }
 606  }
 607#line 1429 "EmailLib.c"
 608  return;
 609}
 610}
 611#line 213 "EmailLib.c"
 612int __ste_email_isSignatureVerified0  ;
 613#line 215 "EmailLib.c"
 614int __ste_email_isSignatureVerified1  ;
 615#line 217 "EmailLib.c"
 616int isVerified(int handle ) 
 617{ int retValue_acc ;
 618
 619  {
 620#line 224 "EmailLib.c"
 621  if (handle == 1) {
 622#line 1454
 623    retValue_acc = __ste_email_isSignatureVerified0;
 624#line 1456
 625    return (retValue_acc);
 626  } else {
 627#line 1458
 628    if (handle == 2) {
 629#line 1463
 630      retValue_acc = __ste_email_isSignatureVerified1;
 631#line 1465
 632      return (retValue_acc);
 633    } else {
 634#line 1471 "EmailLib.c"
 635      retValue_acc = 0;
 636#line 1473
 637      return (retValue_acc);
 638    }
 639  }
 640#line 1480 "EmailLib.c"
 641  return (retValue_acc);
 642}
 643}
 644#line 227 "EmailLib.c"
 645void setEmailIsSignatureVerified(int handle , int value ) 
 646{ 
 647
 648  {
 649#line 233
 650  if (handle == 1) {
 651#line 229
 652    __ste_email_isSignatureVerified0 = value;
 653  } else {
 654#line 230
 655    if (handle == 2) {
 656#line 231
 657      __ste_email_isSignatureVerified1 = value;
 658    } else {
 659
 660    }
 661  }
 662#line 1511 "EmailLib.c"
 663  return;
 664}
 665}
 666#line 1 "ClientLib.o"
 667#pragma merger(0,"ClientLib.i","")
 668#line 4 "ClientLib.h"
 669int initClient(void) ;
 670#line 6
 671char *getClientName(int handle ) ;
 672#line 8
 673void setClientName(int handle , char *value ) ;
 674#line 10
 675int getClientOutbuffer(int handle ) ;
 676#line 12
 677void setClientOutbuffer(int handle , int value ) ;
 678#line 14
 679int getClientAddressBookSize(int handle ) ;
 680#line 16
 681void setClientAddressBookSize(int handle , int value ) ;
 682#line 18
 683int createClientAddressBookEntry(int handle ) ;
 684#line 20
 685int getClientAddressBookAlias(int handle , int index ) ;
 686#line 22
 687void setClientAddressBookAlias(int handle , int index , int value ) ;
 688#line 24
 689int getClientAddressBookAddress(int handle , int index ) ;
 690#line 26
 691void setClientAddressBookAddress(int handle , int index , int value ) ;
 692#line 29
 693int getClientAutoResponse(int handle ) ;
 694#line 31
 695void setClientAutoResponse(int handle , int value ) ;
 696#line 33
 697int getClientPrivateKey(int handle ) ;
 698#line 35
 699void setClientPrivateKey(int handle , int value ) ;
 700#line 37
 701int getClientKeyringSize(int handle ) ;
 702#line 39
 703int createClientKeyringEntry(int handle ) ;
 704#line 41
 705int getClientKeyringUser(int handle , int index ) ;
 706#line 43
 707void setClientKeyringUser(int handle , int index , int value ) ;
 708#line 45
 709int getClientKeyringPublicKey(int handle , int index ) ;
 710#line 47
 711void setClientKeyringPublicKey(int handle , int index , int value ) ;
 712#line 49
 713int getClientForwardReceiver(int handle ) ;
 714#line 51
 715void setClientForwardReceiver(int handle , int value ) ;
 716#line 53
 717int getClientId(int handle ) ;
 718#line 55
 719void setClientId(int handle , int value ) ;
 720#line 57
 721int findPublicKey(int handle , int userid ) ;
 722#line 59
 723int findClientAddressBookAlias(int handle , int userid ) ;
 724#line 5 "ClientLib.c"
 725int __ste_Client_counter  =    0;
 726#line 7 "ClientLib.c"
 727int initClient(void) 
 728{ int retValue_acc ;
 729
 730  {
 731#line 12 "ClientLib.c"
 732  if (__ste_Client_counter < 3) {
 733#line 684
 734    __ste_Client_counter = __ste_Client_counter + 1;
 735#line 684
 736    retValue_acc = __ste_Client_counter;
 737#line 686
 738    return (retValue_acc);
 739  } else {
 740#line 692 "ClientLib.c"
 741    retValue_acc = -1;
 742#line 694
 743    return (retValue_acc);
 744  }
 745#line 701 "ClientLib.c"
 746  return (retValue_acc);
 747}
 748}
 749#line 15 "ClientLib.c"
 750char *__ste_client_name0  =    (char *)0;
 751#line 17 "ClientLib.c"
 752char *__ste_client_name1  =    (char *)0;
 753#line 19 "ClientLib.c"
 754char *__ste_client_name2  =    (char *)0;
 755#line 22 "ClientLib.c"
 756char *getClientName(int handle ) 
 757{ char *retValue_acc ;
 758  void *__cil_tmp3 ;
 759
 760  {
 761#line 31 "ClientLib.c"
 762  if (handle == 1) {
 763#line 732
 764    retValue_acc = __ste_client_name0;
 765#line 734
 766    return (retValue_acc);
 767  } else {
 768#line 736
 769    if (handle == 2) {
 770#line 741
 771      retValue_acc = __ste_client_name1;
 772#line 743
 773      return (retValue_acc);
 774    } else {
 775#line 745
 776      if (handle == 3) {
 777#line 750
 778        retValue_acc = __ste_client_name2;
 779#line 752
 780        return (retValue_acc);
 781      } else {
 782#line 758 "ClientLib.c"
 783        __cil_tmp3 = (void *)0;
 784#line 758
 785        retValue_acc = (char *)__cil_tmp3;
 786#line 760
 787        return (retValue_acc);
 788      }
 789    }
 790  }
 791#line 767 "ClientLib.c"
 792  return (retValue_acc);
 793}
 794}
 795#line 34 "ClientLib.c"
 796void setClientName(int handle , char *value ) 
 797{ 
 798
 799  {
 800#line 42
 801  if (handle == 1) {
 802#line 36
 803    __ste_client_name0 = value;
 804  } else {
 805#line 37
 806    if (handle == 2) {
 807#line 38
 808      __ste_client_name1 = value;
 809    } else {
 810#line 39
 811      if (handle == 3) {
 812#line 40
 813        __ste_client_name2 = value;
 814      } else {
 815
 816      }
 817    }
 818  }
 819#line 802 "ClientLib.c"
 820  return;
 821}
 822}
 823#line 44 "ClientLib.c"
 824int __ste_client_outbuffer0  =    0;
 825#line 46 "ClientLib.c"
 826int __ste_client_outbuffer1  =    0;
 827#line 48 "ClientLib.c"
 828int __ste_client_outbuffer2  =    0;
 829#line 50 "ClientLib.c"
 830int __ste_client_outbuffer3  =    0;
 831#line 53 "ClientLib.c"
 832int getClientOutbuffer(int handle ) 
 833{ int retValue_acc ;
 834
 835  {
 836#line 62 "ClientLib.c"
 837  if (handle == 1) {
 838#line 831
 839    retValue_acc = __ste_client_outbuffer0;
 840#line 833
 841    return (retValue_acc);
 842  } else {
 843#line 835
 844    if (handle == 2) {
 845#line 840
 846      retValue_acc = __ste_client_outbuffer1;
 847#line 842
 848      return (retValue_acc);
 849    } else {
 850#line 844
 851      if (handle == 3) {
 852#line 849
 853        retValue_acc = __ste_client_outbuffer2;
 854#line 851
 855        return (retValue_acc);
 856      } else {
 857#line 857 "ClientLib.c"
 858        retValue_acc = 0;
 859#line 859
 860        return (retValue_acc);
 861      }
 862    }
 863  }
 864#line 866 "ClientLib.c"
 865  return (retValue_acc);
 866}
 867}
 868#line 65 "ClientLib.c"
 869void setClientOutbuffer(int handle , int value ) 
 870{ 
 871
 872  {
 873#line 73
 874  if (handle == 1) {
 875#line 67
 876    __ste_client_outbuffer0 = value;
 877  } else {
 878#line 68
 879    if (handle == 2) {
 880#line 69
 881      __ste_client_outbuffer1 = value;
 882    } else {
 883#line 70
 884      if (handle == 3) {
 885#line 71
 886        __ste_client_outbuffer2 = value;
 887      } else {
 888
 889      }
 890    }
 891  }
 892#line 901 "ClientLib.c"
 893  return;
 894}
 895}
 896#line 77 "ClientLib.c"
 897int __ste_ClientAddressBook_size0  =    0;
 898#line 79 "ClientLib.c"
 899int __ste_ClientAddressBook_size1  =    0;
 900#line 81 "ClientLib.c"
 901int __ste_ClientAddressBook_size2  =    0;
 902#line 84 "ClientLib.c"
 903int getClientAddressBookSize(int handle ) 
 904{ int retValue_acc ;
 905
 906  {
 907#line 93 "ClientLib.c"
 908  if (handle == 1) {
 909#line 928
 910    retValue_acc = __ste_ClientAddressBook_size0;
 911#line 930
 912    return (retValue_acc);
 913  } else {
 914#line 932
 915    if (handle == 2) {
 916#line 937
 917      retValue_acc = __ste_ClientAddressBook_size1;
 918#line 939
 919      return (retValue_acc);
 920    } else {
 921#line 941
 922      if (handle == 3) {
 923#line 946
 924        retValue_acc = __ste_ClientAddressBook_size2;
 925#line 948
 926        return (retValue_acc);
 927      } else {
 928#line 954 "ClientLib.c"
 929        retValue_acc = 0;
 930#line 956
 931        return (retValue_acc);
 932      }
 933    }
 934  }
 935#line 963 "ClientLib.c"
 936  return (retValue_acc);
 937}
 938}
 939#line 96 "ClientLib.c"
 940void setClientAddressBookSize(int handle , int value ) 
 941{ 
 942
 943  {
 944#line 104
 945  if (handle == 1) {
 946#line 98
 947    __ste_ClientAddressBook_size0 = value;
 948  } else {
 949#line 99
 950    if (handle == 2) {
 951#line 100
 952      __ste_ClientAddressBook_size1 = value;
 953    } else {
 954#line 101
 955      if (handle == 3) {
 956#line 102
 957        __ste_ClientAddressBook_size2 = value;
 958      } else {
 959
 960      }
 961    }
 962  }
 963#line 998 "ClientLib.c"
 964  return;
 965}
 966}
 967#line 106 "ClientLib.c"
 968int createClientAddressBookEntry(int handle ) 
 969{ int retValue_acc ;
 970  int size ;
 971  int tmp ;
 972  int __cil_tmp5 ;
 973
 974  {
 975  {
 976#line 107
 977  tmp = getClientAddressBookSize(handle);
 978#line 107
 979  size = tmp;
 980  }
 981#line 108 "ClientLib.c"
 982  if (size < 3) {
 983    {
 984#line 109 "ClientLib.c"
 985    __cil_tmp5 = size + 1;
 986#line 109
 987    setClientAddressBookSize(handle, __cil_tmp5);
 988#line 1025 "ClientLib.c"
 989    retValue_acc = size + 1;
 990    }
 991#line 1027
 992    return (retValue_acc);
 993  } else {
 994#line 1031 "ClientLib.c"
 995    retValue_acc = -1;
 996#line 1033
 997    return (retValue_acc);
 998  }
 999#line 1040 "ClientLib.c"
1000  return (retValue_acc);
1001}
1002}
1003#line 115 "ClientLib.c"
1004int __ste_Client_AddressBook0_Alias0  =    0;
1005#line 117 "ClientLib.c"
1006int __ste_Client_AddressBook0_Alias1  =    0;
1007#line 119 "ClientLib.c"
1008int __ste_Client_AddressBook0_Alias2  =    0;
1009#line 121 "ClientLib.c"
1010int __ste_Client_AddressBook1_Alias0  =    0;
1011#line 123 "ClientLib.c"
1012int __ste_Client_AddressBook1_Alias1  =    0;
1013#line 125 "ClientLib.c"
1014int __ste_Client_AddressBook1_Alias2  =    0;
1015#line 127 "ClientLib.c"
1016int __ste_Client_AddressBook2_Alias0  =    0;
1017#line 129 "ClientLib.c"
1018int __ste_Client_AddressBook2_Alias1  =    0;
1019#line 131 "ClientLib.c"
1020int __ste_Client_AddressBook2_Alias2  =    0;
1021#line 134 "ClientLib.c"
1022int getClientAddressBookAlias(int handle , int index ) 
1023{ int retValue_acc ;
1024
1025  {
1026#line 167
1027  if (handle == 1) {
1028#line 144 "ClientLib.c"
1029    if (index == 0) {
1030#line 1086
1031      retValue_acc = __ste_Client_AddressBook0_Alias0;
1032#line 1088
1033      return (retValue_acc);
1034    } else {
1035#line 1090
1036      if (index == 1) {
1037#line 1095
1038        retValue_acc = __ste_Client_AddressBook0_Alias1;
1039#line 1097
1040        return (retValue_acc);
1041      } else {
1042#line 1099
1043        if (index == 2) {
1044#line 1104
1045          retValue_acc = __ste_Client_AddressBook0_Alias2;
1046#line 1106
1047          return (retValue_acc);
1048        } else {
1049#line 1112
1050          retValue_acc = 0;
1051#line 1114
1052          return (retValue_acc);
1053        }
1054      }
1055    }
1056  } else {
1057#line 1116 "ClientLib.c"
1058    if (handle == 2) {
1059#line 154 "ClientLib.c"
1060      if (index == 0) {
1061#line 1124
1062        retValue_acc = __ste_Client_AddressBook1_Alias0;
1063#line 1126
1064        return (retValue_acc);
1065      } else {
1066#line 1128
1067        if (index == 1) {
1068#line 1133
1069          retValue_acc = __ste_Client_AddressBook1_Alias1;
1070#line 1135
1071          return (retValue_acc);
1072        } else {
1073#line 1137
1074          if (index == 2) {
1075#line 1142
1076            retValue_acc = __ste_Client_AddressBook1_Alias2;
1077#line 1144
1078            return (retValue_acc);
1079          } else {
1080#line 1150
1081            retValue_acc = 0;
1082#line 1152
1083            return (retValue_acc);
1084          }
1085        }
1086      }
1087    } else {
1088#line 1154 "ClientLib.c"
1089      if (handle == 3) {
1090#line 164 "ClientLib.c"
1091        if (index == 0) {
1092#line 1162
1093          retValue_acc = __ste_Client_AddressBook2_Alias0;
1094#line 1164
1095          return (retValue_acc);
1096        } else {
1097#line 1166
1098          if (index == 1) {
1099#line 1171
1100            retValue_acc = __ste_Client_AddressBook2_Alias1;
1101#line 1173
1102            return (retValue_acc);
1103          } else {
1104#line 1175
1105            if (index == 2) {
1106#line 1180
1107              retValue_acc = __ste_Client_AddressBook2_Alias2;
1108#line 1182
1109              return (retValue_acc);
1110            } else {
1111#line 1188
1112              retValue_acc = 0;
1113#line 1190
1114              return (retValue_acc);
1115            }
1116          }
1117        }
1118      } else {
1119#line 1196 "ClientLib.c"
1120        retValue_acc = 0;
1121#line 1198
1122        return (retValue_acc);
1123      }
1124    }
1125  }
1126#line 1205 "ClientLib.c"
1127  return (retValue_acc);
1128}
1129}
1130#line 171 "ClientLib.c"
1131int findClientAddressBookAlias(int handle , int userid ) 
1132{ int retValue_acc ;
1133
1134  {
1135#line 204
1136  if (handle == 1) {
1137#line 181 "ClientLib.c"
1138    if (userid == __ste_Client_AddressBook0_Alias0) {
1139#line 1233
1140      retValue_acc = 0;
1141#line 1235
1142      return (retValue_acc);
1143    } else {
1144#line 1237
1145      if (userid == __ste_Client_AddressBook0_Alias1) {
1146#line 1242
1147        retValue_acc = 1;
1148#line 1244
1149        return (retValue_acc);
1150      } else {
1151#line 1246
1152        if (userid == __ste_Client_AddressBook0_Alias2) {
1153#line 1251
1154          retValue_acc = 2;
1155#line 1253
1156          return (retValue_acc);
1157        } else {
1158#line 1259
1159          retValue_acc = -1;
1160#line 1261
1161          return (retValue_acc);
1162        }
1163      }
1164    }
1165  } else {
1166#line 1263 "ClientLib.c"
1167    if (handle == 2) {
1168#line 191 "ClientLib.c"
1169      if (userid == __ste_Client_AddressBook1_Alias0) {
1170#line 1271
1171        retValue_acc = 0;
1172#line 1273
1173        return (retValue_acc);
1174      } else {
1175#line 1275
1176        if (userid == __ste_Client_AddressBook1_Alias1) {
1177#line 1280
1178          retValue_acc = 1;
1179#line 1282
1180          return (retValue_acc);
1181        } else {
1182#line 1284
1183          if (userid == __ste_Client_AddressBook1_Alias2) {
1184#line 1289
1185            retValue_acc = 2;
1186#line 1291
1187            return (retValue_acc);
1188          } else {
1189#line 1297
1190            retValue_acc = -1;
1191#line 1299
1192            return (retValue_acc);
1193          }
1194        }
1195      }
1196    } else {
1197#line 1301 "ClientLib.c"
1198      if (handle == 3) {
1199#line 201 "ClientLib.c"
1200        if (userid == __ste_Client_AddressBook2_Alias0) {
1201#line 1309
1202          retValue_acc = 0;
1203#line 1311
1204          return (retValue_acc);
1205        } else {
1206#line 1313
1207          if (userid == __ste_Client_AddressBook2_Alias1) {
1208#line 1318
1209            retValue_acc = 1;
1210#line 1320
1211            return (retValue_acc);
1212          } else {
1213#line 1322
1214            if (userid == __ste_Client_AddressBook2_Alias2) {
1215#line 1327
1216              retValue_acc = 2;
1217#line 1329
1218              return (retValue_acc);
1219            } else {
1220#line 1335
1221              retValue_acc = -1;
1222#line 1337
1223              return (retValue_acc);
1224            }
1225          }
1226        }
1227      } else {
1228#line 1343 "ClientLib.c"
1229        retValue_acc = -1;
1230#line 1345
1231        return (retValue_acc);
1232      }
1233    }
1234  }
1235#line 1352 "ClientLib.c"
1236  return (retValue_acc);
1237}
1238}
1239#line 208 "ClientLib.c"
1240void setClientAddressBookAlias(int handle , int index , int value ) 
1241{ 
1242
1243  {
1244#line 234
1245  if (handle == 1) {
1246#line 217
1247    if (index == 0) {
1248#line 211
1249      __ste_Client_AddressBook0_Alias0 = value;
1250    } else {
1251#line 212
1252      if (index == 1) {
1253#line 213
1254        __ste_Client_AddressBook0_Alias1 = value;
1255      } else {
1256#line 214
1257        if (index == 2) {
1258#line 215
1259          __ste_Client_AddressBook0_Alias2 = value;
1260        } else {
1261
1262        }
1263      }
1264    }
1265  } else {
1266#line 216
1267    if (handle == 2) {
1268#line 225
1269      if (index == 0) {
1270#line 219
1271        __ste_Client_AddressBook1_Alias0 = value;
1272      } else {
1273#line 220
1274        if (index == 1) {
1275#line 221
1276          __ste_Client_AddressBook1_Alias1 = value;
1277        } else {
1278#line 222
1279          if (index == 2) {
1280#line 223
1281            __ste_Client_AddressBook1_Alias2 = value;
1282          } else {
1283
1284          }
1285        }
1286      }
1287    } else {
1288#line 224
1289      if (handle == 3) {
1290#line 233
1291        if (index == 0) {
1292#line 227
1293          __ste_Client_AddressBook2_Alias0 = value;
1294        } else {
1295#line 228
1296          if (index == 1) {
1297#line 229
1298            __ste_Client_AddressBook2_Alias1 = value;
1299          } else {
1300#line 230
1301            if (index == 2) {
1302#line 231
1303              __ste_Client_AddressBook2_Alias2 = value;
1304            } else {
1305
1306            }
1307          }
1308        }
1309      } else {
1310
1311      }
1312    }
1313  }
1314#line 1420 "ClientLib.c"
1315  return;
1316}
1317}
1318#line 236 "ClientLib.c"
1319int __ste_Client_AddressBook0_Address0  =    0;
1320#line 238 "ClientLib.c"
1321int __ste_Client_AddressBook0_Address1  =    0;
1322#line 240 "ClientLib.c"
1323int __ste_Client_AddressBook0_Address2  =    0;
1324#line 242 "ClientLib.c"
1325int __ste_Client_AddressBook1_Address0  =    0;
1326#line 244 "ClientLib.c"
1327int __ste_Client_AddressBook1_Address1  =    0;
1328#line 246 "ClientLib.c"
1329int __ste_Client_AddressBook1_Address2  =    0;
1330#line 248 "ClientLib.c"
1331int __ste_Client_AddressBook2_Address0  =    0;
1332#line 250 "ClientLib.c"
1333int __ste_Client_AddressBook2_Address1  =    0;
1334#line 252 "ClientLib.c"
1335int __ste_Client_AddressBook2_Address2  =    0;
1336#line 255 "ClientLib.c"
1337int getClientAddressBookAddress(int handle , int index ) 
1338{ int retValue_acc ;
1339
1340  {
1341#line 288
1342  if (handle == 1) {
1343#line 265 "ClientLib.c"
1344    if (index == 0) {
1345#line 1462
1346      retValue_acc = __ste_Client_AddressBook0_Address0;
1347#line 1464
1348      return (retValue_acc);
1349    } else {
1350#line 1466
1351      if (index == 1) {
1352#line 1471
1353        retValue_acc = __ste_Client_AddressBook0_Address1;
1354#line 1473
1355        return (retValue_acc);
1356      } else {
1357#line 1475
1358        if (index == 2) {
1359#line 1480
1360          retValue_acc = __ste_Client_AddressBook0_Address2;
1361#line 1482
1362          return (retValue_acc);
1363        } else {
1364#line 1488
1365          retValue_acc = 0;
1366#line 1490
1367          return (retValue_acc);
1368        }
1369      }
1370    }
1371  } else {
1372#line 1492 "ClientLib.c"
1373    if (handle == 2) {
1374#line 275 "ClientLib.c"
1375      if (index == 0) {
1376#line 1500
1377        retValue_acc = __ste_Client_AddressBook1_Address0;
1378#line 1502
1379        return (retValue_acc);
1380      } else {
1381#line 1504
1382        if (index == 1) {
1383#line 1509
1384          retValue_acc = __ste_Client_AddressBook1_Address1;
1385#line 1511
1386          return (retValue_acc);
1387        } else {
1388#line 1513
1389          if (index == 2) {
1390#line 1518
1391            retValue_acc = __ste_Client_AddressBook1_Address2;
1392#line 1520
1393            return (retValue_acc);
1394          } else {
1395#line 1526
1396            retValue_acc = 0;
1397#line 1528
1398            return (retValue_acc);
1399          }
1400        }
1401      }
1402    } else {
1403#line 1530 "ClientLib.c"
1404      if (handle == 3) {
1405#line 285 "ClientLib.c"
1406        if (index == 0) {
1407#line 1538
1408          retValue_acc = __ste_Client_AddressBook2_Address0;
1409#line 1540
1410          return (retValue_acc);
1411        } else {
1412#line 1542
1413          if (index == 1) {
1414#line 1547
1415            retValue_acc = __ste_Client_AddressBook2_Address1;
1416#line 1549
1417            return (retValue_acc);
1418          } else {
1419#line 1551
1420            if (index == 2) {
1421#line 1556
1422              retValue_acc = __ste_Client_AddressBook2_Address2;
1423#line 1558
1424              return (retValue_acc);
1425            } else {
1426#line 1564
1427              retValue_acc = 0;
1428#line 1566
1429              return (retValue_acc);
1430            }
1431          }
1432        }
1433      } else {
1434#line 1572 "ClientLib.c"
1435        retValue_acc = 0;
1436#line 1574
1437        return (retValue_acc);
1438      }
1439    }
1440  }
1441#line 1581 "ClientLib.c"
1442  return (retValue_acc);
1443}
1444}
1445#line 291 "ClientLib.c"
1446void setClientAddressBookAddress(int handle , int index , int value ) 
1447{ 
1448
1449  {
1450#line 317
1451  if (handle == 1) {
1452#line 300
1453    if (index == 0) {
1454#line 294
1455      __ste_Client_AddressBook0_Address0 = value;
1456    } else {
1457#line 295
1458      if (index == 1) {
1459#line 296
1460        __ste_Client_AddressBook0_Address1 = value;
1461      } else {
1462#line 297
1463        if (index == 2) {
1464#line 298
1465          __ste_Client_AddressBook0_Address2 = value;
1466        } else {
1467
1468        }
1469      }
1470    }
1471  } else {
1472#line 299
1473    if (handle == 2) {
1474#line 308
1475      if (index == 0) {
1476#line 302
1477        __ste_Client_AddressBook1_Address0 = value;
1478      } else {
1479#line 303
1480        if (index == 1) {
1481#line 304
1482          __ste_Client_AddressBook1_Address1 = value;
1483        } else {
1484#line 305
1485          if (index == 2) {
1486#line 306
1487            __ste_Client_AddressBook1_Address2 = value;
1488          } else {
1489
1490          }
1491        }
1492      }
1493    } else {
1494#line 307
1495      if (handle == 3) {
1496#line 316
1497        if (index == 0) {
1498#line 310
1499          __ste_Client_AddressBook2_Address0 = value;
1500        } else {
1501#line 311
1502          if (index == 1) {
1503#line 312
1504            __ste_Client_AddressBook2_Address1 = value;
1505          } else {
1506#line 313
1507            if (index == 2) {
1508#line 314
1509              __ste_Client_AddressBook2_Address2 = value;
1510            } else {
1511
1512            }
1513          }
1514        }
1515      } else {
1516
1517      }
1518    }
1519  }
1520#line 1649 "ClientLib.c"
1521  return;
1522}
1523}
1524#line 319 "ClientLib.c"
1525int __ste_client_autoResponse0  =    0;
1526#line 321 "ClientLib.c"
1527int __ste_client_autoResponse1  =    0;
1528#line 323 "ClientLib.c"
1529int __ste_client_autoResponse2  =    0;
1530#line 326 "ClientLib.c"
1531int getClientAutoResponse(int handle ) 
1532{ int retValue_acc ;
1533
1534  {
1535#line 335 "ClientLib.c"
1536  if (handle == 1) {
1537#line 1676
1538    retValue_acc = __ste_client_autoResponse0;
1539#line 1678
1540    return (retValue_acc);
1541  } else {
1542#line 1680
1543    if (handle == 2) {
1544#line 1685
1545      retValue_acc = __ste_client_autoResponse1;
1546#line 1687
1547      return (retValue_acc);
1548    } else {
1549#line 1689
1550      if (handle == 3) {
1551#line 1694
1552        retValue_acc = __ste_client_autoResponse2;
1553#line 1696
1554        return (retValue_acc);
1555      } else {
1556#line 1702 "ClientLib.c"
1557        retValue_acc = -1;
1558#line 1704
1559        return (retValue_acc);
1560      }
1561    }
1562  }
1563#line 1711 "ClientLib.c"
1564  return (retValue_acc);
1565}
1566}
1567#line 338 "ClientLib.c"
1568void setClientAutoResponse(int handle , int value ) 
1569{ 
1570
1571  {
1572#line 346
1573  if (handle == 1) {
1574#line 340
1575    __ste_client_autoResponse0 = value;
1576  } else {
1577#line 341
1578    if (handle == 2) {
1579#line 342
1580      __ste_client_autoResponse1 = value;
1581    } else {
1582#line 343
1583      if (handle == 3) {
1584#line 344
1585        __ste_client_autoResponse2 = value;
1586      } else {
1587
1588      }
1589    }
1590  }
1591#line 1746 "ClientLib.c"
1592  return;
1593}
1594}
1595#line 348 "ClientLib.c"
1596int __ste_client_privateKey0  =    0;
1597#line 350 "ClientLib.c"
1598int __ste_client_privateKey1  =    0;
1599#line 352 "ClientLib.c"
1600int __ste_client_privateKey2  =    0;
1601#line 355 "ClientLib.c"
1602int getClientPrivateKey(int handle ) 
1603{ int retValue_acc ;
1604
1605  {
1606#line 364 "ClientLib.c"
1607  if (handle == 1) {
1608#line 1773
1609    retValue_acc = __ste_client_privateKey0;
1610#line 1775
1611    return (retValue_acc);
1612  } else {
1613#line 1777
1614    if (handle == 2) {
1615#line 1782
1616      retValue_acc = __ste_client_privateKey1;
1617#line 1784
1618      return (retValue_acc);
1619    } else {
1620#line 1786
1621      if (handle == 3) {
1622#line 1791
1623        retValue_acc = __ste_client_privateKey2;
1624#line 1793
1625        return (retValue_acc);
1626      } else {
1627#line 1799 "ClientLib.c"
1628        retValue_acc = 0;
1629#line 1801
1630        return (retValue_acc);
1631      }
1632    }
1633  }
1634#line 1808 "ClientLib.c"
1635  return (retValue_acc);
1636}
1637}
1638#line 367 "ClientLib.c"
1639void setClientPrivateKey(int handle , int value ) 
1640{ 
1641
1642  {
1643#line 375
1644  if (handle == 1) {
1645#line 369
1646    __ste_client_privateKey0 = value;
1647  } else {
1648#line 370
1649    if (handle == 2) {
1650#line 371
1651      __ste_client_privateKey1 = value;
1652    } else {
1653#line 372
1654      if (handle == 3) {
1655#line 373
1656        __ste_client_privateKey2 = value;
1657      } else {
1658
1659      }
1660    }
1661  }
1662#line 1843 "ClientLib.c"
1663  return;
1664}
1665}
1666#line 377 "ClientLib.c"
1667int __ste_ClientKeyring_size0  =    0;
1668#line 379 "ClientLib.c"
1669int __ste_ClientKeyring_size1  =    0;
1670#line 381 "ClientLib.c"
1671int __ste_ClientKeyring_size2  =    0;
1672#line 384 "ClientLib.c"
1673int getClientKeyringSize(int handle ) 
1674{ int retValue_acc ;
1675
1676  {
1677#line 393 "ClientLib.c"
1678  if (handle == 1) {
1679#line 1870
1680    retValue_acc = __ste_ClientKeyring_size0;
1681#line 1872
1682    return (retValue_acc);
1683  } else {
1684#line 1874
1685    if (handle == 2) {
1686#line 1879
1687      retValue_acc = __ste_ClientKeyring_size1;
1688#line 1881
1689      return (retValue_acc);
1690    } else {
1691#line 1883
1692      if (handle == 3) {
1693#line 1888
1694        retValue_acc = __ste_ClientKeyring_size2;
1695#line 1890
1696        return (retValue_acc);
1697      } else {
1698#line 1896 "ClientLib.c"
1699        retValue_acc = 0;
1700#line 1898
1701        return (retValue_acc);
1702      }
1703    }
1704  }
1705#line 1905 "ClientLib.c"
1706  return (retValue_acc);
1707}
1708}
1709#line 396 "ClientLib.c"
1710void setClientKeyringSize(int handle , int value ) 
1711{ 
1712
1713  {
1714#line 404
1715  if (handle == 1) {
1716#line 398
1717    __ste_ClientKeyring_size0 = value;
1718  } else {
1719#line 399
1720    if (handle == 2) {
1721#line 400
1722      __ste_ClientKeyring_size1 = value;
1723    } else {
1724#line 401
1725      if (handle == 3) {
1726#line 402
1727        __ste_ClientKeyring_size2 = value;
1728      } else {
1729
1730      }
1731    }
1732  }
1733#line 1940 "ClientLib.c"
1734  return;
1735}
1736}
1737#line 406 "ClientLib.c"
1738int createClientKeyringEntry(int handle ) 
1739{ int retValue_acc ;
1740  int size ;
1741  int tmp ;
1742  int __cil_tmp5 ;
1743
1744  {
1745  {
1746#line 407
1747  tmp = getClientKeyringSize(handle);
1748#line 407
1749  size = tmp;
1750  }
1751#line 408 "ClientLib.c"
1752  if (size < 2) {
1753    {
1754#line 409 "ClientLib.c"
1755    __cil_tmp5 = size + 1;
1756#line 409
1757    setClientKeyringSize(handle, __cil_tmp5);
1758#line 1967 "ClientLib.c"
1759    retValue_acc = size + 1;
1760    }
1761#line 1969
1762    return (retValue_acc);
1763  } else {
1764#line 1973 "ClientLib.c"
1765    retValue_acc = -1;
1766#line 1975
1767    return (retValue_acc);
1768  }
1769#line 1982 "ClientLib.c"
1770  return (retValue_acc);
1771}
1772}
1773#line 414 "ClientLib.c"
1774int __ste_Client_Keyring0_User0  =    0;
1775#line 416 "ClientLib.c"
1776int __ste_Client_Keyring0_User1  =    0;
1777#line 418 "ClientLib.c"
1778int __ste_Client_Keyring0_User2  =    0;
1779#line 420 "ClientLib.c"
1780int __ste_Client_Keyring1_User0  =    0;
1781#line 422 "ClientLib.c"
1782int __ste_Client_Keyring1_User1  =    0;
1783#line 424 "ClientLib.c"
1784int __ste_Client_Keyring1_User2  =    0;
1785#line 426 "ClientLib.c"
1786int __ste_Client_Keyring2_User0  =    0;
1787#line 428 "ClientLib.c"
1788int __ste_Client_Keyring2_User1  =    0;
1789#line 430 "ClientLib.c"
1790int __ste_Client_Keyring2_User2  =    0;
1791#line 433 "ClientLib.c"
1792int getClientKeyringUser(int handle , int index ) 
1793{ int retValue_acc ;
1794
1795  {
1796#line 466
1797  if (handle == 1) {
1798#line 443 "ClientLib.c"
1799    if (index == 0) {
1800#line 2028
1801      retValue_acc = __ste_Client_Keyring0_User0;
1802#line 2030
1803      return (retValue_acc);
1804    } else {
1805#line 2032
1806      if (index == 1) {
1807#line 2037
1808        retValue_acc = __ste_Client_Keyring0_User1;
1809#line 2039
1810        return (retValue_acc);
1811      } else {
1812#line 2045
1813        retValue_acc = 0;
1814#line 2047
1815        return (retValue_acc);
1816      }
1817    }
1818  } else {
1819#line 2049 "ClientLib.c"
1820    if (handle == 2) {
1821#line 453 "ClientLib.c"
1822      if (index == 0) {
1823#line 2057
1824        retValue_acc = __ste_Client_Keyring1_User0;
1825#line 2059
1826        return (retValue_acc);
1827      } else {
1828#line 2061
1829        if (index == 1) {
1830#line 2066
1831          retValue_acc = __ste_Client_Keyring1_User1;
1832#line 2068
1833          return (retValue_acc);
1834        } else {
1835#line 2074
1836          retValue_acc = 0;
1837#line 2076
1838          return (retValue_acc);
1839        }
1840      }
1841    } else {
1842#line 2078 "ClientLib.c"
1843      if (handle == 3) {
1844#line 463 "ClientLib.c"
1845        if (index == 0) {
1846#line 2086
1847          retValue_acc = __ste_Client_Keyring2_User0;
1848#line 2088
1849          return (retValue_acc);
1850        } else {
1851#line 2090
1852          if (index == 1) {
1853#line 2095
1854            retValue_acc = __ste_Client_Keyring2_User1;
1855#line 2097
1856            return (retValue_acc);
1857          } else {
1858#line 2103
1859            retValue_acc = 0;
1860#line 2105
1861            return (retValue_acc);
1862          }
1863        }
1864      } else {
1865#line 2111 "ClientLib.c"
1866        retValue_acc = 0;
1867#line 2113
1868        return (retValue_acc);
1869      }
1870    }
1871  }
1872#line 2120 "ClientLib.c"
1873  return (retValue_acc);
1874}
1875}
1876#line 473 "ClientLib.c"
1877void setClientKeyringUser(int handle , int index , int value ) 
1878{ 
1879
1880  {
1881#line 499
1882  if (handle == 1) {
1883#line 482
1884    if (index == 0) {
1885#line 476
1886      __ste_Client_Keyring0_User0 = value;
1887    } else {
1888#line 477
1889      if (index == 1) {
1890#line 478
1891        __ste_Client_Keyring0_User1 = value;
1892      } else {
1893
1894      }
1895    }
1896  } else {
1897#line 479
1898    if (handle == 2) {
1899#line 490
1900      if (index == 0) {
1901#line 484
1902        __ste_Client_Keyring1_User0 = value;
1903      } else {
1904#line 485
1905        if (index == 1) {
1906#line 486
1907          __ste_Client_Keyring1_User1 = value;
1908        } else {
1909
1910        }
1911      }
1912    } else {
1913#line 487
1914      if (handle == 3) {
1915#line 498
1916        if (index == 0) {
1917#line 492
1918          __ste_Client_Keyring2_User0 = value;
1919        } else {
1920#line 493
1921          if (index == 1) {
1922#line 494
1923            __ste_Client_Keyring2_User1 = value;
1924          } else {
1925
1926          }
1927        }
1928      } else {
1929
1930      }
1931    }
1932  }
1933#line 2176 "ClientLib.c"
1934  return;
1935}
1936}
1937#line 501 "ClientLib.c"
1938int __ste_Client_Keyring0_PublicKey0  =    0;
1939#line 503 "ClientLib.c"
1940int __ste_Client_Keyring0_PublicKey1  =    0;
1941#line 505 "ClientLib.c"
1942int __ste_Client_Keyring0_PublicKey2  =    0;
1943#line 507 "ClientLib.c"
1944int __ste_Client_Keyring1_PublicKey0  =    0;
1945#line 509 "ClientLib.c"
1946int __ste_Client_Keyring1_PublicKey1  =    0;
1947#line 511 "ClientLib.c"
1948int __ste_Client_Keyring1_PublicKey2  =    0;
1949#line 513 "ClientLib.c"
1950int __ste_Client_Keyring2_PublicKey0  =    0;
1951#line 515 "ClientLib.c"
1952int __ste_Client_Keyring2_PublicKey1  =    0;
1953#line 517 "ClientLib.c"
1954int __ste_Client_Keyring2_PublicKey2  =    0;
1955#line 520 "ClientLib.c"
1956int getClientKeyringPublicKey(int handle , int index ) 
1957{ int retValue_acc ;
1958
1959  {
1960#line 553
1961  if (handle == 1) {
1962#line 530 "ClientLib.c"
1963    if (index == 0) {
1964#line 2218
1965      retValue_acc = __ste_Client_Keyring0_PublicKey0;
1966#line 2220
1967      return (retValue_acc);
1968    } else {
1969#line 2222
1970      if (index == 1) {
1971#line 2227
1972        retValue_acc = __ste_Client_Keyring0_PublicKey1;
1973#line 2229
1974        return (retValue_acc);
1975      } else {
1976#line 2235
1977        retValue_acc = 0;
1978#line 2237
1979        return (retValue_acc);
1980      }
1981    }
1982  } else {
1983#line 2239 "ClientLib.c"
1984    if (handle == 2) {
1985#line 540 "ClientLib.c"
1986      if (index == 0) {
1987#line 2247
1988        retValue_acc = __ste_Client_Keyring1_PublicKey0;
1989#line 2249
1990        return (retValue_acc);
1991      } else {
1992#line 2251
1993        if (index == 1) {
1994#line 2256
1995          retValue_acc = __ste_Client_Keyring1_PublicKey1;
1996#line 2258
1997          return (retValue_acc);
1998        } else {
1999#line 2264
2000          retValue_acc = 0;
2001#line 2266
2002          return (retValue_acc);
2003        }
2004      }
2005    } else {
2006#line 2268 "ClientLib.c"
2007      if (handle == 3) {
2008#line 550 "ClientLib.c"
2009        if (index == 0) {
2010#line 2276
2011          retValue_acc = __ste_Client_Keyring2_PublicKey0;
2012#line 2278
2013          return (retValue_acc);
2014        } else {
2015#line 2280
2016          if (index == 1) {
2017#line 2285
2018            retValue_acc = __ste_Client_Keyring2_PublicKey1;
2019#line 2287
2020            return (retValue_acc);
2021          } else {
2022#line 2293
2023            retValue_acc = 0;
2024#line 2295
2025            return (retValue_acc);
2026          }
2027        }
2028      } else {
2029#line 2301 "ClientLib.c"
2030        retValue_acc = 0;
2031#line 2303
2032        return (retValue_acc);
2033      }
2034    }
2035  }
2036#line 2310 "ClientLib.c"
2037  return (retValue_acc);
2038}
2039}
2040#line 557 "ClientLib.c"
2041int findPublicKey(int handle , int userid ) 
2042{ int retValue_acc ;
2043
2044  {
2045#line 591
2046  if (handle == 1) {
2047#line 568 "ClientLib.c"
2048    if (userid == __ste_Client_Keyring0_User0) {
2049#line 2338
2050      retValue_acc = __ste_Client_Keyring0_PublicKey0;
2051#line 2340
2052      return (retValue_acc);
2053    } else {
2054#line 2342
2055      if (userid == __ste_Client_Keyring0_User1) {
2056#line 2347
2057        retValue_acc = __ste_Client_Keyring0_PublicKey1;
2058#line 2349
2059        return (retValue_acc);
2060      } else {
2061#line 2355
2062        retValue_acc = 0;
2063#line 2357
2064        return (retValue_acc);
2065      }
2066    }
2067  } else {
2068#line 2359 "ClientLib.c"
2069    if (handle == 2) {
2070#line 578 "ClientLib.c"
2071      if (userid == __ste_Client_Keyring1_User0) {
2072#line 2367
2073        retValue_acc = __ste_Client_Keyring1_PublicKey0;
2074#line 2369
2075        return (retValue_acc);
2076      } else {
2077#line 2371
2078        if (userid == __ste_Client_Keyring1_User1) {
2079#line 2376
2080          retValue_acc = __ste_Client_Keyring1_PublicKey1;
2081#line 2378
2082          return (retValue_acc);
2083        } else {
2084#line 2384
2085          retValue_acc = 0;
2086#line 2386
2087          return (retValue_acc);
2088        }
2089      }
2090    } else {
2091#line 2388 "ClientLib.c"
2092      if (handle == 3) {
2093#line 588 "ClientLib.c"
2094        if (userid == __ste_Client_Keyring2_User0) {
2095#line 2396
2096          retValue_acc = __ste_Client_Keyring2_PublicKey0;
2097#line 2398
2098          return (retValue_acc);
2099        } else {
2100#line 2400
2101          if (userid == __ste_Client_Keyring2_User1) {
2102#line 2405
2103            retValue_acc = __ste_Client_Keyring2_PublicKey1;
2104#line 2407
2105            return (retValue_acc);
2106          } else {
2107#line 2413
2108            retValue_acc = 0;
2109#line 2415
2110            return (retValue_acc);
2111          }
2112        }
2113      } else {
2114#line 2421 "ClientLib.c"
2115        retValue_acc = 0;
2116#line 2423
2117        return (retValue_acc);
2118      }
2119    }
2120  }
2121#line 2430 "ClientLib.c"
2122  return (retValue_acc);
2123}
2124}
2125#line 595 "ClientLib.c"
2126void setClientKeyringPublicKey(int handle , int index , int value ) 
2127{ 
2128
2129  {
2130#line 621
2131  if (handle == 1) {
2132#line 604
2133    if (index == 0) {
2134#line 598
2135      __ste_Client_Keyring0_PublicKey0 = value;
2136    } else {
2137#line 599
2138      if (index == 1) {
2139#line 600
2140        __ste_Client_Keyring0_PublicKey1 = value;
2141      } else {
2142
2143      }
2144    }
2145  } else {
2146#line 601
2147    if (handle == 2) {
2148#line 612
2149      if (index == 0) {
2150#line 606
2151        __ste_Client_Keyring1_PublicKey0 = value;
2152      } else {
2153#line 607
2154        if (index == 1) {
2155#line 608
2156          __ste_Client_Keyring1_PublicKey1 = value;
2157        } else {
2158
2159        }
2160      }
2161    } else {
2162#line 609
2163      if (handle == 3) {
2164#line 620
2165        if (index == 0) {
2166#line 614
2167          __ste_Client_Keyring2_PublicKey0 = value;
2168        } else {
2169#line 615
2170          if (index == 1) {
2171#line 616
2172            __ste_Client_Keyring2_PublicKey1 = value;
2173          } else {
2174
2175          }
2176        }
2177      } else {
2178
2179      }
2180    }
2181  }
2182#line 2486 "ClientLib.c"
2183  return;
2184}
2185}
2186#line 623 "ClientLib.c"
2187int __ste_client_forwardReceiver0  =    0;
2188#line 625 "ClientLib.c"
2189int __ste_client_forwardReceiver1  =    0;
2190#line 627 "ClientLib.c"
2191int __ste_client_forwardReceiver2  =    0;
2192#line 629 "ClientLib.c"
2193int __ste_client_forwardReceiver3  =    0;
2194#line 631 "ClientLib.c"
2195int getClientForwardReceiver(int handle ) 
2196{ int retValue_acc ;
2197
2198  {
2199#line 640 "ClientLib.c"
2200  if (handle == 1) {
2201#line 2515
2202    retValue_acc = __ste_client_forwardReceiver0;
2203#line 2517
2204    return (retValue_acc);
2205  } else {
2206#line 2519
2207    if (handle == 2) {
2208#line 2524
2209      retValue_acc = __ste_client_forwardReceiver1;
2210#line 2526
2211      return (retValue_acc);
2212    } else {
2213#line 2528
2214      if (handle == 3) {
2215#line 2533
2216        retValue_acc = __ste_client_forwardReceiver2;
2217#line 2535
2218        return (retValue_acc);
2219      } else {
2220#line 2541 "ClientLib.c"
2221        retValue_acc = 0;
2222#line 2543
2223        return (retValue_acc);
2224      }
2225    }
2226  }
2227#line 2550 "ClientLib.c"
2228  return (retValue_acc);
2229}
2230}
2231#line 643 "ClientLib.c"
2232void setClientForwardReceiver(int handle , int value ) 
2233{ 
2234
2235  {
2236#line 651
2237  if (handle == 1) {
2238#line 645
2239    __ste_client_forwardReceiver0 = value;
2240  } else {
2241#line 646
2242    if (handle == 2) {
2243#line 647
2244      __ste_client_forwardReceiver1 = value;
2245    } else {
2246#line 648
2247      if (handle == 3) {
2248#line 649
2249        __ste_client_forwardReceiver2 = value;
2250      } else {
2251
2252      }
2253    }
2254  }
2255#line 2585 "ClientLib.c"
2256  return;
2257}
2258}
2259#line 653 "ClientLib.c"
2260int __ste_client_idCounter0  =    0;
2261#line 655 "ClientLib.c"
2262int __ste_client_idCounter1  =    0;
2263#line 657 "ClientLib.c"
2264int __ste_client_idCounter2  =    0;
2265#line 660 "ClientLib.c"
2266int getClientId(int handle ) 
2267{ int retValue_acc ;
2268
2269  {
2270#line 669 "ClientLib.c"
2271  if (handle == 1) {
2272#line 2612
2273    retValue_acc = __ste_client_idCounter0;
2274#line 2614
2275    return (retValue_acc);
2276  } else {
2277#line 2616
2278    if (handle == 2) {
2279#line 2621
2280      retValue_acc = __ste_client_idCounter1;
2281#line 2623
2282      return (retValue_acc);
2283    } else {
2284#line 2625
2285      if (handle == 3) {
2286#line 2630
2287        retValue_acc = __ste_client_idCounter2;
2288#line 2632
2289        return (retValue_acc);
2290      } else {
2291#line 2638 "ClientLib.c"
2292        retValue_acc = 0;
2293#line 2640
2294        return (retValue_acc);
2295      }
2296    }
2297  }
2298#line 2647 "ClientLib.c"
2299  return (retValue_acc);
2300}
2301}
2302#line 672 "ClientLib.c"
2303void setClientId(int handle , int value ) 
2304{ 
2305
2306  {
2307#line 680
2308  if (handle == 1) {
2309#line 674
2310    __ste_client_idCounter0 = value;
2311  } else {
2312#line 675
2313    if (handle == 2) {
2314#line 676
2315      __ste_client_idCounter1 = value;
2316    } else {
2317#line 677
2318      if (handle == 3) {
2319#line 678
2320        __ste_client_idCounter2 = value;
2321      } else {
2322
2323      }
2324    }
2325  }
2326#line 2682 "ClientLib.c"
2327  return;
2328}
2329}
2330#line 1 "Test.o"
2331#pragma merger(0,"Test.i","")
2332#line 359 "/usr/include/stdio.h"
2333extern int printf(char const   * __restrict  __format  , ...) ;
2334#line 688
2335extern int puts(char const   *__s ) ;
2336#line 8 "featureselect.h"
2337int __SELECTED_FEATURE_Base  ;
2338#line 11 "featureselect.h"
2339int __SELECTED_FEATURE_Keys  ;
2340#line 14 "featureselect.h"
2341int __SELECTED_FEATURE_Encrypt  ;
2342#line 17 "featureselect.h"
2343int __SELECTED_FEATURE_AutoResponder  ;
2344#line 20 "featureselect.h"
2345int __SELECTED_FEATURE_AddressBook  ;
2346#line 23 "featureselect.h"
2347int __SELECTED_FEATURE_Sign  ;
2348#line 26 "featureselect.h"
2349int __SELECTED_FEATURE_Forward  ;
2350#line 29 "featureselect.h"
2351int __SELECTED_FEATURE_Verify  ;
2352#line 32 "featureselect.h"
2353int __SELECTED_FEATURE_Decrypt  ;
2354#line 35 "featureselect.h"
2355int __GUIDSL_ROOT_PRODUCTION  ;
2356#line 37 "featureselect.h"
2357int __GUIDSL_NON_TERMINAL_main  ;
2358#line 43
2359void select_features(void) ;
2360#line 45
2361void select_helpers(void) ;
2362#line 47
2363int valid_product(void) ;
2364#line 17 "Client.h"
2365int is_queue_empty(void) ;
2366#line 19
2367int get_queued_client(void) ;
2368#line 21
2369int get_queued_email(void) ;
2370#line 26
2371void outgoing(int client , int msg ) ;
2372#line 35
2373void sendEmail(int sender , int receiver ) ;
2374#line 2 "Test.h"
2375int bob  ;
2376#line 5 "Test.h"
2377int rjh  ;
2378#line 8 "Test.h"
2379int chuck  ;
2380#line 11
2381void setup_bob(int bob___0 ) ;
2382#line 14
2383void setup_rjh(int rjh___0 ) ;
2384#line 17
2385void setup_chuck(int chuck___0 ) ;
2386#line 23
2387void bobToRjh(void) ;
2388#line 26
2389void rjhToBob(void) ;
2390#line 29
2391void test(void) ;
2392#line 32
2393void setup(void) ;
2394#line 35
2395int main(void) ;
2396#line 36
2397void rjhSetAutoRespond(void) ;
2398#line 38
2399void bobSetAddressBook(void) ;
2400#line 18 "Test.c"
2401void setup_bob(int bob___0 ) 
2402{ 
2403
2404  {
2405  {
2406#line 19
2407  setClientId(bob___0, bob___0);
2408  }
2409#line 1308 "Test.c"
2410  return;
2411}
2412}
2413#line 26 "Test.c"
2414void setup_rjh(int rjh___0 ) 
2415{ 
2416
2417  {
2418  {
2419#line 27
2420  setClientId(rjh___0, rjh___0);
2421  }
2422#line 1328 "Test.c"
2423  return;
2424}
2425}
2426#line 33 "Test.c"
2427void setup_chuck(int chuck___0 ) 
2428{ 
2429
2430  {
2431  {
2432#line 34
2433  setClientId(chuck___0, chuck___0);
2434  }
2435#line 1348 "Test.c"
2436  return;
2437}
2438}
2439#line 44 "Test.c"
2440void bobToRjh(void) 
2441{ int tmp ;
2442  int tmp___0 ;
2443  int tmp___1 ;
2444
2445  {
2446  {
2447#line 46
2448  puts("Please enter a subject and a message body.\n");
2449#line 47
2450  sendEmail(bob, rjh);
2451#line 48
2452  tmp___1 = is_queue_empty();
2453  }
2454#line 48
2455  if (tmp___1) {
2456
2457  } else {
2458    {
2459#line 49
2460    tmp = get_queued_email();
2461#line 49
2462    tmp___0 = get_queued_client();
2463#line 49
2464    outgoing(tmp___0, tmp);
2465    }
2466  }
2467#line 1375 "Test.c"
2468  return;
2469}
2470}
2471#line 56 "Test.c"
2472void rjhToBob(void) 
2473{ 
2474
2475  {
2476  {
2477#line 58
2478  puts("Please enter a subject and a message body.\n");
2479#line 59
2480  sendEmail(rjh, bob);
2481  }
2482#line 1397 "Test.c"
2483  return;
2484}
2485}
2486#line 63 "Test.c"
2487#line 70 "Test.c"
2488void setup(void) 
2489{ char const   * __restrict  __cil_tmp1 ;
2490  char const   * __restrict  __cil_tmp2 ;
2491  char const   * __restrict  __cil_tmp3 ;
2492
2493  {
2494  {
2495#line 71
2496  bob = 1;
2497#line 72
2498  setup_bob(bob);
2499#line 73
2500  __cil_tmp1 = (char const   * __restrict  )"bob: %d\n";
2501#line 73
2502  printf(__cil_tmp1, bob);
2503#line 75
2504  rjh = 2;
2505#line 76
2506  setup_rjh(rjh);
2507#line 77
2508  __cil_tmp2 = (char const   * __restrict  )"rjh: %d\n";
2509#line 77
2510  printf(__cil_tmp2, rjh);
2511#line 79
2512  chuck = 3;
2513#line 80
2514  setup_chuck(chuck);
2515#line 81
2516  __cil_tmp3 = (char const   * __restrict  )"chuck: %d\n";
2517#line 81
2518  printf(__cil_tmp3, chuck);
2519  }
2520#line 1468 "Test.c"
2521  return;
2522}
2523}
2524#line 87 "Test.c"
2525int main(void) 
2526{ int retValue_acc ;
2527  int tmp ;
2528
2529  {
2530  {
2531#line 88
2532  select_helpers();
2533#line 89
2534  select_features();
2535#line 90
2536  tmp = valid_product();
2537  }
2538#line 90
2539  if (tmp) {
2540    {
2541#line 91
2542    setup();
2543#line 92
2544    test();
2545    }
2546  } else {
2547
2548  }
2549#line 1499 "Test.c"
2550  return (retValue_acc);
2551}
2552}
2553#line 100 "Test.c"
2554void rjhSetAutoRespond(void) 
2555{ 
2556
2557  {
2558  {
2559#line 101
2560  setClientAutoResponse(rjh, 1);
2561  }
2562#line 1523 "Test.c"
2563  return;
2564}
2565}
2566#line 106 "Test.c"
2567void bobSetAddressBook(void) 
2568{ 
2569
2570  {
2571  {
2572#line 107
2573  setClientAddressBookSize(bob, 1);
2574#line 108
2575  setClientAddressBookAlias(bob, 0, rjh);
2576#line 109
2577  setClientAddressBookAddress(bob, 0, rjh);
2578#line 110
2579  setClientAddressBookAddress(bob, 1, chuck);
2580  }
2581#line 1549 "Test.c"
2582  return;
2583}
2584}
2585#line 1 "Client.o"
2586#pragma merger(0,"Client.i","")
2587#line 12 "Email.h"
2588int createEmail(int from , int to ) ;
2589#line 14 "Client.h"
2590void queue(int client , int msg ) ;
2591#line 24
2592void mail(int client , int msg ) ;
2593#line 28
2594void deliver(int client , int msg ) ;
2595#line 30
2596void incoming(int client , int msg ) ;
2597#line 32
2598int createClient(char *name ) ;
2599#line 36
2600void autoRespond(int client , int msg ) ;
2601#line 37
2602void sendToAddressBook(int client , int msg ) ;
2603#line 6 "Client.c"
2604int queue_empty  =    1;
2605#line 9 "Client.c"
2606int queued_message  ;
2607#line 12 "Client.c"
2608int queued_client  ;
2609#line 18 "Client.c"
2610void mail(int client , int msg ) 
2611{ int tmp ;
2612
2613  {
2614  {
2615#line 19
2616  puts("mail sent");
2617#line 20
2618  tmp = getEmailTo(msg);
2619#line 20
2620  incoming(tmp, msg);
2621  }
2622#line 729 "Client.c"
2623  return;
2624}
2625}
2626#line 27 "Client.c"
2627void outgoing__wrappee__AutoResponder(int client , int msg ) 
2628{ int tmp ;
2629
2630  {
2631  {
2632#line 28
2633  tmp = getClientId(client);
2634#line 28
2635  setEmailFrom(msg, tmp);
2636#line 29
2637  mail(client, msg);
2638  }
2639#line 751 "Client.c"
2640  return;
2641}
2642}
2643#line 36 "Client.c"
2644void outgoing(int client , int msg ) 
2645{ int size ;
2646  int tmp ;
2647  int receiver ;
2648  int tmp___0 ;
2649  int second ;
2650  int tmp___1 ;
2651  int tmp___2 ;
2652
2653  {
2654  {
2655#line 38
2656  tmp = getClientAddressBookSize(client);
2657#line 38
2658  size = tmp;
2659  }
2660#line 40
2661  if (size) {
2662    {
2663#line 41
2664    sendToAddressBook(client, msg);
2665#line 42
2666    puts("sending to alias in address book\n");
2667#line 43
2668    tmp___0 = getEmailTo(msg);
2669#line 43
2670    receiver = tmp___0;
2671#line 45
2672    puts("sending to second receipient\n");
2673#line 46
2674    tmp___1 = getClientAddressBookAddress(client, 1);
2675#line 46
2676    second = tmp___1;
2677#line 47
2678    setEmailTo(msg, second);
2679#line 48
2680    outgoing__wrappee__AutoResponder(client, msg);
2681#line 51
2682    tmp___2 = getClientAddressBookAddress(client, 0);
2683#line 51
2684    setEmailTo(msg, tmp___2);
2685#line 52
2686    outgoing__wrappee__AutoResponder(client, msg);
2687    }
2688  } else {
2689    {
2690#line 54
2691    outgoing__wrappee__AutoResponder(client, msg);
2692    }
2693  }
2694#line 801 "Client.c"
2695  return;
2696}
2697}
2698#line 63 "Client.c"
2699void deliver(int client , int msg ) 
2700{ 
2701
2702  {
2703  {
2704#line 64
2705  puts("mail delivered\n");
2706  }
2707#line 821 "Client.c"
2708  return;
2709}
2710}
2711#line 71 "Client.c"
2712void incoming__wrappee__Base(int client , int msg ) 
2713{ 
2714
2715  {
2716  {
2717#line 72
2718  deliver(client, msg);
2719  }
2720#line 841 "Client.c"
2721  return;
2722}
2723}
2724#line 78 "Client.c"
2725void incoming(int client , int msg ) 
2726{ int tmp ;
2727
2728  {
2729  {
2730#line 79
2731  incoming__wrappee__Base(client, msg);
2732#line 80
2733  tmp = getClientAutoResponse(client);
2734  }
2735#line 80
2736  if (tmp) {
2737    {
2738#line 81
2739    autoRespond(client, msg);
2740    }
2741  } else {
2742
2743  }
2744#line 866 "Client.c"
2745  return;
2746}
2747}
2748#line 86 "Client.c"
2749int createClient(char *name ) 
2750{ int retValue_acc ;
2751  int client ;
2752  int tmp ;
2753
2754  {
2755  {
2756#line 87
2757  tmp = initClient();
2758#line 87
2759  client = tmp;
2760#line 888 "Client.c"
2761  retValue_acc = client;
2762  }
2763#line 890
2764  return (retValue_acc);
2765#line 897
2766  return (retValue_acc);
2767}
2768}
2769#line 94 "Client.c"
2770void sendEmail(int sender , int receiver ) 
2771{ int email ;
2772  int tmp ;
2773
2774  {
2775  {
2776#line 95
2777  tmp = createEmail(0, receiver);
2778#line 95
2779  email = tmp;
2780#line 96
2781  outgoing(sender, email);
2782  }
2783#line 925 "Client.c"
2784  return;
2785}
2786}
2787#line 104 "Client.c"
2788void queue(int client , int msg ) 
2789{ 
2790
2791  {
2792#line 105
2793  queue_empty = 0;
2794#line 106
2795  queued_message = msg;
2796#line 107
2797  queued_client = client;
2798#line 949 "Client.c"
2799  return;
2800}
2801}
2802#line 113 "Client.c"
2803int is_queue_empty(void) 
2804{ int retValue_acc ;
2805
2806  {
2807#line 967 "Client.c"
2808  retValue_acc = queue_empty;
2809#line 969
2810  return (retValue_acc);
2811#line 976
2812  return (retValue_acc);
2813}
2814}
2815#line 120 "Client.c"
2816int get_queued_client(void) 
2817{ int retValue_acc ;
2818
2819  {
2820#line 998 "Client.c"
2821  retValue_acc = queued_client;
2822#line 1000
2823  return (retValue_acc);
2824#line 1007
2825  return (retValue_acc);
2826}
2827}
2828#line 127 "Client.c"
2829int get_queued_email(void) 
2830{ int retValue_acc ;
2831
2832  {
2833#line 1029 "Client.c"
2834  retValue_acc = queued_message;
2835#line 1031
2836  return (retValue_acc);
2837#line 1038
2838  return (retValue_acc);
2839}
2840}
2841#line 582 "/usr/include/string.h"
2842void __utac_acc__DecryptAutoResponder_spec__1(int client , int msg ) ;
2843#line 134 "Client.c"
2844void autoRespond(int client , int msg ) 
2845{ int __utac__ad__arg1 ;
2846  int __utac__ad__arg2 ;
2847  int sender ;
2848  int tmp ;
2849
2850  {
2851  {
2852#line 1169 "Client.c"
2853  __utac__ad__arg1 = client;
2854#line 1170
2855  __utac__ad__arg2 = msg;
2856#line 1171
2857  __utac_acc__DecryptAutoResponder_spec__1(__utac__ad__arg1, __utac__ad__arg2);
2858#line 135 "Client.c"
2859  puts("sending autoresponse\n");
2860#line 136
2861  tmp = getEmailFrom(msg);
2862#line 136
2863  sender = tmp;
2864#line 137
2865  setEmailTo(msg, sender);
2866#line 138
2867  queue(client, msg);
2868  }
2869#line 1194 "Client.c"
2870  return;
2871}
2872}
2873#line 143 "Client.c"
2874void sendToAddressBook(int client , int msg ) 
2875{ 
2876
2877  {
2878#line 1212 "Client.c"
2879  return;
2880}
2881}
2882#line 1 "Email.o"
2883#pragma merger(0,"Email.i","")
2884#line 6 "Email.h"
2885void printMail(int msg ) ;
2886#line 9
2887int isReadable(int msg ) ;
2888#line 15
2889int cloneEmail(int msg ) ;
2890#line 9 "Email.c"
2891void printMail(int msg ) 
2892{ int tmp ;
2893  int tmp___0 ;
2894  int tmp___1 ;
2895  int tmp___2 ;
2896  char const   * __restrict  __cil_tmp6 ;
2897  char const   * __restrict  __cil_tmp7 ;
2898  char const   * __restrict  __cil_tmp8 ;
2899  char const   * __restrict  __cil_tmp9 ;
2900
2901  {
2902  {
2903#line 10
2904  tmp = getEmailId(msg);
2905#line 10
2906  __cil_tmp6 = (char const   * __restrict  )"ID:\n  %i\n";
2907#line 10
2908  printf(__cil_tmp6, tmp);
2909#line 11
2910  tmp___0 = getEmailFrom(msg);
2911#line 11
2912  __cil_tmp7 = (char const   * __restrict  )"FROM:\n  %i\n";
2913#line 11
2914  printf(__cil_tmp7, tmp___0);
2915#line 12
2916  tmp___1 = getEmailTo(msg);
2917#line 12
2918  __cil_tmp8 = (char const   * __restrict  )"TO:\n  %i\n";
2919#line 12
2920  printf(__cil_tmp8, tmp___1);
2921#line 13
2922  tmp___2 = isReadable(msg);
2923#line 13
2924  __cil_tmp9 = (char const   * __restrict  )"IS_READABLE\n  %i\n";
2925#line 13
2926  printf(__cil_tmp9, tmp___2);
2927  }
2928#line 601 "Email.c"
2929  return;
2930}
2931}
2932#line 19 "Email.c"
2933int isReadable(int msg ) 
2934{ int retValue_acc ;
2935
2936  {
2937#line 619 "Email.c"
2938  retValue_acc = 1;
2939#line 621
2940  return (retValue_acc);
2941#line 628
2942  return (retValue_acc);
2943}
2944}
2945#line 24 "Email.c"
2946int cloneEmail(int msg ) 
2947{ int retValue_acc ;
2948
2949  {
2950#line 650 "Email.c"
2951  retValue_acc = msg;
2952#line 652
2953  return (retValue_acc);
2954#line 659
2955  return (retValue_acc);
2956}
2957}
2958#line 29 "Email.c"
2959int createEmail(int from , int to ) 
2960{ int retValue_acc ;
2961  int msg ;
2962
2963  {
2964  {
2965#line 30
2966  msg = 1;
2967#line 31
2968  setEmailFrom(msg, from);
2969#line 32
2970  setEmailTo(msg, to);
2971#line 689 "Email.c"
2972  retValue_acc = msg;
2973  }
2974#line 691
2975  return (retValue_acc);
2976#line 698
2977  return (retValue_acc);
2978}
2979}
2980#line 1 "featureselect.o"
2981#pragma merger(0,"featureselect.i","")
2982#line 41 "featureselect.h"
2983int select_one(void) ;
2984#line 8 "featureselect.c"
2985int select_one(void) 
2986{ int retValue_acc ;
2987  int choice = __VERIFIER_nondet_int();
2988
2989  {
2990#line 84 "featureselect.c"
2991  retValue_acc = choice;
2992#line 86
2993  return (retValue_acc);
2994#line 93
2995  return (retValue_acc);
2996}
2997}
2998#line 14 "featureselect.c"
2999void select_features(void) 
3000{ 
3001
3002  {
3003#line 115 "featureselect.c"
3004  return;
3005}
3006}
3007#line 20 "featureselect.c"
3008void select_helpers(void) 
3009{ 
3010
3011  {
3012#line 133 "featureselect.c"
3013  return;
3014}
3015}
3016#line 25 "featureselect.c"
3017int valid_product(void) 
3018{ int retValue_acc ;
3019
3020  {
3021#line 151 "featureselect.c"
3022  retValue_acc = 1;
3023#line 153
3024  return (retValue_acc);
3025#line 160
3026  return (retValue_acc);
3027}
3028}
3029#line 1 "scenario.o"
3030#pragma merger(0,"scenario.i","")
3031#line 1 "scenario.c"
3032void test(void) 
3033{ int op1 ;
3034  int op2 ;
3035  int op3 ;
3036  int op4 ;
3037  int op5 ;
3038  int op6 ;
3039  int op7 ;
3040  int op8 ;
3041  int op9 ;
3042  int op10 ;
3043  int op11 ;
3044  int splverifierCounter ;
3045  int tmp ;
3046  int tmp___0 ;
3047  int tmp___1 ;
3048  int tmp___2 ;
3049  int tmp___3 ;
3050  int tmp___4 ;
3051  int tmp___5 ;
3052  int tmp___6 ;
3053  int tmp___7 ;
3054  int tmp___8 ;
3055  int tmp___9 ;
3056
3057  {
3058#line 2
3059  op1 = 0;
3060#line 3
3061  op2 = 0;
3062#line 4
3063  op3 = 0;
3064#line 5
3065  op4 = 0;
3066#line 6
3067  op5 = 0;
3068#line 7
3069  op6 = 0;
3070#line 8
3071  op7 = 0;
3072#line 9
3073  op8 = 0;
3074#line 10
3075  op9 = 0;
3076#line 11
3077  op10 = 0;
3078#line 12
3079  op11 = 0;
3080#line 13
3081  splverifierCounter = 0;
3082  {
3083#line 14
3084  while (1) {
3085    while_0_continue: /* CIL Label */ ;
3086#line 14
3087    if (splverifierCounter < 4) {
3088
3089    } else {
3090      goto while_0_break;
3091    }
3092#line 15
3093    splverifierCounter = splverifierCounter + 1;
3094#line 16
3095    if (! op1) {
3096      {
3097#line 16
3098      tmp___9 = __VERIFIER_nondet_int();
3099      }
3100#line 16
3101      if (tmp___9) {
3102#line 17
3103        op1 = 1;
3104      } else {
3105        goto _L___8;
3106      }
3107    } else {
3108      _L___8: /* CIL Label */ 
3109#line 18
3110      if (! op2) {
3111        {
3112#line 18
3113        tmp___8 = __VERIFIER_nondet_int();
3114        }
3115#line 18
3116        if (tmp___8) {
3117          {
3118#line 20
3119          rjhSetAutoRespond();
3120#line 21
3121          op2 = 1;
3122          }
3123        } else {
3124          goto _L___7;
3125        }
3126      } else {
3127        _L___7: /* CIL Label */ 
3128#line 22
3129        if (! op3) {
3130          {
3131#line 22
3132          tmp___7 = __VERIFIER_nondet_int();
3133          }
3134#line 22
3135          if (tmp___7) {
3136#line 24
3137            op3 = 1;
3138          } else {
3139            goto _L___6;
3140          }
3141        } else {
3142          _L___6: /* CIL Label */ 
3143#line 25
3144          if (! op4) {
3145            {
3146#line 25
3147            tmp___6 = __VERIFIER_nondet_int();
3148            }
3149#line 25
3150            if (tmp___6) {
3151#line 27
3152              op4 = 1;
3153            } else {
3154              goto _L___5;
3155            }
3156          } else {
3157            _L___5: /* CIL Label */ 
3158#line 28
3159            if (! op5) {
3160              {
3161#line 28
3162              tmp___5 = __VERIFIER_nondet_int();
3163              }
3164#line 28
3165              if (tmp___5) {
3166#line 30
3167                op5 = 1;
3168              } else {
3169                goto _L___4;
3170              }
3171            } else {
3172              _L___4: /* CIL Label */ 
3173#line 31
3174              if (! op6) {
3175                {
3176#line 31
3177                tmp___4 = __VERIFIER_nondet_int();
3178                }
3179#line 31
3180                if (tmp___4) {
3181#line 33
3182                  op6 = 1;
3183                } else {
3184                  goto _L___3;
3185                }
3186              } else {
3187                _L___3: /* CIL Label */ 
3188#line 34
3189                if (! op7) {
3190                  {
3191#line 34
3192                  tmp___3 = __VERIFIER_nondet_int();
3193                  }
3194#line 34
3195                  if (tmp___3) {
3196#line 36
3197                    op7 = 1;
3198                  } else {
3199                    goto _L___2;
3200                  }
3201                } else {
3202                  _L___2: /* CIL Label */ 
3203#line 37
3204                  if (! op8) {
3205                    {
3206#line 37
3207                    tmp___2 = __VERIFIER_nondet_int();
3208                    }
3209#line 37
3210                    if (tmp___2) {
3211                      {
3212#line 39
3213                      bobSetAddressBook();
3214#line 40
3215                      op8 = 1;
3216                      }
3217                    } else {
3218                      goto _L___1;
3219                    }
3220                  } else {
3221                    _L___1: /* CIL Label */ 
3222#line 41
3223                    if (! op9) {
3224                      {
3225#line 41
3226                      tmp___1 = __VERIFIER_nondet_int();
3227                      }
3228#line 41
3229                      if (tmp___1) {
3230#line 43
3231                        op9 = 1;
3232                      } else {
3233                        goto _L___0;
3234                      }
3235                    } else {
3236                      _L___0: /* CIL Label */ 
3237#line 44
3238                      if (! op10) {
3239                        {
3240#line 44
3241                        tmp___0 = __VERIFIER_nondet_int();
3242                        }
3243#line 44
3244                        if (tmp___0) {
3245#line 46
3246                          op10 = 1;
3247                        } else {
3248                          goto _L;
3249                        }
3250                      } else {
3251                        _L: /* CIL Label */ 
3252#line 47
3253                        if (! op11) {
3254                          {
3255#line 47
3256                          tmp = __VERIFIER_nondet_int();
3257                          }
3258#line 47
3259                          if (tmp) {
3260#line 49
3261                            op11 = 1;
3262                          } else {
3263                            goto while_0_break;
3264                          }
3265                        } else {
3266                          goto while_0_break;
3267                        }
3268                      }
3269                    }
3270                  }
3271                }
3272              }
3273            }
3274          }
3275        }
3276      }
3277    }
3278  }
3279  while_0_break: /* CIL Label */ ;
3280  }
3281  {
3282#line 53
3283  bobToRjh();
3284  }
3285#line 153 "scenario.c"
3286  return;
3287}
3288}
3289#line 1 "wsllib_check.o"
3290#pragma merger(0,"wsllib_check.i","")
3291#line 3 "wsllib_check.c"
3292void __automaton_fail(void) 
3293{ 
3294
3295  {
3296  goto ERROR;
3297  ERROR: ;
3298#line 53 "wsllib_check.c"
3299  return;
3300}
3301}
3302#line 1 "libacc.o"
3303#pragma merger(0,"libacc.i","")
3304#line 73 "/usr/include/assert.h"
3305extern  __attribute__((__nothrow__, __noreturn__)) void __assert_fail(char const   *__assertion ,
3306                                                                      char const   *__file ,
3307                                                                      unsigned int __line ,
3308                                                                      char const   *__function ) ;
3309#line 471 "/usr/include/stdlib.h"
3310extern  __attribute__((__nothrow__)) void *malloc(size_t __size )  __attribute__((__malloc__)) ;
3311#line 488
3312extern  __attribute__((__nothrow__)) void free(void *__ptr ) ;
3313#line 32 "libacc.c"
3314void __utac__exception__cf_handler_set(void *exception , int (*cflow_func)(int  ,
3315                                                                           int  ) ,
3316                                       int val ) 
3317{ struct __UTAC__EXCEPTION *excep ;
3318  struct __UTAC__CFLOW_FUNC *cf ;
3319  void *tmp ;
3320  unsigned long __cil_tmp7 ;
3321  unsigned long __cil_tmp8 ;
3322  unsigned long __cil_tmp9 ;
3323  unsigned long __cil_tmp10 ;
3324  unsigned long __cil_tmp11 ;
3325  unsigned long __cil_tmp12 ;
3326  unsigned long __cil_tmp13 ;
3327  unsigned long __cil_tmp14 ;
3328  int (**mem_15)(int  , int  ) ;
3329  int *mem_16 ;
3330  struct __UTAC__CFLOW_FUNC **mem_17 ;
3331  struct __UTAC__CFLOW_FUNC **mem_18 ;
3332  struct __UTAC__CFLOW_FUNC **mem_19 ;
3333
3334  {
3335  {
3336#line 33
3337  excep = (struct __UTAC__EXCEPTION *)exception;
3338#line 34
3339  tmp = malloc(24UL);
3340#line 34
3341  cf = (struct __UTAC__CFLOW_FUNC *)tmp;
3342#line 36
3343  mem_15 = (int (**)(int  , int  ))cf;
3344#line 36
3345  *mem_15 = cflow_func;
3346#line 37
3347  __cil_tmp7 = (unsigned long )cf;
3348#line 37
3349  __cil_tmp8 = __cil_tmp7 + 8;
3350#line 37
3351  mem_16 = (int *)__cil_tmp8;
3352#line 37
3353  *mem_16 = val;
3354#line 38
3355  __cil_tmp9 = (unsigned long )cf;
3356#line 38
3357  __cil_tmp10 = __cil_tmp9 + 16;
3358#line 38
3359  __cil_tmp11 = (unsigned long )excep;
3360#line 38
3361  __cil_tmp12 = __cil_tmp11 + 24;
3362#line 38
3363  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp10;
3364#line 38
3365  mem_18 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp12;
3366#line 38
3367  *mem_17 = *mem_18;
3368#line 39
3369  __cil_tmp13 = (unsigned long )excep;
3370#line 39
3371  __cil_tmp14 = __cil_tmp13 + 24;
3372#line 39
3373  mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
3374#line 39
3375  *mem_19 = cf;
3376  }
3377#line 654 "libacc.c"
3378  return;
3379}
3380}
3381#line 44 "libacc.c"
3382void __utac__exception__cf_handler_free(void *exception ) 
3383{ struct __UTAC__EXCEPTION *excep ;
3384  struct __UTAC__CFLOW_FUNC *cf ;
3385  struct __UTAC__CFLOW_FUNC *tmp ;
3386  unsigned long __cil_tmp5 ;
3387  unsigned long __cil_tmp6 ;
3388  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
3389  unsigned long __cil_tmp8 ;
3390  unsigned long __cil_tmp9 ;
3391  unsigned long __cil_tmp10 ;
3392  unsigned long __cil_tmp11 ;
3393  void *__cil_tmp12 ;
3394  unsigned long __cil_tmp13 ;
3395  unsigned long __cil_tmp14 ;
3396  struct __UTAC__CFLOW_FUNC **mem_15 ;
3397  struct __UTAC__CFLOW_FUNC **mem_16 ;
3398  struct __UTAC__CFLOW_FUNC **mem_17 ;
3399
3400  {
3401#line 45
3402  excep = (struct __UTAC__EXCEPTION *)exception;
3403#line 46
3404  __cil_tmp5 = (unsigned long )excep;
3405#line 46
3406  __cil_tmp6 = __cil_tmp5 + 24;
3407#line 46
3408  mem_15 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
3409#line 46
3410  cf = *mem_15;
3411  {
3412#line 49
3413  while (1) {
3414    while_1_continue: /* CIL Label */ ;
3415    {
3416#line 49
3417    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
3418#line 49
3419    __cil_tmp8 = (unsigned long )__cil_tmp7;
3420#line 49
3421    __cil_tmp9 = (unsigned long )cf;
3422#line 49
3423    if (__cil_tmp9 != __cil_tmp8) {
3424
3425    } else {
3426      goto while_1_break;
3427    }
3428    }
3429    {
3430#line 50
3431    tmp = cf;
3432#line 51
3433    __cil_tmp10 = (unsigned long )cf;
3434#line 51
3435    __cil_tmp11 = __cil_tmp10 + 16;
3436#line 51
3437    mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp11;
3438#line 51
3439    cf = *mem_16;
3440#line 52
3441    __cil_tmp12 = (void *)tmp;
3442#line 52
3443    free(__cil_tmp12);
3444    }
3445  }
3446  while_1_break: /* CIL Label */ ;
3447  }
3448#line 55
3449  __cil_tmp13 = (unsigned long )excep;
3450#line 55
3451  __cil_tmp14 = __cil_tmp13 + 24;
3452#line 55
3453  mem_17 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp14;
3454#line 55
3455  *mem_17 = (struct __UTAC__CFLOW_FUNC *)0;
3456#line 694 "libacc.c"
3457  return;
3458}
3459}
3460#line 59 "libacc.c"
3461void __utac__exception__cf_handler_reset(void *exception ) 
3462{ struct __UTAC__EXCEPTION *excep ;
3463  struct __UTAC__CFLOW_FUNC *cf ;
3464  unsigned long __cil_tmp5 ;
3465  unsigned long __cil_tmp6 ;
3466  struct __UTAC__CFLOW_FUNC *__cil_tmp7 ;
3467  unsigned long __cil_tmp8 ;
3468  unsigned long __cil_tmp9 ;
3469  int (*__cil_tmp10)(int  , int  ) ;
3470  unsigned long __cil_tmp11 ;
3471  unsigned long __cil_tmp12 ;
3472  int __cil_tmp13 ;
3473  unsigned long __cil_tmp14 ;
3474  unsigned long __cil_tmp15 ;
3475  struct __UTAC__CFLOW_FUNC **mem_16 ;
3476  int (**mem_17)(int  , int  ) ;
3477  int *mem_18 ;
3478  struct __UTAC__CFLOW_FUNC **mem_19 ;
3479
3480  {
3481#line 60
3482  excep = (struct __UTAC__EXCEPTION *)exception;
3483#line 61
3484  __cil_tmp5 = (unsigned long )excep;
3485#line 61
3486  __cil_tmp6 = __cil_tmp5 + 24;
3487#line 61
3488  mem_16 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp6;
3489#line 61
3490  cf = *mem_16;
3491  {
3492#line 64
3493  while (1) {
3494    while_2_continue: /* CIL Label */ ;
3495    {
3496#line 64
3497    __cil_tmp7 = (struct __UTAC__CFLOW_FUNC *)0;
3498#line 64
3499    __cil_tmp8 = (unsigned long )__cil_tmp7;
3500#line 64
3501    __cil_tmp9 = (unsigned long )cf;
3502#line 64
3503    if (__cil_tmp9 != __cil_tmp8) {
3504
3505    } else {
3506      goto while_2_break;
3507    }
3508    }
3509    {
3510#line 65
3511    mem_17 = (int (**)(int  , int  ))cf;
3512#line 65
3513    __cil_tmp10 = *mem_17;
3514#line 65
3515    __cil_tmp11 = (unsigned long )cf;
3516#line 65
3517    __cil_tmp12 = __cil_tmp11 + 8;
3518#line 65
3519    mem_18 = (int *)__cil_tmp12;
3520#line 65
3521    __cil_tmp13 = *mem_18;
3522#line 65
3523    (*__cil_tmp10)(4, __cil_tmp13);
3524#line 66
3525    __cil_tmp14 = (unsigned long )cf;
3526#line 66
3527    __cil_tmp15 = __cil_tmp14 + 16;
3528#line 66
3529    mem_19 = (struct __UTAC__CFLOW_FUNC **)__cil_tmp15;
3530#line 66
3531    cf = *mem_19;
3532    }
3533  }
3534  while_2_break: /* CIL Label */ ;
3535  }
3536  {
3537#line 69
3538  __utac__exception__cf_handler_free(exception);
3539  }
3540#line 732 "libacc.c"
3541  return;
3542}
3543}
3544#line 80 "libacc.c"
3545void *__utac__error_stack_mgt(void *env , int mode , int count ) ;
3546#line 80 "libacc.c"
3547static struct __ACC__ERR *head  =    (struct __ACC__ERR *)0;
3548#line 79 "libacc.c"
3549void *__utac__error_stack_mgt(void *env , int mode , int count ) 
3550{ void *retValue_acc ;
3551  struct __ACC__ERR *new ;
3552  void *tmp ;
3553  struct __ACC__ERR *temp ;
3554  struct __ACC__ERR *next ;
3555  void *excep ;
3556  unsigned long __cil_tmp10 ;
3557  unsigned long __cil_tmp11 ;
3558  unsigned long __cil_tmp12 ;
3559  unsigned long __cil_tmp13 ;
3560  void *__cil_tmp14 ;
3561  unsigned long __cil_tmp15 ;
3562  unsigned long __cil_tmp16 ;
3563  void *__cil_tmp17 ;
3564  void **mem_18 ;
3565  struct __ACC__ERR **mem_19 ;
3566  struct __ACC__ERR **mem_20 ;
3567  void **mem_21 ;
3568  struct __ACC__ERR **mem_22 ;
3569  void **mem_23 ;
3570  void **mem_24 ;
3571
3572  {
3573#line 82 "libacc.c"
3574  if (count == 0) {
3575#line 758 "libacc.c"
3576    return (retValue_acc);
3577  } else {
3578
3579  }
3580#line 86 "libacc.c"
3581  if (mode == 0) {
3582    {
3583#line 87
3584    tmp = malloc(16UL);
3585#line 87
3586    new = (struct __ACC__ERR *)tmp;
3587#line 88
3588    mem_18 = (void **)new;
3589#line 88
3590    *mem_18 = env;
3591#line 89
3592    __cil_tmp10 = (unsigned long )new;
3593#line 89
3594    __cil_tmp11 = __cil_tmp10 + 8;
3595#line 89
3596    mem_19 = (struct __ACC__ERR **)__cil_tmp11;
3597#line 89
3598    *mem_19 = head;
3599#line 90
3600    head = new;
3601#line 776 "libacc.c"
3602    retValue_acc = (void *)new;
3603    }
3604#line 778
3605    return (retValue_acc);
3606  } else {
3607
3608  }
3609#line 94 "libacc.c"
3610  if (mode == 1) {
3611#line 95
3612    temp = head;
3613    {
3614#line 98
3615    while (1) {
3616      while_3_continue: /* CIL Label */ ;
3617#line 98
3618      if (count > 1) {
3619
3620      } else {
3621        goto while_3_break;
3622      }
3623      {
3624#line 99
3625      __cil_tmp12 = (unsigned long )temp;
3626#line 99
3627      __cil_tmp13 = __cil_tmp12 + 8;
3628#line 99
3629      mem_20 = (struct __ACC__ERR **)__cil_tmp13;
3630#line 99
3631      next = *mem_20;
3632#line 100
3633      mem_21 = (void **)temp;
3634#line 100
3635      excep = *mem_21;
3636#line 101
3637      __cil_tmp14 = (void *)temp;
3638#line 101
3639      free(__cil_tmp14);
3640#line 102
3641      __utac__exception__cf_handler_reset(excep);
3642#line 103
3643      temp = next;
3644#line 104
3645      count = count - 1;
3646      }
3647    }
3648    while_3_break: /* CIL Label */ ;
3649    }
3650    {
3651#line 107
3652    __cil_tmp15 = (unsigned long )temp;
3653#line 107
3654    __cil_tmp16 = __cil_tmp15 + 8;
3655#line 107
3656    mem_22 = (struct __ACC__ERR **)__cil_tmp16;
3657#line 107
3658    head = *mem_22;
3659#line 108
3660    mem_23 = (void **)temp;
3661#line 108
3662    excep = *mem_23;
3663#line 109
3664    __cil_tmp17 = (void *)temp;
3665#line 109
3666    free(__cil_tmp17);
3667#line 110
3668    __utac__exception__cf_handler_reset(excep);
3669#line 820 "libacc.c"
3670    retValue_acc = excep;
3671    }
3672#line 822
3673    return (retValue_acc);
3674  } else {
3675
3676  }
3677#line 114
3678  if (mode == 2) {
3679#line 118 "libacc.c"
3680    if (head) {
3681#line 831
3682      mem_24 = (void **)head;
3683#line 831
3684      retValue_acc = *mem_24;
3685#line 833
3686      return (retValue_acc);
3687    } else {
3688#line 837 "libacc.c"
3689      retValue_acc = (void *)0;
3690#line 839
3691      return (retValue_acc);
3692    }
3693  } else {
3694
3695  }
3696#line 846 "libacc.c"
3697  return (retValue_acc);
3698}
3699}
3700#line 122 "libacc.c"
3701void *__utac__get_this_arg(int i , struct JoinPoint *this ) 
3702{ void *retValue_acc ;
3703  unsigned long __cil_tmp4 ;
3704  unsigned long __cil_tmp5 ;
3705  int __cil_tmp6 ;
3706  int __cil_tmp7 ;
3707  unsigned long __cil_tmp8 ;
3708  unsigned long __cil_tmp9 ;
3709  void **__cil_tmp10 ;
3710  void **__cil_tmp11 ;
3711  int *mem_12 ;
3712  void ***mem_13 ;
3713
3714  {
3715#line 123
3716  if (i > 0) {
3717    {
3718#line 123
3719    __cil_tmp4 = (unsigned long )this;
3720#line 123
3721    __cil_tmp5 = __cil_tmp4 + 16;
3722#line 123
3723    mem_12 = (int *)__cil_tmp5;
3724#line 123
3725    __cil_tmp6 = *mem_12;
3726#line 123
3727    if (i <= __cil_tmp6) {
3728
3729    } else {
3730      {
3731#line 123
3732      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
3733                    123U, "__utac__get_this_arg");
3734      }
3735    }
3736    }
3737  } else {
3738    {
3739#line 123
3740    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
3741                  123U, "__utac__get_this_arg");
3742    }
3743  }
3744#line 870 "libacc.c"
3745  __cil_tmp7 = i - 1;
3746#line 870
3747  __cil_tmp8 = (unsigned long )this;
3748#line 870
3749  __cil_tmp9 = __cil_tmp8 + 8;
3750#line 870
3751  mem_13 = (void ***)__cil_tmp9;
3752#line 870
3753  __cil_tmp10 = *mem_13;
3754#line 870
3755  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
3756#line 870
3757  retValue_acc = *__cil_tmp11;
3758#line 872
3759  return (retValue_acc);
3760#line 879
3761  return (retValue_acc);
3762}
3763}
3764#line 129 "libacc.c"
3765char const   *__utac__get_this_argtype(int i , struct JoinPoint *this ) 
3766{ char const   *retValue_acc ;
3767  unsigned long __cil_tmp4 ;
3768  unsigned long __cil_tmp5 ;
3769  int __cil_tmp6 ;
3770  int __cil_tmp7 ;
3771  unsigned long __cil_tmp8 ;
3772  unsigned long __cil_tmp9 ;
3773  char const   **__cil_tmp10 ;
3774  char const   **__cil_tmp11 ;
3775  int *mem_12 ;
3776  char const   ***mem_13 ;
3777
3778  {
3779#line 131
3780  if (i > 0) {
3781    {
3782#line 131
3783    __cil_tmp4 = (unsigned long )this;
3784#line 131
3785    __cil_tmp5 = __cil_tmp4 + 16;
3786#line 131
3787    mem_12 = (int *)__cil_tmp5;
3788#line 131
3789    __cil_tmp6 = *mem_12;
3790#line 131
3791    if (i <= __cil_tmp6) {
3792
3793    } else {
3794      {
3795#line 131
3796      __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
3797                    131U, "__utac__get_this_argtype");
3798      }
3799    }
3800    }
3801  } else {
3802    {
3803#line 131
3804    __assert_fail("i > 0 && i <= this->argsCount", "libacc.c",
3805                  131U, "__utac__get_this_argtype");
3806    }
3807  }
3808#line 903 "libacc.c"
3809  __cil_tmp7 = i - 1;
3810#line 903
3811  __cil_tmp8 = (unsigned long )this;
3812#line 903
3813  __cil_tmp9 = __cil_tmp8 + 24;
3814#line 903
3815  mem_13 = (char const   ***)__cil_tmp9;
3816#line 903
3817  __cil_tmp10 = *mem_13;
3818#line 903
3819  __cil_tmp11 = __cil_tmp10 + __cil_tmp7;
3820#line 903
3821  retValue_acc = *__cil_tmp11;
3822#line 905
3823  return (retValue_acc);
3824#line 912
3825  return (retValue_acc);
3826}
3827}
3828#line 1 "DecryptAutoResponder_spec.o"
3829#pragma merger(0,"DecryptAutoResponder_spec.i","")
3830#line 11 "DecryptAutoResponder_spec.c"
3831void __utac_acc__DecryptAutoResponder_spec__1(int client , int msg ) 
3832{ int tmp ;
3833
3834  {
3835  {
3836#line 13
3837  puts("before autoRespond\n");
3838#line 14
3839  tmp = isReadable(msg);
3840  }
3841#line 14
3842  if (tmp) {
3843
3844  } else {
3845    {
3846#line 15
3847    __automaton_fail();
3848    }
3849  }
3850#line 15
3851  return;
3852}
3853}
3854#line 1 "Util.o"
3855#pragma merger(0,"Util.i","")
3856#line 1 "Util.h"
3857int prompt(char *msg ) ;
3858#line 9 "Util.c"
3859int prompt(char *msg ) 
3860{ int retValue_acc ;
3861  int retval ;
3862  char const   * __restrict  __cil_tmp4 ;
3863
3864  {
3865  {
3866#line 10
3867  __cil_tmp4 = (char const   * __restrict  )"%s\n";
3868#line 10
3869  printf(__cil_tmp4, msg);
3870#line 518 "Util.c"
3871  retValue_acc = retval;
3872  }
3873#line 520
3874  return (retValue_acc);
3875#line 527
3876  return (retValue_acc);
3877}
3878}