// File: /workspace/github_cpp_makefile_star2_O3/manikandan5[P]Image-Matching-Stitching-Warping/./CImg.h
// Function: cimg_library::CImgDisplay::set_key(unsigned int, bool)
CImgDisplay& set_key(const unsigned int keycode, const bool is_pressed=true) {
#define _cimg_set_key(k) if (keycode==cimg::key##k) _is_key##k = is_pressed;
      _cimg_set_key(ESC); _cimg_set_key(F1); _cimg_set_key(F2); _cimg_set_key(F3);
      _cimg_set_key(F4); _cimg_set_key(F5); _cimg_set_key(F6); _cimg_set_key(F7);
      _cimg_set_key(F8); _cimg_set_key(F9); _cimg_set_key(F10); _cimg_set_key(F11);
      _cimg_set_key(F12); _cimg_set_key(PAUSE); _cimg_set_key(1); _cimg_set_key(2);
      _cimg_set_key(3); _cimg_set_key(4); _cimg_set_key(5); _cimg_set_key(6);
      _cimg_set_key(7); _cimg_set_key(8); _cimg_set_key(9); _cimg_set_key(0);
      _cimg_set_key(BACKSPACE); _cimg_set_key(INSERT); _cimg_set_key(HOME);
      _cimg_set_key(PAGEUP); _cimg_set_key(TAB); _cimg_set_key(Q); _cimg_set_key(W);
      _cimg_set_key(E); _cimg_set_key(R); _cimg_set_key(T); _cimg_set_key(Y);
      _cimg_set_key(U); _cimg_set_key(I); _cimg_set_key(O); _cimg_set_key(P);
      _cimg_set_key(DELETE); _cimg_set_key(END); _cimg_set_key(PAGEDOWN);
      _cimg_set_key(CAPSLOCK); _cimg_set_key(A); _cimg_set_key(S); _cimg_set_key(D);
      _cimg_set_key(F); _cimg_set_key(G); _cimg_set_key(H); _cimg_set_key(J);
      _cimg_set_key(K); _cimg_set_key(L); _cimg_set_key(ENTER);
      _cimg_set_key(SHIFTLEFT); _cimg_set_key(Z); _cimg_set_key(X); _cimg_set_key(C);
      _cimg_set_key(V); _cimg_set_key(B); _cimg_set_key(N); _cimg_set_key(M);
      _cimg_set_key(SHIFTRIGHT); _cimg_set_key(ARROWUP); _cimg_set_key(CTRLLEFT);
      _cimg_set_key(APPLEFT); _cimg_set_key(ALT); _cimg_set_key(SPACE); _cimg_set_key(ALTGR);
      _cimg_set_key(APPRIGHT); _cimg_set_key(MENU); _cimg_set_key(CTRLRIGHT);
      _cimg_set_key(ARROWLEFT); _cimg_set_key(ARROWDOWN); _cimg_set_key(ARROWRIGHT);
      _cimg_set_key(PAD0); _cimg_set_key(PAD1); _cimg_set_key(PAD2);
      _cimg_set_key(PAD3); _cimg_set_key(PAD4); _cimg_set_key(PAD5);
      _cimg_set_key(PAD6); _cimg_set_key(PAD7); _cimg_set_key(PAD8);
      _cimg_set_key(PAD9); _cimg_set_key(PADADD); _cimg_set_key(PADSUB);
      _cimg_set_key(PADMUL); _cimg_set_key(PADDIV);
      if (is_pressed) {
        if (*_keys)
          std::memmove((void*)(_keys+1),(void*)_keys,sizeof(_keys) - sizeof(unsigned int));
        *_keys = keycode;
        if (*_released_keys) {
          std::memmove((void*)(_released_keys+1),(void*)_released_keys,sizeof(_released_keys) - sizeof(unsigned int));
          *_released_keys = 0;
        }
      } else {
        if (*_keys) {
          std::memmove((void*)(_keys+1),(void*)_keys,sizeof(_keys) - sizeof(unsigned int));
          *_keys = 0;
        }
        if (*_released_keys)
          std::memmove((void*)(_released_keys+1),(void*)_released_keys,sizeof(_released_keys) - sizeof(unsigned int));
        *_released_keys = keycode;
      }
      _is_event = keycode?true:false;
      if (keycode) {
#if cimg_display==1
        pthread_cond_broadcast(&cimg::X11_attr().wait_event);
#elif cimg_display==2
        SetEvent(cimg::Win32_attr().wait_event);
#endif
      }
      return *this;
    }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movl %esi, %r14d
movq %rdi, %rbx
cmpl $0xff1a, %esi           # imm = 0xFF1A
jle 0x244c2
leal -0xffaa(%r14), %eax
cmpl $0x55, %eax
ja 0x244f3
leaq 0x4a10a(%rip), %rcx     # 0x6e5b8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb %dl, 0x4ba(%rbx)
jmp 0x248d6
cmpl $0xff07, %r14d          # imm = 0xFF07
jg 0x2451a
leal -0x20(%r14), %eax
cmpl $0x5a, %eax
ja 0x248d6
leaq 0x49f0d(%rip), %rcx     # 0x6e3ec
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb %dl, 0x4a6(%rbx)
jmp 0x248d6
leal -0xff50(%r14), %eax
cmpl $0x17, %eax
ja 0x2456d
leaq 0x4a052(%rip), %rcx     # 0x6e558
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb %dl, 0x47e(%rbx)
jmp 0x248d6
cmpl $0xff0c, %r14d          # imm = 0xFF0C
jg 0x24548
cmpl $0xff08, %r14d          # imm = 0xFF08
je 0x24711
cmpl $0xff09, %r14d          # imm = 0xFF09
jne 0x248d6
movb %dl, 0x480(%rbx)
jmp 0x248d6
cmpl $0xff0d, %r14d          # imm = 0xFF0D
je 0x2471c
cmpl $0xff13, %r14d          # imm = 0xFF13
jne 0x248d6
movb %dl, 0x471(%rbx)
jmp 0x248d6
cmpl $0xff1b, %r14d          # imm = 0xFF1B
jne 0x248d6
movb %dl, 0x464(%rbx)
jmp 0x248d6
movb %dl, 0x49b(%rbx)
jmp 0x248d6
movb %dl, 0x486(%rbx)
jmp 0x248d6
movb %dl, 0x489(%rbx)
jmp 0x248d6
movb %dl, 0x487(%rbx)
jmp 0x248d6
movb %dl, 0x490(%rbx)
jmp 0x248d6
movb %dl, 0x496(%rbx)
jmp 0x248d6
movb %dl, 0x475(%rbx)
jmp 0x248d6
movb %dl, 0x481(%rbx)
jmp 0x248d6
movb %dl, 0x479(%rbx)
jmp 0x248d6
movb %dl, 0x485(%rbx)
jmp 0x248d6
movb %dl, 0x495(%rbx)
jmp 0x248d6
movb %dl, 0x473(%rbx)
jmp 0x248d6
movb %dl, 0x488(%rbx)
jmp 0x248d6
movb %dl, 0x47b(%rbx)
jmp 0x248d6
movb %dl, 0x483(%rbx)
jmp 0x248d6
movb %dl, 0x47a(%rbx)
jmp 0x248d6
movb %dl, 0x476(%rbx)
jmp 0x248d6
movb %dl, 0x477(%rbx)
jmp 0x248d6
movb %dl, 0x478(%rbx)
jmp 0x248d6
movb %dl, 0x484(%rbx)
jmp 0x248d6
movb %dl, 0x472(%rbx)
jmp 0x248d6
movb %dl, 0x474(%rbx)
jmp 0x248d6
movb %dl, 0x49e(%rbx)
jmp 0x248d6
movb %dl, 0x491(%rbx)
jmp 0x248d6
movb %dl, 0x49f(%rbx)
jmp 0x248d6
movb %dl, 0x49d(%rbx)
jmp 0x248d6
movb %dl, 0x49a(%rbx)
jmp 0x248d6
movb %dl, 0x48f(%rbx)
jmp 0x248d6
movb %dl, 0x482(%rbx)
jmp 0x248d6
movb %dl, 0x4a0(%rbx)
jmp 0x248d6
movb %dl, 0x49c(%rbx)
jmp 0x248d6
movb %dl, 0x492(%rbx)
jmp 0x248d6
movb %dl, 0x494(%rbx)
jmp 0x248d6
movb %dl, 0x48a(%rbx)
jmp 0x248d6
movb %dl, 0x493(%rbx)
jmp 0x248d6
movb %dl, 0x497(%rbx)
jmp 0x248d6
movb %dl, 0x47c(%rbx)
jmp 0x248d6
movb %dl, 0x498(%rbx)
jmp 0x248d6
movb %dl, 0x470(%rbx)
jmp 0x248d6
movb %dl, 0x4aa(%rbx)
jmp 0x248d6
movb %dl, 0x467(%rbx)
jmp 0x248d6
movb %dl, 0x4a7(%rbx)
jmp 0x248d6
movb %dl, 0x4a1(%rbx)
jmp 0x248d6
movb %dl, 0x48e(%rbx)
jmp 0x248d6
movb %dl, 0x46f(%rbx)
jmp 0x248d6
movb %dl, 0x46c(%rbx)
jmp 0x248d6
movb %dl, 0x4b5(%rbx)
jmp 0x248d6
movb %dl, 0x4b9(%rbx)
jmp 0x248d6
movb %dl, 0x4b8(%rbx)
jmp 0x248d6
movb %dl, 0x46b(%rbx)
jmp 0x248d6
movb %dl, 0x4af(%rbx)
jmp 0x248d6
movb %dl, 0x4b4(%rbx)
jmp 0x248d6
movb %dl, 0x4bb(%rbx)
jmp 0x248d6
movb %dl, 0x4ae(%rbx)
jmp 0x248d6
movb %dl, 0x468(%rbx)
jmp 0x248d6
movb %dl, 0x4b6(%rbx)
jmp 0x248d6
movb %dl, 0x4b2(%rbx)
jmp 0x248d6
movb %dl, 0x4b1(%rbx)
jmp 0x248d6
movb %dl, 0x4b0(%rbx)
jmp 0x248d6
movb %dl, 0x4b3(%rbx)
jmp 0x248d6
movb %dl, 0x4b7(%rbx)
jmp 0x248d6
movb %dl, 0x466(%rbx)
jmp 0x248d6
movb %dl, 0x469(%rbx)
jmp 0x248d6
movb %dl, 0x48b(%rbx)
jmp 0x248d6
movb %dl, 0x465(%rbx)
jmp 0x248d6
movb %dl, 0x46a(%rbx)
jmp 0x248d6
movb %dl, 0x4a4(%rbx)
jmp 0x248d6
movb %dl, 0x4a5(%rbx)
jmp 0x248d6
movb %dl, 0x46d(%rbx)
jmp 0x248d6
movb %dl, 0x46e(%rbx)
jmp 0x248d6
movb %dl, 0x4a8(%rbx)
jmp 0x248d6
movb %dl, 0x4a3(%rbx)
jmp 0x248d6
movb %dl, 0x499(%rbx)
jmp 0x248d6
movb %dl, 0x4a9(%rbx)
jmp 0x248d6
movb %dl, 0x47d(%rbx)
jmp 0x248d6
movb %dl, 0x4ad(%rbx)
jmp 0x248d6
movb %dl, 0x4a2(%rbx)
jmp 0x248d6
movb %dl, 0x48c(%rbx)
jmp 0x248d6
movb %dl, 0x4ac(%rbx)
jmp 0x248d6
movb %dl, 0x47f(%rbx)
jmp 0x248d6
movb %dl, 0x4ab(%rbx)
jmp 0x248d6
movb %dl, 0x48d(%rbx)
leaq 0x4c(%rbx), %rsi
movl 0x4c(%rbx), %eax
testb %dl, %dl
je 0x24924
testl %eax, %eax
je 0x248f3
leaq 0x50(%rbx), %rdi
movl $0x1fc, %edx            # imm = 0x1FC
callq 0x48c0
movl %r14d, 0x4c(%rbx)
cmpl $0x0, 0x24c(%rbx)
je 0x24964
leaq 0x24c(%rbx), %rsi
leaq 0x250(%rbx), %rdi
movl $0x1fc, %edx            # imm = 0x1FC
callq 0x48c0
movl $0x0, 0x24c(%rbx)
jmp 0x24964
testl %eax, %eax
je 0x2493d
leaq 0x50(%rbx), %rdi
movl $0x1fc, %edx            # imm = 0x1FC
callq 0x48c0
movl $0x0, 0x4c(%rbx)
leaq 0x24c(%rbx), %r15
cmpl $0x0, 0x24c(%rbx)
je 0x24961
leaq 0x250(%rbx), %rdi
movl $0x1fc, %edx            # imm = 0x1FC
movq %r15, %rsi
callq 0x48c0
movl %r14d, (%r15)
testl %r14d, %r14d
setne 0x463(%rbx)
je 0x24986
movb 0x8638a(%rip), %al      # 0xaad00
testb %al, %al
je 0x2498f
leaq 0x84317(%rip), %rdi     # 0xa8c98
callq 0x4180
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
leaq 0x8636a(%rip), %rdi     # 0xaad00
callq 0x49c0
testl %eax, %eax
je 0x2497a
leaq 0x842e2(%rip), %rdi     # 0xa8c88
callq 0x211ec
leaq -0x3788(%rip), %rdi     # 0x2122a
leaq 0x842cf(%rip), %rsi     # 0xa8c88
leaq 0x83ba0(%rip), %rdx     # 0xa8560
callq 0x44c0
leaq 0x86334(%rip), %rdi     # 0xaad00
callq 0x4330
jmp 0x2497a
movq %rax, %rbx
leaq 0x86323(%rip), %rdi     # 0xaad00
callq 0x4310
movq %rbx, %rdi
callq 0x4960