Showing error 1802

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