PHPIndex

This page lists files in the current directory. You can view content, get download/execute commands for Wget, Curl, or PowerShell, or filter the list using wildcards (e.g., `*.sh`).

__pycache__
__init__.py
wget 'https://sme10.lists2.roe3.org/temp/ThinLinc/tl-4.17.0-server/libs/modules/thinlinc/tlgtk/__init__.py'
View Content
# -*-mode: python; coding: utf-8 -*-
#
# Copyright 2012-2014 Pierre Ossman for Cendio AB.
# For more information, see http://www.cendio.com
if 82 - 82: Iii1i
import os
import sys
import _thread
import re
import warnings
import shutil
import textwrap
import subprocess
if 87 - 87: Ii % i1i1i1111I . Oo / OooOoo * I1Ii1I1 - I1I
import thinlinc . prefix
if 81 - 81: i1 + ooOOO / oOo0O00 * i1iiIII111 * IiIIii11Ii
__all__ = [ "init" ,
 "has_gtk" ,
 "Gtk" , "Gdk" , "GdkPixbuf" , "GLib" , "GObject" , "Pango" ,
 "factory" , "wizard" , "SimpleMessageDialog" , "EntryDialog" ,
 "linkify_text" , "sanitise_wrap" , "message" , "avoid_center_on_seam" ]
if 84 - 84: ooo000 - Ooo0Ooo + iI1iII1I1I1i . IIiIIiIi11I1
if 98 - 98: I11iiIi11i1I % oOO
if 31 - 31: i1I
has_gtk = False
if 9 - 9: IiI11Ii111 / oOo0O00 / IiIIii11Ii - I11iiIi11i1I - iI1iII1I1I1i
if 16 - 16: i1i1i1111I / i1iiIII111
if 3 - 3: i1 % i1 % i1i1i1111I . Ii * i1
ii1iI1I = _thread . get_ident ( )
if 28 - 28: i1I / IIiIIiIi11I1 % IIiIIiIi11I1 / I1I - Oo
def IIII1i1 ( exc_type , exc_value , exc_traceback , old_hook ) :
 old_hook ( exc_type , exc_value , exc_traceback )
 if 84 - 84: Ii . i1iiIII111 - i1 . I1I / iI1iII1I1I1i % OooOoo
 if 55 - 55: iI1iII1I1I1i + i1
 if 10 - 10: Oo % oOO . i1i1i1111I . i1
 if 22 - 22: IIiIIiIi11I1 - ooo000 / I1Ii1I1 . ooo000
 if _thread . get_ident ( ) != ii1iI1I :
  return
  if 1 - 1: iI1iII1I1I1i + Ooo0Ooo + oOO * IIiIIiIi11I1
  if 20 - 20: I1I + Ii
 if Gtk . main_level ( ) == 0 :
  return
  if 75 - 75: Ii % i1iiIII111 * Ii . IIiIIiIi11I1 % I11iiIi11i1I % I1Ii1I1
 sys . exit ( 1 )
 if 8 - 8: I1Ii1I1 . IiI11Ii111 . i1 . Oo - i1I
def init ( wmclass = None ) :
 global Gtk , Gdk , GdkPixbuf , GLib , GObject , Pango
 global has_gtk
 if 32 - 32: Ii % i1i1i1111I % i1I - I11iiIi11i1I % i1iiIII111
 if 34 - 34: i1iiIII111 * i1
 if 34 - 34: oOo0O00 / i1iiIII111 - Iii1i . iI1iII1I1I1i
 if not os . environ . get ( "DISPLAY" , "" ) :
  return False
  if 80 - 80: i1i1i1111I . I1I % ooOOO % IiIIii11Ii / i1i1i1111I
 try :
  import gi
  if 32 - 32: I1Ii1I1 + oOO - oOo0O00
  if 79 - 79: Iii1i % oOO * Oo + ooOOO / Oo . oOO
  if 20 - 20: IiI11Ii111 + i1iiIII111 / I1I
  if 88 - 88: I11iiIi11i1I + ooOOO - i1i1i1111I . Ooo0Ooo * Ii + Iii1i
  if not hasattr ( gi , 'require_version' ) :
   raise ImportError
   if 43 - 43: ooOOO * I1Ii1I1
   if 95 - 95: Ooo0Ooo % Iii1i % i1i1i1111I . OooOoo
   if 70 - 70: IiIIii11Ii
   if 75 - 75: Ooo0Ooo / Ii / IiIIii11Ii + IiIIii11Ii . I1I
  gi . require_version ( "Gtk" , "3.0" )
  gi . require_version ( "Gdk" , "3.0" )
  gi . require_version ( "GdkPixbuf" , "2.0" )
  gi . require_version ( "GLib" , "2.0" )
  gi . require_version ( "GObject" , "2.0" )
  gi . require_version ( "Pango" , "1.0" )
  if 88 - 88: Oo * IiIIii11Ii
  if 100 - 100: IiI11Ii111 - OooOoo * I1Ii1I1 / Ooo0Ooo / Iii1i
  if 23 - 23: Ooo0Ooo + i1 * I1Ii1I1 + Oo * Ii - IIiIIiIi11I1
  if 29 - 29: IiIIii11Ii - oOo0O00
  if 30 - 30: I1I . ooo000
  if 43 - 43: ooOOO . I11iiIi11i1I + ooo000
  gi . require_foreign ( 'cairo' )
  if 87 - 87: Iii1i + ooOOO . i1I / Ii + Oo
  if 77 - 77: i1iiIII111 + IiI11Ii111 - Oo % ooo000
  if 74 - 74: Ii + Ooo0Ooo
  with warnings . catch_warnings ( ) :
   warnings . filterwarnings ( "ignore" , ".*falling back to load_module.*" , ImportWarning )
   if 1 - 1: I1I % Ooo0Ooo + i1iiIII111 . i1iiIII111 % Oo
   from gi . repository import Gtk
   from gi . repository import Gdk
   from gi . repository import GdkPixbuf
   from gi . repository import GLib
   from gi . repository import GObject
   from gi . repository import Pango
   if 93 - 93: oOo0O00 % Ooo0Ooo * i1iiIII111
   if 52 - 52: oOO + I1I / ooo000 - I1Ii1I1 * i1I % oOo0O00
  if Gtk . check_version ( 3 , 20 , 0 ) is not None :
   raise RuntimeError
   if 52 - 52: oOo0O00 . I1I + i1I - i1iiIII111 % iI1iII1I1I1i
   if 57 - 57: I1I * IIiIIiIi11I1 % I1Ii1I1 * i1i1i1111I
  if not hasattr ( Gtk , 'PyGTKDeprecationWarning' ) :
   raise ImportError
   if 37 - 37: IiI11Ii111 * i1i1i1111I + oOo0O00 / I1I / OooOoo
  try :
   iI1iI = GdkPixbuf . PixbufLoader . new_with_mime_type ( 'image/svg+xml' )
   if 54 - 54: I1I % ooo000 * ooo000 - OooOoo / Iii1i * Oo
   try :
    iI1iI . close ( )
   except GLib . GError :
    if 100 - 100: I1Ii1I1 / I11iiIi11i1I * Ii - oOO
    pass
  except GLib . GError :
   raise RuntimeError
   if 32 - 32: iI1iII1I1I1i
  I111II111I1I = Gtk . init_check ( [ ] ) [ 0 ]
  if not I111II111I1I :
   raise RuntimeError
   if 21 - 21: iI1iII1I1I1i - i1 + ooOOO * IIiIIiIi11I1 % i1 * ooOOO
  if wmclass is not None :
   Gdk . set_program_class ( wmclass )
   if 57 - 57: oOo0O00
  has_gtk = True
  if 31 - 31: i1iiIII111 + i1i1i1111I % OooOoo
  if 20 - 20: OooOoo - I1I
  if 9 - 9: i1iiIII111 - iI1iII1I1I1i % Ii - I1I
  if 54 - 54: Iii1i % ooo000 % Iii1i - IiIIii11Ii
  if 39 - 39: oOO - oOO * i1 % IIiIIiIi11I1
  IIiII11I = sys . excepthook
  sys . excepthook = lambda I11i , o0O , IiII : IIII1i1 ( I11i , o0O , IiII , IIiII11I )
 except ImportError :
  if 42 - 42: i1iiIII111 - i1iiIII111
  return False
 except RuntimeError :
  if 98 - 98: Ooo0Ooo + i1i1i1111I + Iii1i - oOO
  return False
 except ValueError :
  if 7 - 7: i1i1i1111I / Ii * Iii1i
  return False
  if 32 - 32: IiI11Ii111 . OooOoo
  if 31 - 31: Oo - i1I
  if 28 - 28: ooOOO * I1Ii1I1 + IiI11Ii111 % Oo
 I1i = Gtk . CssProvider ( )
 I1i . load_from_data ( b"""
    .title-1 {
       font-weight: 800;
       font-size: 20pt;
    }
    """ )
 if 40 - 40: ooo000 * I1I - i1I . i1 * Oo
 if 90 - 90: IiI11Ii111 * i1I . Ii
 if 45 - 45: IiIIii11Ii - I11iiIi11i1I . i1iiIII111 * Ooo0Ooo . IIiIIiIi11I1
 if 14 - 14: iI1iII1I1I1i + OooOoo * I1Ii1I1 - I11iiIi11i1I
 if 84 - 84: oOO % iI1iII1I1I1i - Ooo0Ooo
 if 94 - 94: i1iiIII111 + i1i1i1111I / iI1iII1I1I1i + iI1iII1I1I1i / i1I
 if Gtk . MAJOR_VERSION == 3 and Gtk . MINOR_VERSION < 22 :
  I1i . load_from_data ( b"""
        .title-1 {
           font-weight: 800;
           font-size: 20px;
        }
        """ )
  if 79 - 79: i1iiIII111 - IIiIIiIi11I1 . I1Ii1I1 + I1I - ooOOO + i1iiIII111
 Gtk . StyleContext . add_provider_for_screen (
 Gdk . Screen . get_default ( ) ,
 I1i ,
 Gtk . STYLE_PROVIDER_PRIORITY_FALLBACK )
 if 36 - 36: ooOOO * Iii1i % I1I % i1 . Ooo0Ooo
 oO00OOooOoO0o = thinlinc . prefix . get_tl_prefix ( ) + "/share/icons"
 if 40 - 40: IiIIii11Ii % oOO - IiIIii11Ii % oOO - IiIIii11Ii + iI1iII1I1I1i
 Ooo0oO = [ ]
 for ii1II in [ 16 , 22 , 24 , 32 , 48 , 64 , 128 ] :
  try :
   oOoOo = "%s/thinlinc_%d.png" % ( oO00OOooOoO0o , ii1II )
   o0oOoo0O0o0Oo = GdkPixbuf . Pixbuf . new_from_file ( oOoOo )
  except :
   o0oOoo0O0o0Oo = None
   if 2 - 2: IIiIIiIi11I1 + iI1iII1I1I1i - I1Ii1I1 + ooOOO . IIiIIiIi11I1
  if o0oOoo0O0o0Oo is None :
   try :
    oOoOo = "%s/thinlinc.svg" % oO00OOooOoO0o
    o0oOoo0O0o0Oo = GdkPixbuf . Pixbuf . new_from_file_at_size ( oOoOo , ii1II , ii1II )
   except :
    o0oOoo0O0o0Oo = None
    if 15 - 15: ooo000
  if o0oOoo0O0o0Oo is not None :
   Ooo0oO . append ( o0oOoo0O0o0Oo )
   if 63 - 63: i1I
 if Ooo0oO :
  Gtk . Window . set_default_icon_list ( Ooo0oO )
  if 81 - 81: OooOoo . i1I / i1i1i1111I + Oo / Ooo0Ooo % IiI11Ii111
  if 77 - 77: I11iiIi11i1I / iI1iII1I1I1i - oOo0O00 - Ooo0Ooo % oOo0O00
  if 73 - 73: IiI11Ii111 . Oo * I1I / i1i1i1111I + I1Ii1I1
 global factory
 from . import factory
 if 31 - 31: i1i1i1111I % I1Ii1I1
 global wizard
 from . import wizard
 if 1 - 1: IiI11Ii111 - oOo0O00 - i1 . oOo0O00
 global EntryDialog
 from . dialog import EntryDialog
 if 91 - 91: iI1iII1I1I1i * i1 . ooOOO
 global SimpleMessageDialog
 from . dialog import SimpleMessageDialog
 if 81 - 81: I1I * Oo - i1 % OooOoo * ooOOO
 if 19 - 19: Ii
 if 22 - 22: i1I % iI1iII1I1I1i + Oo
 return True
 if 60 - 60: ooo000 + I11iiIi11i1I + IIiIIiIi11I1 % i1i1i1111I - Ii % Ooo0Ooo
 if 95 - 95: ooOOO % i1i1i1111I . i1
 if 87 - 87: Iii1i % ooOOO * Ii % IIiIIiIi11I1 / I11iiIi11i1I
def linkify_text ( text ) :
 if not has_gtk :
  return text
  if 84 - 84: I1Ii1I1 + Ooo0Ooo % IIiIIiIi11I1 * i1i1i1111I
  if 61 - 61: i1iiIII111 - Oo + I1Ii1I1
  if 43 - 43: IIiIIiIi11I1 * ooo000 + Ii % iI1iII1I1I1i
 IIiI1i = "(https?|ftp)://[0-9a-zA-Z;/?:@&=+$\\.\\-_!~*'()%]+(#[0-9a-zA-Z;/?:@&=+$\\.\\-_!~*'()%]+)?"
 return re . sub ( "(%s)" % IIiI1i , "<a href=\"\\1\">\\1</a>" , text )
 if 85 - 85: Ooo0Ooo - I1I . IiIIii11Ii % IIiIIiIi11I1 % iI1iII1I1I1i
def sanitise_wrap ( text ) :
 if not has_gtk :
  return text
  if 98 - 98: I1I
  if 35 - 35: oOo0O00 / IIiIIiIi11I1 - Iii1i . IiI11Ii111 * i1
  if 91 - 91: oOO + Iii1i
  if 71 - 71: i1 . iI1iII1I1I1i . OooOoo . IIiIIiIi11I1
  if 92 - 92: ooOOO % IIiIIiIi11I1 - IIiIIiIi11I1
  if 32 - 32: OooOoo % I1I - I11iiIi11i1I % OooOoo
  if 9 - 9: i1iiIII111 - ooOOO % Iii1i
  if 37 - 37: i1I + IIiIIiIi11I1 % iI1iII1I1I1i / IIiIIiIi11I1 % i1iiIII111 + oOO
  if 98 - 98: iI1iII1I1I1i - I1I + i1 * ooo000 % i1
  if 100 - 100: i1iiIII111 . IIiIIiIi11I1 * ooo000 * ooo000
 Iioo0Oo0oO0 = ""
 iII11I1iI = False
 for O0O0o0oo00Oo in text :
  if O0O0o0oo00Oo == "<" :
   iII11I1iI = True
   if 96 - 96: Ooo0Ooo
  if iII11I1iI or O0O0o0oo00Oo . isalnum ( ) or O0O0o0oo00Oo . isspace ( ) :
   Iioo0Oo0oO0 += O0O0o0oo00Oo
  else :
   Iioo0Oo0oO0 += "\u200d%s\u200d" % O0O0o0oo00Oo
   if 13 - 13: Oo * I1Ii1I1 - oOo0O00 * Ii . Ii + oOo0O00
  if O0O0o0oo00Oo == ">" :
   iII11I1iI = False
   if 46 - 46: OooOoo - I11iiIi11i1I / Ooo0Ooo
 return Iioo0Oo0oO0
 if 73 - 73: I1Ii1I1 / i1i1i1111I / ooo000 % i1 % i1I - OooOoo
def IIII1iII11ii ( mainwin ) :
 OO0O0OOOoOO = Gtk . check_version ( 3 , 22 , 0 ) is None
 if 14 - 14: i1I - IiIIii11Ii
 if OO0O0OOOoOO :
  return mainwin . get_display ( ) . get_n_monitors ( )
 else :
  return mainwin . get_screen ( ) . get_n_monitors ( )
  if 74 - 74: oOo0O00 * ooo000 . ooOOO
  if 2 - 2: Ii * IIiIIiIi11I1 % i1 + IiIIii11Ii % i1
  if 82 - 82: ooOOO % OooOoo
  if 81 - 81: Ii
  if 40 - 40: i1I . OooOoo + oOo0O00 . i1iiIII111
  if 96 - 96: I1I / oOO / I11iiIi11i1I + I11iiIi11i1I
  if 35 - 35: IIiIIiIi11I1 + oOo0O00
  if 96 - 96: iI1iII1I1I1i . OooOoo . i1
def avoid_center_on_seam ( mainwin ) :
 if IIII1iII11ii ( mainwin ) == 1 :
  OO0O0OOOoOO = Gtk . check_version ( 3 , 22 , 0 ) is None
  if OO0O0OOOoOO :
   OOo = mainwin . get_display ( ) . get_monitor ( 0 )
   oO000O0O0 = OOo . get_geometry ( )
   ooOo00O0o0o0 , OOooooOOooo0 = oO000O0O0 . width , oO000O0O0 . height
  else :
   II1111I11 = mainwin . get_screen ( )
   ooOo00O0o0o0 , OOooooOOooo0 = II1111I11 . get_width ( ) , II1111I11 . get_height ( )
   if 94 - 94: Oo - IIiIIiIi11I1
  O0 , oOoOo0O00 = ooOo00O0o0o0 , OOooooOOooo0
  if 46 - 46: ooo000
  if 36 - 36: iI1iII1I1I1i . i1i1i1111I
  if 85 - 85: IiI11Ii111 * Iii1i
  if 7 - 7: OooOoo / I1I % i1i1i1111I
  if 98 - 98: i1I / i1 / OooOoo + Iii1i % ooOOO
  for iIii1iiiIi in range ( 1 , ooOo00O0o0o0 ) :
   O0 = ooOo00O0o0o0 / iIii1iiiIi
   if float ( O0 ) / OOooooOOooo0 < 2.4 :
    break
  for iIii1iiiIi in range ( 1 , OOooooOOooo0 ) :
   oOoOo0O00 = OOooooOOooo0 / iIii1iiiIi
   if float ( O0 ) / oOoOo0O00 > 1.2 :
    break
  oOoo , ooOOO00oO0o0o = mainwin . get_size ( )
  OooOOO0oO0Oo = ( O0 - oOoo ) / 2
  IiiiI11111I = ( oOoOo0O00 - ooOOO00oO0o0o ) / 2
  if OooOOO0oO0Oo > 0 and IiiiI11111I > 0 :
   mainwin . move ( OooOOO0oO0Oo , IiiiI11111I )
   if 49 - 49: oOo0O00 % I11iiIi11i1I - Ooo0Ooo % Oo . oOO
def IiIIIII1i ( title , msg ) :
 O0OOo0O = shutil . which ( "zenity" )
 if O0OOo0O is None :
  return False
  if 9 - 9: i1i1i1111I
 try :
  I11 = subprocess . call ( [ O0OOo0O , "--error" , "--title" , title , "--text" , msg ] )
  if I11 < 0 or I11 == 255 :
   return False
 except OSError :
  return False
  if 48 - 48: Ii % i1I
 return True
 if 72 - 72: Oo + IiIIii11Ii - Ooo0Ooo * Ii * oOo0O00
def O00 ( title , msg ) :
 O0OOo0O = shutil . which ( "Xdialog" )
 if O0OOo0O is None :
  return False
  if 28 - 28: IIiIIiIi11I1 * i1
 try :
  I11 = subprocess . call ( [ O0OOo0O , "--title" , title ,
 "--msgbox" , msg , "0" , "0" ] )
  if I11 < 0 :
   return False
 except OSError :
  return False
  if 14 - 14: IiIIii11Ii % ooOOO . i1I
 return True
 if 29 - 29: IiI11Ii111 % oOO % IiI11Ii111 . ooOOO
def i1IIIi ( title , msg ) :
 O0OOo0O = shutil . which ( "kdialog" )
 if O0OOo0O is None :
  return False
  if 24 - 24: ooo000 % i1i1i1111I
 try :
  I11 = subprocess . call ( [ O0OOo0O , "--title" , title , "--error" , msg ] )
  if I11 != 0 :
   return False
 except OSError :
  return False
  if 19 - 19: Iii1i * I11iiIi11i1I . ooo000 / iI1iII1I1I1i - I1Ii1I1 + IiIIii11Ii
 return True
 if 40 - 40: i1I + i1i1i1111I % OooOoo . IiI11Ii111 / i1i1i1111I . ooOOO
def message ( title , msg ) :
 if 57 - 57: IIiIIiIi11I1 - iI1iII1I1I1i % ooOOO - I11iiIi11i1I / IiIIii11Ii . Ooo0Ooo
 if 15 - 15: i1I * I11iiIi11i1I - oOo0O00
 if 6 - 6: IiI11Ii111 - Ii
 if not os . environ . get ( "DISPLAY" , "" ) :
  return False
  if 1 - 1: I1I + OooOoo
  if 98 - 98: i1iiIII111 + Iii1i . IIiIIiIi11I1
 msg = "\n" . join ( textwrap . wrap ( msg ) )
 if 96 - 96: OooOoo / oOO - i1 * I11iiIi11i1I
 if IiIIIII1i ( title , msg ) :
  return True
  if 72 - 72: i1i1i1111I + Ii - Iii1i - i1i1i1111I - i1I + Ooo0Ooo
 if O00 ( title , msg ) :
  return True
  if 74 - 74: Ooo0Ooo * Oo + Iii1i - i1iiIII111
 if i1IIIi ( title , msg ) :
  return True
  if 22 - 22: IiIIii11Ii - Ooo0Ooo . i1 . i1I - ooo000
 return False
# dd678faae9ac167bc83abf78e5cb2f3f0688d3a3
dialog.py
wget 'https://sme10.lists2.roe3.org/temp/ThinLinc/tl-4.17.0-server/libs/modules/thinlinc/tlgtk/dialog.py'
View Content
# -*-mode: python; coding: utf-8 -*-
#
# Copyright 2012-2014 Pierre Ossman for Cendio AB.
# For more information, see http://www.cendio.com
if 82 - 82: Iii1i
import os
import gettext
if 87 - 87: Ii % i1i1i1111I . Oo / OooOoo * I1Ii1I1 - I1I
from gi . repository import Gtk
if 81 - 81: i1 + ooOOO / oOo0O00 * i1iiIII111 * IiIIii11Ii
from thinlinc import prefix
if 84 - 84: ooo000 - Ooo0Ooo + iI1iII1I1I1i . IIiIIiIi11I1
__all__ = [ "SimpleMessageDialog" , "EntryDialog" ]
if 98 - 98: I11iiIi11i1I % oOO
i1ii1 = None
if 63 - 63: iI1iI11Ii111
def I11II1Ii ( ) :
 global i1ii1
 if i1ii1 is None :
  iIi = os . path . join ( prefix . get_tl_prefix ( ) , "share" , "locale" )
  ii = gettext . translation ( "tl-misc" , iIi , fallback = True )
  i1ii1 = ii . gettext
  if 91 - 91: iI . I11iiIi11i1I . ooOOO / IIiIIiIi11I1 * oOO / OooOoo
class SimpleMessageDialog ( Gtk . MessageDialog ) :
 def __init__ ( self ,
 title = None ,
 text = None ,
 secondary_text = None ,
 cancel_button = False ,
 ok_button = True ,
 cancel_button_label = None ,
 ok_button_label = None ,
 default_response = Gtk . ResponseType . OK ,
 transient_for = None ,
 modal = False ,
 message_type = Gtk . MessageType . INFO ,
 ) :
  if 93 - 93: IIiIIiIi11I1 % IIiIIiIi11I1 / I1I - Oo . Ooo0Ooo
  if 46 - 46: iI1iII1I1I1i - Ii * Oo * Ii
  Gtk . MessageDialog . __init__ ( self ,
 title = title ,
 text = text ,
 secondary_text = secondary_text ,
 transient_for = transient_for ,
 modal = modal ,
 message_type = message_type ,
 buttons = Gtk . ButtonsType . NONE ,
 )
  if 52 - 52: Oo + I1I / oOO / OooOoo - I1Ii1I1 - ooOOO
  if 60 - 60: iI1iII1I1I1i . oOO
  I11II1Ii ( )
  if 13 - 13: oOO
  if 2 - 2: i1
  if cancel_button :
   if cancel_button_label is None :
    cancel_button_label = i1ii1 ( "_Cancel" )
   self . add_button ( cancel_button_label , Gtk . ResponseType . CANCEL )
  if ok_button :
   if ok_button_label is None :
    ok_button_label = i1ii1 ( "_OK" )
   self . add_button ( ok_button_label , Gtk . ResponseType . OK )
   if 22 - 22: IIiIIiIi11I1 - ooo000 / I1Ii1I1 . ooo000
   if 1 - 1: iI1iII1I1I1i + Ooo0Ooo + oOO * IIiIIiIi11I1
  self . set_default_response ( default_response )
  if 20 - 20: I1I + Ii
  if 75 - 75: Ii % i1iiIII111 * Ii . IIiIIiIi11I1 % I11iiIi11i1I % I1Ii1I1
  if 8 - 8: I1Ii1I1 . iI . i1 . Oo - iI1iI11Ii111
  if self . get_titlebar ( ) is not None :
   self . get_titlebar ( ) . get_children ( ) [ 0 ] . hide ( )
   if 32 - 32: Ii % i1i1i1111I % iI1iI11Ii111 - I11iiIi11i1I % i1iiIII111
  self . set_skip_taskbar_hint ( False )
  if 34 - 34: i1iiIII111 * i1
class EntryDialog ( SimpleMessageDialog ) :
 def __init__ ( self ,
 title = None ,
 message_format = None ,
 secondary_text = None ,
 cancel_button = True ,
 ok_button = True ,
 cancel_button_label = None ,
 ok_button_label = None ,
 default_response = Gtk . ResponseType . OK ,
 transient_for = None ,
 modal = False ,
 message_type = Gtk . MessageType . QUESTION ,
 visibility = True ,
 ) :
  if 34 - 34: oOo0O00 / i1iiIII111 - Iii1i . iI1iII1I1I1i
  if 80 - 80: i1i1i1111I . I1I % ooOOO % IiIIii11Ii / i1i1i1111I
  SimpleMessageDialog . __init__ ( self ,
 title = title ,
 text = message_format ,
 secondary_text = secondary_text ,
 cancel_button = cancel_button ,
 ok_button = ok_button ,
 cancel_button_label = cancel_button_label ,
 ok_button_label = ok_button_label ,
 default_response = default_response ,
 transient_for = transient_for ,
 modal = modal ,
 message_type = message_type ,
 )
  if 32 - 32: I1Ii1I1 + oOO - oOo0O00
  if 79 - 79: Iii1i % oOO * Oo + ooOOO / Oo . oOO
  self . entry = Gtk . Entry ( )
  self . entry . set_visibility ( visibility )
  self . entry . set_width_chars ( 40 )
  self . entry . set_margin_start ( 30 )
  self . entry . set_margin_end ( 30 )
  self . entry . set_margin_bottom ( 12 )
  if 20 - 20: iI + i1iiIII111 / I1I
  if 88 - 88: I11iiIi11i1I + ooOOO - i1i1i1111I . Ooo0Ooo * Ii + Iii1i
  if 43 - 43: ooOOO * I1Ii1I1
  self . entry . set_activates_default ( True )
  if 95 - 95: Ooo0Ooo % Iii1i % i1i1i1111I . OooOoo
  self . vbox . pack_start ( self . entry , expand = False , fill = False , padding = 0 )
  self . entry . show ( )
  if 70 - 70: IiIIii11Ii
  if 75 - 75: Ooo0Ooo / Ii / IiIIii11Ii + IiIIii11Ii . I1I
  if 88 - 88: Oo * IiIIii11Ii
  self . entry . grab_focus ( )
  if 100 - 100: iI - OooOoo * I1Ii1I1 / Ooo0Ooo / Iii1i
 def run ( self ) :
  id = Gtk . MessageDialog . run ( self )
  if id != Gtk . ResponseType . OK :
   return None
   if 23 - 23: Ooo0Ooo + i1 * I1Ii1I1 + Oo * Ii - IIiIIiIi11I1
  return self . entry . get_text ( )
# dd678faae9ac167bc83abf78e5cb2f3f0688d3a3
factory.py
wget 'https://sme10.lists2.roe3.org/temp/ThinLinc/tl-4.17.0-server/libs/modules/thinlinc/tlgtk/factory.py'
View Content
# -*-mode: python; coding: utf-8 -*-
#
# Copyright 2012-2014 Pierre Ossman for Cendio AB.
# For more information, see http://www.cendio.com
if 82 - 82: Iii1i
import math
if 87 - 87: Ii % i1i1i1111I . Oo / OooOoo * I1Ii1I1 - I1I
from gi . repository import Gdk
from gi . repository import Gtk
from gi . repository import GdkPixbuf
if 81 - 81: i1 + ooOOO / oOo0O00 * i1iiIII111 * IiIIii11Ii
__all__ = [
 "boxed_list" , "check_list" , "radio_list" , "spinner_text" , "scrolled_view" ,
 "switch_list" , "boxed_label_list" , "scale_aware_surface_from_pixbuf" ,
 ]
if 84 - 84: ooo000 - Ooo0Ooo + iI1iII1I1I1i . IIiIIiIi11I1
def scrolled_view ( widget , hsb_policy = Gtk . PolicyType . AUTOMATIC ,
 vsb_policy = Gtk . PolicyType . AUTOMATIC ) :
 iI111iiIi11i = Gtk . ScrolledWindow ( )
 iI111iiIi11i . set_policy ( hsb_policy , vsb_policy )
 iI111iiIi11i . set_shadow_type ( Gtk . ShadowType . NONE )
 if 77 - 77: iIiii1i - ooo0O0oO00 . o00o0OO00O
 Ooo = Gtk . Viewport ( )
 Ooo . set_shadow_type ( Gtk . ShadowType . NONE )
 Ooo . add ( widget )
 if 9 - 9: ii . Ii * i1
 iI111iiIi11i . add ( Ooo )
 if 9 - 9: i1iiIII111
 return iI111iiIi11i
 if 10 - 10: ooOOO / IIiIIiIi11I1 * ooo0O0oO00 / o00o0OO00O / o00o0OO00O
def check_list ( choices , title = None , subtitle = None ) :
 oOooo0OOO = [ Gtk . CheckButton ( label = choice , can_focus = False )
 for choice in choices ]
 if 53 - 53: Ii * Oo * ooo000 . i1iiIII111
 def ii1Ii ( list , row ) :
  oOooO0 = oOooo0OOO [ row . get_index ( ) ]
  oOooO0 . emit ( 'activate' )
  if 13 - 13: ooo0O0oO00
 iiIII = boxed_list ( oOooo0OOO , title , subtitle , ii1Ii )
 return ( iiIII , oOooo0OOO )
 if 28 - 28: I1Ii1I1 . Iii1i - ooOOO - iI1iII1I1I1i
def boxed_list ( widgets , title = None , subtitle = None ,
 row_activated_cb = None , activatable = True ) :
 iiIII = Gtk . Box ( orientation = Gtk . Orientation . VERTICAL , spacing = 6 )
 if 37 - 37: ooo0O0oO00 * IIiIIiIi11I1 * I1I / oOo0O00
 if title :
  i11i1Iii1I1 = Gtk . Label ( halign = Gtk . Align . FILL , xalign = 0 )
  i11i1Iii1I1 . set_markup ( "<b>%s</b>" % ( title , ) )
  iiIII . pack_start ( i11i1Iii1I1 , expand = False , fill = False , padding = 0 )
  if 68 - 68: iIiii1i . i1i1i1111I
 if subtitle :
  ii1iIi1i11i = Gtk . Label (
 label = subtitle ,
 halign = Gtk . Align . FILL ,
 xalign = 0 ,
 wrap = True , max_width_chars = 0
 )
  iiIII . pack_start ( ii1iIi1i11i , expand = False , fill = False , padding = 0 )
  if 80 - 80: Ooo0Ooo
 if not widgets :
  iiIII . show_all ( )
  return iiIII
  if 85 - 85: iIiii1i % ooOOO + i1iiIII111 / ooOOO / ooo000
 IIiiI11ii = Gtk . Frame ( )
 iiIII . pack_start ( IIiiI11ii , expand = False , fill = False , padding = 6 )
 if 69 - 69: ooOOO % OooOoo
 oOOoO = Gtk . ListBox ( activate_on_single_click = True ,
 selection_mode = Gtk . SelectionMode . NONE )
 IIiiI11ii . add ( oOOoO )
 if 70 - 70: ii + iIiii1i * ooo0O0oO00 . Oo + ooOOO / Oo
 if row_activated_cb :
  oOOoO . connect ( 'row-activated' , row_activated_cb )
  if 14 - 14: OooOoo % oOo0O00 + I1I % i1iiIII111 * ooOOO / iIiii1i
 for OoOo in widgets :
  oOo0O00O0ooo = Gtk . ListBoxRow (
 selectable = False ,
 activatable = activatable ,
 )
  if 89 - 89: Ii % IiIIii11Ii
  IiII = 12
  I1i1i = 12
  if 46 - 46: ii - OooOoo * I1Ii1I1 / Ooo0Ooo / Iii1i
  I11iIi1i = Gtk . Box ( orientation = Gtk . Orientation . HORIZONTAL )
  I11iIi1i . set_margin_top ( IiII )
  I11iIi1i . set_margin_bottom ( IiII )
  I11iIi1i . pack_start ( OoOo , expand = True , fill = True , padding = I1i1i )
  oOo0O00O0ooo . add ( I11iIi1i )
  if 49 - 49: IIiIIiIi11I1
  oOOoO . add ( oOo0O00O0ooo )
  if 29 - 29: IiIIii11Ii - oOo0O00
 iiIII . show_all ( )
 return iiIII
 if 30 - 30: I1I . ooo000
def boxed_label_list ( labels , title = None , subtitle = None ) :
 oOooo0OOO = [ Gtk . Label ( label = label ) for label in labels ]
 return boxed_list ( oOooo0OOO , title , subtitle , activatable = False )
 if 43 - 43: ooOOO . iIiii1i + ooo000
def radio_list ( choices , title = None , subtitle = None ) :
 if 87 - 87: Iii1i + ooOOO . o00o0OO00O / Ii + Oo
 if 77 - 77: i1iiIII111 + ii - Oo % ooo000
 if 74 - 74: Ii + Ooo0Ooo
 if 1 - 1: I1I % Ooo0Ooo + i1iiIII111 . i1iiIII111 % Oo
 if 93 - 93: oOo0O00 % Ooo0Ooo * i1iiIII111
 if 52 - 52: ooo0O0oO00 + I1I / ooo000 - I1Ii1I1 * o00o0OO00O % oOo0O00
 oOooo0OOO = [ Gtk . RadioButton ( label = choice ) for choice in choices ]
 for OoOo in oOooo0OOO [ 1 : ] :
  OoOo . join_group ( oOooo0OOO [ 0 ] )
  if 52 - 52: oOo0O00 . I1I + o00o0OO00O - i1iiIII111 % iI1iII1I1I1i
 def ii1Ii ( list , row ) :
  oOooO0 = oOooo0OOO [ row . get_index ( ) ]
  oOooO0 . emit ( 'activate' )
  if 57 - 57: I1I * IIiIIiIi11I1 % I1Ii1I1 * i1i1i1111I
 iiIII = boxed_list ( oOooo0OOO , title , subtitle , ii1Ii )
 return ( iiIII , oOooo0OOO )
 if 37 - 37: ii * i1i1i1111I + oOo0O00 / I1I / OooOoo
def switch_list ( choices , title = None , subtitle = None ) :
 oOooo0OOO = [ ]
 iI1iI = [ ]
 if 54 - 54: I1I % ooo000 * ooo000 - OooOoo / Iii1i * Oo
 for o00O in choices :
  if 7 - 7: Oo / OooOoo - iIiii1i - ii % i1iiIII111
  OOo0OOOo0O = Gtk . Box ( orientation = Gtk . Orientation . HORIZONTAL )
  if 99 - 99: i1 - iI1iII1I1I1i + oOo0O00 . ooOOO / i1iiIII111
  oooO = Gtk . Label ( label = o00O )
  OOo0OOOo0O . pack_start ( oooO , expand = False , fill = False , padding = 12 )
  if 89 - 89: I1I * i1i1i1111I
  O0OOooO = Gtk . Switch ( )
  O0OOooO . set_can_focus ( False )
  OOo0OOOo0O . pack_end ( O0OOooO , expand = False , fill = False , padding = 0 )
  oOooo0OOO . append ( O0OOooO )
  if 50 - 50: Iii1i * ooo000 % Iii1i - oOo0O00 + ooo000
  iI1iI . append ( OOo0OOOo0O )
  if 54 - 54: ooo0O0oO00 * i1 % i1 - Ooo0Ooo + IIiIIiIi11I1
 def ii1Ii ( list , row ) :
  oOooO0 = oOooo0OOO [ row . get_index ( ) ]
  oOooO0 . emit ( 'activate' )
  if 4 - 4: ooo000 + I1Ii1I1 * OooOoo - ii
 iiIII = boxed_list ( iI1iI , title , subtitle , ii1Ii )
 return iiIII , oOooo0OOO
 if 69 - 69: ooo000
def spinner_text ( text ) :
 iiIII = Gtk . Box ( orientation = Gtk . Orientation . HORIZONTAL ,
 halign = Gtk . Align . CENTER , valign = Gtk . Align . CENTER )
 iiIII . set_spacing ( 6 )
 if 76 - 76: Iii1i * Ooo0Ooo . iI1iII1I1I1i / Ii / ooOOO
 OOOOO = Gtk . Spinner ( active = True )
 iiIII . pack_start ( OOOOO , expand = True , fill = True , padding = 0 )
 if 36 - 36: i1i1i1111I + Iii1i - ooo0O0oO00 * Ii
 oo0ooooo0ooo = Gtk . Label ( label = text )
 iiIII . pack_end ( oo0ooooo0ooo , expand = True , fill = True , padding = 0 )
 if 61 - 61: o00o0OO00O . iI1iII1I1I1i / ooOOO * I1Ii1I1 + ii % Oo
 return iiIII
 if 100 - 100: Oo + o00o0OO00O
def scale_aware_surface_from_pixbuf (
 pixbuf , width , height , preserve_aspect_ratio = False ,
 ) :
 if 4 - 4: ooo000 % I1I - i1i1i1111I
 if 76 - 76: i1 * oOo0O00 . ii * o00o0OO00O . IiIIii11Ii . ooo0O0oO00
 if 55 - 55: i1i1i1111I + i1iiIII111 % Ooo0Ooo . Oo - IiIIii11Ii - iI1iII1I1I1i
 if 91 - 91: I1Ii1I1 - iIiii1i
 if 84 - 84: ooo0O0oO00 % iI1iII1I1I1i - Ooo0Ooo
 if 94 - 94: i1iiIII111 + i1i1i1111I / iI1iII1I1I1i + iI1iII1I1I1i / o00o0OO00O
 if 79 - 79: i1iiIII111 - IIiIIiIi11I1 . I1Ii1I1 + I1I - ooOOO + i1iiIII111
 if 36 - 36: ooOOO * Iii1i % I1I % i1 . Ooo0Ooo
 if 63 - 63: IIiIIiIi11I1 / IIiIIiIi11I1 * Iii1i - oOo0O00 . i1
 if 52 - 52: oOo0O00 / o00o0OO00O * IIiIIiIi11I1 + iIiii1i % Ooo0Ooo + ooo0O0oO00
 if 43 - 43: iI1iII1I1I1i * oOo0O00 + ooOOO
 if 30 - 30: I1I
 if 41 - 41: ooo0O0oO00
 if 98 - 98: I1I / IIiIIiIi11I1 / o00o0OO00O + ii % Oo + I1I
 if 38 - 38: I1Ii1I1 + oOo0O00
 if 2 - 2: OooOoo % Ii + ooo0O0oO00 . OooOoo + IIiIIiIi11I1 * Oo
 if preserve_aspect_ratio :
  if 2 - 2: IIiIIiIi11I1 + iI1iII1I1I1i - I1Ii1I1 + ooOOO . IIiIIiIi11I1
  if 15 - 15: ooo000
  if 63 - 63: o00o0OO00O
  if width == - 1 and height == - 1 :
   width = pixbuf . get_width ( )
   height = pixbuf . get_height ( )
   if 81 - 81: OooOoo . o00o0OO00O / i1i1i1111I + Oo / Ooo0Ooo % ii
  elif width == - 1 and height != - 1 :
   width = ( height / pixbuf . get_height ( ) ) * pixbuf . get_width ( )
   if 77 - 77: iIiii1i / iI1iII1I1I1i - oOo0O00 - Ooo0Ooo % oOo0O00
  elif width != - 1 and height == - 1 :
   height = ( width / pixbuf . get_width ( ) * pixbuf . get_height ( ) )
   if 73 - 73: ii . Oo * I1I / i1i1i1111I + I1Ii1I1
 else :
  if 31 - 31: i1i1i1111I % I1Ii1I1
  I11IIiiI1 = ( pixbuf . get_width ( ) / width , pixbuf . get_height ( ) / height )
  if 37 - 37: i1i1i1111I - i1 * o00o0OO00O + I1I * Oo - ooo0O0oO00
  iiiiiI = (
 max ( 1 , I11IIiiI1 [ 1 ] / I11IIiiI1 [ 0 ] ) , max ( 1 , I11IIiiI1 [ 0 ] / I11IIiiI1 [ 1 ] )
 )
  OO0 = pixbuf . get_width ( ) * iiiiiI [ 0 ]
  O00OOo = pixbuf . get_height ( ) * iiiiiI [ 1 ]
  if 77 - 77: Ooo0Ooo
  pixbuf = pixbuf . scale_simple ( OO0 , O00OOo ,
 GdkPixbuf . InterpType . TILES )
  if 95 - 95: ooOOO % i1i1i1111I . i1
  if 87 - 87: Iii1i % ooOOO * Ii % IIiIIiIi11I1 / iIiii1i
  if 84 - 84: I1Ii1I1 + Ooo0Ooo % IIiIIiIi11I1 * i1i1i1111I
 I11IIiiI1 = ( pixbuf . get_width ( ) / width , pixbuf . get_height ( ) / height )
 if I11IIiiI1 != ( int ( I11IIiiI1 [ 0 ] ) , int ( I11IIiiI1 [ 1 ] ) ) :
  I11IIiiI1 = ( math . ceil ( I11IIiiI1 [ 0 ] ) , math . ceil ( I11IIiiI1 [ 1 ] ) )
  if 61 - 61: i1iiIII111 - Oo + I1Ii1I1
  OOO0O0oOoOOOo = I11IIiiI1 [ 0 ] * width
  o0OOoo0O0O0O = I11IIiiI1 [ 1 ] * height
  pixbuf = pixbuf . scale_simple ( OOO0O0oOoOOOo , o0OOoo0O0O0O ,
 GdkPixbuf . InterpType . TILES )
  if 98 - 98: I1I
 return Gdk . cairo_surface_create_from_pixbuf (
 pixbuf , max ( I11IIiiI1 ) , for_window = None
 )
# dd678faae9ac167bc83abf78e5cb2f3f0688d3a3
wizard.py
wget 'https://sme10.lists2.roe3.org/temp/ThinLinc/tl-4.17.0-server/libs/modules/thinlinc/tlgtk/wizard.py'
View Content
# -*-mode: python; coding: utf-8 -*-
#
# Copyright 2012-2014 Pierre Ossman for Cendio AB.
# For more information, see http://www.cendio.com
import os
import gettext
if 82 - 82: Iii1i
from gi . repository import Gtk
from gi . repository import Gdk
from gi . repository import GObject
if 87 - 87: Ii % i1i1i1111I . Oo / OooOoo * I1Ii1I1 - I1I
from thinlinc import prefix
from thinlinc import tlgtk
if 81 - 81: i1 + ooOOO / oOo0O00 * i1iiIII111 * IiIIii11Ii
__all__ = [ "Wizard" , "centered_view" , "centered_label" ]
if 84 - 84: ooo000 - Ooo0Ooo + iI1iII1I1I1i . IIiIIiIi11I1
iI111iiIi11i = None
if 77 - 77: iIiii1i - ooo0O0oO00 . o00o0OO00O
Ooo = 30
I1 = 150
if 71 - 71: i11 % Ii
def iI ( ) :
 global iI111iiIi11i
 if iI111iiIi11i is None :
  i1Ii1i = os . path . join ( prefix . get_tl_prefix ( ) , "share" , "locale" )
  oOooo0OOO = gettext . translation ( "tl-misc" , i1Ii1i , fallback = True )
  iI111iiIi11i = oOooo0OOO . gettext
  if 53 - 53: Ii * Oo * ooo000 . i1iiIII111
def centered_view ( scrollable = False , orientation = Gtk . Orientation . VERTICAL ,
 spacing = 30 , ** kwargs ) :
 ii1Ii = Gtk . Box ( orientation = Gtk . Orientation . VERTICAL ,
 halign = Gtk . Align . FILL , valign = Gtk . Align . START )
 ii1Ii . set_margin_top ( Ooo )
 ii1Ii . set_margin_bottom ( Ooo )
 ii1Ii . set_margin_start ( I1 )
 ii1Ii . set_margin_end ( I1 )
 if 55 - 55: iI1iII1I1I1i + i1
 Iii11iiiiI = Gtk . Box ( orientation = orientation , spacing = spacing , ** kwargs )
 ii1Ii . pack_start ( Iii11iiiiI , expand = True , fill = True , padding = 0 )
 if 63 - 63: ooo000 / I1Ii1I1 . Iii1i - ooo000
 if scrollable :
  ii1Ii = tlgtk . factory . scrolled_view ( ii1Ii )
  if 34 - 34: Ooo0Ooo + ooo0O0oO00 * IIiIIiIi11I1 * OooOoo
 return ii1Ii , Iii11iiiiI
 if 25 - 25: Ii / ooo0O0oO00 % Ii
 if 96 - 96: Ii . IIiIIiIi11I1 % iIiii1i
 if 68 - 68: iIiii1i . i1i1i1111I
 if 24 - 24: i11
 if 9 - 9: ooo000 / o00o0OO00O . o00o0OO00O / Ii % i1i1i1111I % Ooo0Ooo
 if 85 - 85: iIiii1i % ooOOO + i1iiIII111 / ooOOO / ooo000
def centered_label ( label , use_markup = True ,
 max_width_chars = 0 , wrap = True ,
 xalign = 0.5 ,
 valign = Gtk . Align . CENTER ,
 ** label_kwargs ) :
 IIiiI11ii = Gtk . Label (
 label = label , use_markup = use_markup ,
 max_width_chars = max_width_chars , wrap = wrap ,
 xalign = xalign , valign = valign ,
 margin_start = I1 , margin_end = I1 ,
 ** label_kwargs
 )
 if 69 - 69: ooOOO % OooOoo
 def oOOoO ( widget , * args ) :
  if 70 - 70: i11 + iIiii1i * ooo0O0oO00 . Oo + ooOOO / Oo
  iI1i1I = widget . get_layout ( ) . get_line_count ( )
  if 27 - 27: ooOOO * IIiIIiIi11I1 % Ii + Ooo0Ooo . Ii + Iii1i
  if 43 - 43: ooOOO * I1Ii1I1
  if 95 - 95: Ooo0Ooo % Iii1i % i1i1i1111I . OooOoo
  if 70 - 70: IiIIii11Ii
  if iI1i1I > 2 :
   widget . set_justify ( Gtk . Justification . LEFT )
  else :
   widget . set_justify ( Gtk . Justification . CENTER )
   if 75 - 75: Ooo0Ooo / Ii / IiIIii11Ii + IiIIii11Ii . I1I
 IIiiI11ii . connect ( 'map' , oOOoO )
 IIiiI11ii . connect ( 'notify::label' , oOOoO )
 if 88 - 88: Oo * IiIIii11Ii
 return IIiiI11ii
 if 100 - 100: i11 - OooOoo * I1Ii1I1 / Ooo0Ooo / Iii1i
class Wizard ( Gtk . Window ) :
 __gsignals__ = {
 'close' : ( GObject . SignalFlags . RUN_LAST | GObject . SignalFlags . ACTION ,
 GObject . TYPE_NONE ,
 ( ) )
 }
 if 23 - 23: Ooo0Ooo + i1 * I1Ii1I1 + Oo * Ii - IIiIIiIi11I1
 def __init__ ( self ) :
  Gtk . Window . __init__ ( self )
  if 29 - 29: IiIIii11Ii - oOo0O00
  iI ( )
  if 30 - 30: I1I . ooo000
  self . connect ( "delete-event" , self . _on_delete )
  self . connect ( "key-press-event" , self . _on_key_press )
  self . set_resizable ( False )
  if 43 - 43: ooOOO . iIiii1i + ooo000
  self . _history = [ ]
  if 87 - 87: Iii1i + ooOOO . o00o0OO00O / Ii + Oo
  self . _build_ui ( )
  if 77 - 77: i1iiIII111 + i11 - Oo % ooo000
 def run ( self ) :
  self . _finished = False
  if 74 - 74: Ii + Ooo0Ooo
  self . connect ( "destroy" , Gtk . main_quit )
  if 1 - 1: I1I % Ooo0Ooo + i1iiIII111 . i1iiIII111 % Oo
  if self . forward_button . get_property ( "visible" ) :
   self . forward_button . grab_focus ( )
  elif self . close_button . get_property ( "visible" ) :
   self . close_button . grab_focus ( )
   if 93 - 93: oOo0O00 % Ooo0Ooo * i1iiIII111
  self . show ( )
  Gtk . main ( )
  if 52 - 52: ooo0O0oO00 + I1I / ooo000 - I1Ii1I1 * o00o0OO00O % oOo0O00
  return self . _finished
  if 52 - 52: oOo0O00 . I1I + o00o0OO00O - i1iiIII111 % iI1iII1I1I1i
 def _add_intro_or_finish ( self , title , text , intro_forward_button = None ,
 banner_path = None , width = - 1 , height = - 1 ) :
  Oo0O0o0oO000 = Gtk . EventBox ( valign = Gtk . Align . CENTER )
  ii1Ii , o0Ooo = centered_view ( spacing = 0 )
  Oo0O0o0oO000 . add ( ii1Ii )
  if 19 - 19: Ii
  if banner_path is not None :
   if 32 - 32: i1i1i1111I % Ooo0Ooo - o00o0OO00O * I1I
   Ooo00ooO = 480
   i1Ii1iiIiI111 = 144
   if 77 - 77: i11 - iIiii1i * Ooo0Ooo
   if ( width , height ) == ( - 1 , - 1 ) :
    width = Ooo00ooO
    height = i1Ii1iiIiI111
    if 71 - 71: IIiIIiIi11I1 / ooOOO - ooOOO / iIiii1i
    if 63 - 63: ooOOO / i1i1i1111I - oOo0O00 * ooOOO / i1iiIII111 + ooo0O0oO00
   iiI1 = 1
   iII = 1
   if width > Ooo00ooO :
    iiI1 = Ooo00ooO / width
   if height > i1Ii1iiIiI111 :
    iII = i1Ii1iiIiI111 / height
   width = width * min ( iiI1 , iII )
   height = height * min ( iiI1 , iII )
   if 43 - 43: Ooo0Ooo - I1I . ooo000 - Iii1i % o00o0OO00O
   if 49 - 49: IiIIii11Ii . ooo000 + ooo0O0oO00 - ooo0O0oO00
   if 78 - 78: i1 - ooOOO
   if 56 - 56: ooo000 . ooo000 + I1Ii1I1 * iI1iII1I1I1i
   if 17 - 17: Iii1i % o00o0OO00O - Iii1i % Ooo0Ooo . OooOoo
   if os . path . splitext ( banner_path ) [ 1 ] == '.svg' :
    if 60 - 60: ooOOO . ooo000
    oOOOOOOoO = ( 1 , 1 )
    if width != - 1 and height != - 1 :
     oOOOOOOoO = ( width * 4 , height * 4 )
    elif width == - 1 and height != - 1 :
     oOOOOOOoO = ( - 1 , height * 4 )
    elif width != - 1 and height == - 1 :
     oOOOOOOoO = ( width * 4 , - 1 )
     if 3 - 3: Ii % i1 + i1i1i1111I * Ii * i1 . I1I
    iiI1i = tlgtk . GdkPixbuf . Pixbuf . new_from_file_at_scale (
 banner_path ,
 width = oOOOOOOoO [ 0 ] ,
 height = oOOOOOOoO [ 1 ] ,
 preserve_aspect_ratio = True ,
 )
    if 73 - 73: ooOOO - IiIIii11Ii
   else :
    iiI1i = tlgtk . GdkPixbuf . Pixbuf . new_from_file ( banner_path )
    if 22 - 22: Oo % oOo0O00 / o00o0OO00O . oOo0O00 . o00o0OO00O
    if 87 - 87: I1I - o00o0OO00O . i1 * Oo
    if 90 - 90: i11 * o00o0OO00O . Ii
    if 45 - 45: IiIIii11Ii - iIiii1i . i1iiIII111 * Ooo0Ooo . IIiIIiIi11I1
    if 14 - 14: iI1iII1I1I1i + OooOoo * I1Ii1I1 - iIiii1i
    if 84 - 84: ooo0O0oO00 % iI1iII1I1I1i - Ooo0Ooo
    if 94 - 94: i1iiIII111 + i1i1i1111I / iI1iII1I1I1i + iI1iII1I1I1i / o00o0OO00O
   if width != - 1 and height != - 1 :
    iiI1 = iiI1i . get_width ( ) / width
    iII = iiI1i . get_height ( ) / height
    if 79 - 79: i1iiIII111 - IIiIIiIi11I1 . I1Ii1I1 + I1I - ooOOO + i1iiIII111
    if iiI1 < iII :
     width = width * ( iiI1 / iII )
    elif iiI1 > iII :
     height = height * ( iII / iiI1 )
     if 36 - 36: ooOOO * Iii1i % I1I % i1 . Ooo0Ooo
   oO00OOooOoO0o = tlgtk . factory . scale_aware_surface_from_pixbuf (
 iiI1i ,
 width = width ,
 height = height ,
 preserve_aspect_ratio = True ,
 )
   if 40 - 40: IiIIii11Ii % ooo0O0oO00 - IiIIii11Ii % ooo0O0oO00 - IiIIii11Ii + iI1iII1I1I1i
   Ooo0oO = tlgtk . Gtk . Image . new_from_surface ( oO00OOooOoO0o )
   Ooo0oO . set_margin_bottom ( 60 )
   o0Ooo . pack_start ( Ooo0oO , expand = False , fill = False , padding = 0 )
   if 16 - 16: I1Ii1I1 % I1I / IIiIIiIi11I1 * o00o0OO00O + i11 % oOo0O00
  iiIiIi = Gtk . Box ( orientation = Gtk . Orientation . VERTICAL , vexpand = True ,
 halign = Gtk . Align . FILL , valign = Gtk . Align . CENTER ,
 spacing = 18 )
  o0Ooo . pack_start ( iiIiIi , expand = False , fill = False , padding = 0 )
  if 91 - 91: ooOOO / Ii . oOo0O00 % OooOoo * IIiIIiIi11I1
  iIIIIIiiIIi = Gtk . Label (
 label = title , max_width_chars = 35 , wrap = True ,
 xalign = 0.5 , justify = Gtk . Justification . CENTER ,
 )
  iIIIIIiiIIi . get_style_context ( ) . add_class ( 'title-1' )
  iiIiIi . pack_start ( iIIIIIiiIIi , expand = False , fill = True , padding = 0 )
  if 9 - 9: i1i1i1111I - Ii % OooOoo / o00o0OO00O
  if text is not None :
   oo0O0 = Gtk . Label (
 label = text , halign = Gtk . Align . FILL , valign = Gtk . Align . START ,
 max_width_chars = 35 ,
 xalign = 0.5 , justify = Gtk . Justification . CENTER ,
 )
   oo0O0 . set_use_markup ( True )
   oo0O0 . set_line_wrap ( True )
   iiIiIi . pack_start ( oo0O0 , expand = True , fill = True , padding = 0 )
   if 77 - 77: iIiii1i / iI1iII1I1I1i - oOo0O00 - Ooo0Ooo % oOo0O00
  i1iI1 = intro_forward_button is not None
  if 11 - 11: I1Ii1I1 / ooo0O0oO00
  iIOooO0O = ooO000oOo0o0 ( self , '' , halign = Gtk . Align . FILL , valign = Gtk . Align . FILL )
  iIOooO0O . connect ( "notify::page-backable" , self . _on_page_notify )
  iIOooO0O . connect ( "notify::page-forwardable" , self . _on_page_notify )
  iIOooO0O . connect ( "notify::page-intro" , self . _on_page_notify )
  iIOooO0O . connect ( "notify::page-busy" , self . _on_page_notify )
  if 20 - 20: i1i1i1111I / I1Ii1I1 . oOo0O00
  iIOooO0O . set_page_intro ( i1iI1 )
  iiIiIi . pack_end ( iIOooO0O , expand = True , fill = True , padding = 0 )
  if 77 - 77: oOo0O00 % Oo - oOo0O00 - ooo000 * iIiii1i + ooo0O0oO00
  if i1iI1 :
   intro_forward_button . connect ( "clicked" , self . _on_forward )
   iiIiIi . pack_start ( intro_forward_button ,
 expand = False , fill = False , padding = 0 )
   iiIiIi . set_focus_child ( intro_forward_button )
   if 64 - 64: i11 . Ooo0Ooo . i1iiIII111 * i11
  Oo0O0o0oO000 . show_all ( )
  if 33 - 33: i1i1i1111I
  Oo0O0o0oO000 . page = iIOooO0O
  self . notebook . append_page ( Oo0O0o0oO000 )
  if 30 - 30: o00o0OO00O % ooOOO . Ii % IIiIIiIi11I1 / iI1iII1I1I1i % ooOOO
  return iIOooO0O
  if 24 - 24: IIiIIiIi11I1 - IIiIIiIi11I1 . Ooo0Ooo + i1iiIII111 + Oo
 def add_intro ( self , title , text , button_label ,
 banner_path = None , width = - 1 , height = - 1 ) :
  I1II1I1i = Gtk . Button . new_with_mnemonic ( button_label )
  I1II1I1i . set_halign ( Gtk . Align . CENTER )
  I1II1I1i . get_style_context ( ) . add_class ( 'suggested-action' )
  return self . _add_intro_or_finish ( title , text , I1II1I1i ,
 banner_path , width , height )
  if 59 - 59: i1iiIII111
 def add_finish ( self , title , text ,
 banner_path = None , width = - 1 , height = - 1 ) :
  if 33 - 33: ooo000 . Iii1i % ooo0O0oO00
  return self . _add_intro_or_finish ( title , text ,
 banner_path = banner_path ,
 width = width , height = height )
  if 60 - 60: I1I . IiIIii11Ii % IIiIIiIi11I1 % iI1iII1I1I1i
 def add_page ( self , title ) :
  i1iII1 = Gtk . Box ( orientation = Gtk . Orientation . VERTICAL )
  if 63 - 63: Iii1i
  iIOooO0O = ooO000oOo0o0 ( self , title , margin = 0 )
  iIOooO0O . connect ( "notify::page-backable" , self . _on_page_notify )
  iIOooO0O . connect ( "notify::page-forwardable" , self . _on_page_notify )
  iIOooO0O . connect ( "notify::page-intro" , self . _on_page_notify )
  iIOooO0O . connect ( "notify::page-busy" , self . _on_page_notify )
  i1iII1 . pack_end ( iIOooO0O , expand = True , fill = True , padding = 0 )
  if 81 - 81: I1Ii1I1 / ooo0O0oO00 + ooo0O0oO00 . i1i1i1111I - i1
  i1iII1 . show_all ( )
  if 15 - 15: OooOoo . oOo0O00 - ooOOO % Ooo0Ooo
  i1iII1 . page = iIOooO0O
  self . notebook . append_page ( i1iII1 )
  if 62 - 62: iI1iII1I1I1i / OooOoo % I1I - i11
  return iIOooO0O
  if 66 - 66: i1i1i1111I / Ooo0Ooo + iIiii1i + Iii1i + oOo0O00 + o00o0OO00O
 def _build_ui ( self ) :
  o0OOO00OO = Gtk . Box ( orientation = Gtk . Orientation . VERTICAL )
  self . add ( o0OOO00OO )
  if 42 - 42: i1 * o00o0OO00O
  self . notebook = Gtk . Notebook ( )
  self . notebook . set_show_tabs ( False )
  self . notebook . set_show_border ( False )
  self . notebook . connect ( "page-added" , self . _page_change )
  self . notebook . connect ( "page-removed" , self . _page_change )
  self . notebook . connect ( "switch-page" , self . _switch_page )
  o0OOO00OO . pack_start ( self . notebook , expand = True , fill = True , padding = 0 )
  if 50 - 50: Ii - i1iiIII111
  O00oOoo0 = Gtk . HeaderBar ( )
  O00oOoo0 . show ( )
  if 76 - 76: iI1iII1I1I1i . iIiii1i . iI1iII1I1I1i
  self . window_title = Gtk . Label ( label = "" )
  self . window_title . get_style_context ( ) . add_class ( "title" )
  self . window_title . show ( )
  O00oOoo0 . set_custom_title ( self . window_title )
  if 2 - 2: Ooo0Ooo / OooOoo * IIiIIiIi11I1 . i1iiIII111 + ooo000 % i1i1i1111I
  self . cancel_button = Gtk . Button . new_with_mnemonic ( iI111iiIi11i ( "_Cancel" ) )
  self . cancel_button . connect ( "clicked" , self . _on_cancel )
  O00oOoo0 . pack_start ( self . cancel_button )
  if 43 - 43: ooo000 % IIiIIiIi11I1 + Ii % i1i1i1111I % oOo0O00 / i1
  self . back_button = Gtk . Button . new_with_mnemonic ( iI111iiIi11i ( "_Back" ) )
  self . back_button . connect ( "clicked" , self . _on_back )
  O00oOoo0 . pack_start ( self . back_button )
  if 96 - 96: Ooo0Ooo
  self . forward_button = Gtk . Button . new_with_mnemonic ( iI111iiIi11i ( "_Forward" ) )
  self . forward_button . connect ( "clicked" , self . _on_forward )
  self . forward_button . get_style_context ( ) . add_class ( 'suggested-action' )
  self . forward_button . set_property ( "can-default" , True )
  O00oOoo0 . pack_end ( self . forward_button )
  if 13 - 13: Oo * I1Ii1I1 - oOo0O00 * Ii . Ii + oOo0O00
  self . close_button = Gtk . Button . new_with_mnemonic ( iI111iiIi11i ( "_Close" ) )
  self . close_button . connect ( "clicked" , self . _on_close )
  self . close_button . get_style_context ( ) . add_class ( 'suggested-action' )
  self . close_button . set_property ( "can-default" , True )
  O00oOoo0 . pack_end ( self . close_button )
  if 46 - 46: OooOoo - iIiii1i / Ooo0Ooo
  self . set_titlebar ( O00oOoo0 )
  if 73 - 73: I1Ii1I1 / i1i1i1111I / ooo000 % i1 % o00o0OO00O - OooOoo
  o0OOO00OO . show_all ( )
  if 30 - 30: ooOOO * ooOOO - Iii1i * iI1iII1I1I1i
 def _get_next_willing ( self , index = None ) :
  if index is None :
   index = self . notebook . get_current_page ( )
   if 37 - 37: I1Ii1I1 % iI1iII1I1I1i . o00o0OO00O + Ooo0Ooo + ooOOO * iI1iII1I1I1i
  while True :
   index += 1
   if 39 - 39: IIiIIiIi11I1 - Oo
   IIiiI11ii = self . notebook . get_nth_page ( index )
   if IIiiI11ii is None :
    return None
    if 31 - 31: IiIIii11Ii % oOo0O00 % oOo0O00 * Iii1i
   iIOooO0O = IIiiI11ii . page
   if iIOooO0O is None :
    return index
    if 85 - 85: Iii1i + Ii % IIiIIiIi11I1 % oOo0O00
   I1i1I = iIOooO0O . emit ( "page-unwilling" , self )
   if not I1i1I :
    return index
    if 87 - 87: OooOoo * Oo * Ii * iI1iII1I1I1i + o00o0OO00O . IiIIii11Ii
 def do_close ( self ) :
  self . _on_delete ( self , None )
  if 94 - 94: oOo0O00 . i1iiIII111
 def _on_delete ( self , window , event ) :
  oo0O0oOO0Oo = self . notebook . get_current_page ( )
  iIOooO0O = self . _get_page_widget ( oo0O0oOO0Oo )
  if 60 - 60: OooOoo
  if iIOooO0O is None or not iIOooO0O . get_page_busy ( ) :
   if 97 - 97: ooo000 * ooo0O0oO00
   if 47 - 47: ooo000
   self . _on_cancel ( None )
   if 2 - 2: Oo % IiIIii11Ii - ooOOO
   if 75 - 75: IiIIii11Ii * i1 . Iii1i - i11
  return True
  if 72 - 72: i1 % i1i1i1111I * iI1iII1I1I1i
 def _on_key_press ( self , window , event ) :
  if event . keyval == Gdk . KEY_Escape :
   self . emit ( "close" )
   if 90 - 90: Ooo0Ooo * OooOoo . Ii
 def _on_cancel ( self , button ) :
  Iiii1iIII = "Abort and Exit"
  o0oO0OOo = "Are you sure you wish to abort " + "%s and exit?" % self . get_title ( )
  if 89 - 89: iI1iII1I1I1i / i1 - IiIIii11Ii
  I1IiIIiiIi = tlgtk . SimpleMessageDialog (
 title = self . get_title ( ) ,
 text = Iiii1iIII ,
 secondary_text = o0oO0OOo ,
 cancel_button = True ,
 cancel_button_label = iI111iiIi11i ( "_Return" ) ,
 ok_button_label = iI111iiIi11i ( "_Abort" ) ,
 default_response = Gtk . ResponseType . CANCEL ,
 transient_for = self ,
 modal = True ,
 message_type = Gtk . MessageType . QUESTION )
  iIiii1i1iiIi1 = I1IiIIiiIi . run ( )
  I1IiIIiiIi . destroy ( )
  if 1 - 1: OooOoo / ooOOO % I1Ii1I1
  if iIiii1i1iiIi1 != Gtk . ResponseType . OK :
   return
   if 15 - 15: OooOoo . IiIIii11Ii . o00o0OO00O / Iii1i + ooOOO / Ii
  oo0O0oOO0Oo = self . notebook . get_current_page ( )
  iIOooO0O = self . _get_page_widget ( oo0O0oOO0Oo )
  if iIOooO0O is not None :
   iIOooO0O . emit ( "page-abort" , self )
   if 17 - 17: iIiii1i - i1i1i1111I . iI1iII1I1I1i - iIiii1i + Oo % iI1iII1I1I1i
  self . destroy ( )
  if 65 - 65: Ii % iIiii1i
 def _on_back ( self , button ) :
  assert len ( self . _history ) > 0
  oo0O0oOO0Oo = self . notebook . get_current_page ( )
  iIOooO0O = self . _get_page_widget ( oo0O0oOO0Oo )
  if iIOooO0O is not None :
   iIOooO0O . emit ( "page-abort" , self )
   if 39 - 39: Iii1i * IIiIIiIi11I1 . Ooo0Ooo - Oo
  self . notebook . set_current_page ( self . _history [ - 1 ] )
  if 63 - 63: i1i1i1111I - i1iiIII111 . OooOoo % OooOoo . i11 + o00o0OO00O
 def _on_forward ( self , button ) :
  oo0O0oOO0Oo = self . notebook . get_current_page ( )
  iIOooO0O = self . _get_page_widget ( oo0O0oOO0Oo )
  if iIOooO0O is not None :
   iIOooO0O . emit ( "page-done" , self )
   if 71 - 71: ooo000 + iIiii1i % iI1iII1I1I1i + i11 % Oo - Oo
  oo0O0oOO0Oo = self . _get_next_willing ( )
  assert oo0O0oOO0Oo is not None
  if 84 - 84: I1I % iI1iII1I1I1i - Ooo0Ooo / iI1iII1I1I1i + Ooo0Ooo - Oo
  self . notebook . set_current_page ( oo0O0oOO0Oo )
  if 41 - 41: ooOOO + OooOoo + IIiIIiIi11I1 * i1i1i1111I
 def _on_close ( self , button ) :
  oo0O0oOO0Oo = self . notebook . get_current_page ( )
  iIOooO0O = self . _get_page_widget ( oo0O0oOO0Oo )
  if iIOooO0O is not None :
   iIOooO0O . emit ( "page-done" , self )
   if 12 - 12: i1i1i1111I
  self . _finished = True
  if 56 - 56: IiIIii11Ii
  self . destroy ( )
  if 17 - 17: o00o0OO00O . ooo0O0oO00 % Oo + IiIIii11Ii - Ooo0Ooo
 def _page_change ( self , notebook , child , page_num ) :
  self . _update_buttons ( self . notebook . get_current_page ( ) )
  if 93 - 93: oOo0O00
 def _switch_page ( self , notebook , page , page_num ) :
  O00 = self . _get_page_widget ( page_num )
  if 28 - 28: IIiIIiIi11I1 * i1
  if O00 . title :
   self . window_title . set_label ( O00 . title )
  else :
   self . window_title . set_label ( self . get_title ( ) )
   if 14 - 14: IiIIii11Ii % ooOOO . o00o0OO00O
  if page_num in self . _history :
   oo0O0oOO0Oo = self . _history . index ( page_num )
   self . _history = self . _history [ : oo0O0oOO0Oo ]
  else :
   oo0O0oOO0Oo = self . notebook . get_current_page ( )
   if oo0O0oOO0Oo != - 1 :
    self . _history . append ( oo0O0oOO0Oo )
    if 29 - 29: i11 % ooo0O0oO00 % i11 . ooOOO
  self . _update_buttons ( page_num )
  if 4 - 4: oOo0O00 + i1iiIII111
 def _on_page_notify ( self , page , property ) :
  self . _update_buttons ( self . notebook . get_current_page ( ) )
  if 45 - 45: I1Ii1I1
 def _update_buttons ( self , page_num ) :
  iIOooO0O = self . _get_page_widget ( page_num )
  if iIOooO0O is not None :
   Ii1 = iIOooO0O . get_page_backable ( )
   i1iIIIIiII1I1 = iIOooO0O . get_page_forwardable ( )
   ii1i = iIOooO0O . get_page_intro ( )
   I1II1IIIi = iIOooO0O . get_page_busy ( )
  else :
   Ii1 = True
   i1iIIIIiII1I1 = True
   ii1i = False
   I1II1IIIi = False
   if 97 - 97: IiIIii11Ii . Oo - o00o0OO00O + iIiii1i - oOo0O00
  if len ( self . _history ) > 0 :
   self . back_button . show ( )
   self . back_button . set_sensitive ( Ii1 and not I1II1IIIi )
  else :
   self . back_button . hide ( )
   if 6 - 6: i11 - Ii
  if ii1i :
   self . forward_button . hide ( )
   self . forward_button . set_sensitive ( False )
   self . cancel_button . show ( )
   self . cancel_button . set_sensitive ( True )
   self . close_button . hide ( )
  elif self . _get_next_willing ( page_num ) is not None :
   self . forward_button . show ( )
   self . forward_button . set_sensitive ( i1iIIIIiII1I1 and not I1II1IIIi )
   self . set_default ( self . forward_button )
   self . cancel_button . show ( )
   self . cancel_button . set_sensitive ( not I1II1IIIi )
   self . close_button . hide ( )
  else :
   self . forward_button . hide ( )
   self . cancel_button . hide ( )
   self . close_button . show ( )
   self . close_button . set_sensitive ( not I1II1IIIi )
   self . set_default ( self . close_button )
   if 1 - 1: I1I + OooOoo
   if 98 - 98: i1iiIII111 + Iii1i . IIiIIiIi11I1
  oO00 = self . get_window ( )
  if oO00 is not None :
   if I1II1IIIi :
    II1 = Gdk . Cursor . new_for_display (
 oO00 . get_display ( ) ,
 cursor_type = Gdk . CursorType . WATCH
 )
    oO00 . set_cursor ( II1 )
   else :
    oO00 . set_cursor ( None )
    if 6 - 6: iI1iII1I1I1i . i1iiIII111 . Ooo0Ooo % o00o0OO00O
 def _get_page_widget ( self , page_num ) :
  IIiiI11ii = self . notebook . get_nth_page ( page_num )
  if IIiiI11ii is None :
   return None
   if 52 - 52: Ooo0Ooo * Oo + Iii1i - I1Ii1I1 + iI1iII1I1I1i % IiIIii11Ii
  return IIiiI11ii . page
  if 12 - 12: i1 . o00o0OO00O - iIiii1i - i1i1i1111I
class ooO000oOo0o0 ( Gtk . Bin ) :
 __gproperties__ = {

 # i1iiIII111 + i1iiIII111 / i1i1i1111I / iIiii1i
 'page-backable' : ( GObject . TYPE_BOOLEAN ,
 '' , '' ,
 True ,
 GObject . ParamFlags . READWRITE ) ,

 # iIiii1i . I1I % IiIIii11Ii + OooOoo * Oo / OooOoo
 'page-forwardable' : ( GObject . TYPE_BOOLEAN ,
 '' , '' ,
 True ,
 GObject . ParamFlags . READWRITE ) ,

 # I1Ii1I1 / OooOoo % i1i1i1111I
 'page-intro' : ( GObject . TYPE_BOOLEAN ,
 '' , '' ,
 False ,
 GObject . ParamFlags . READWRITE ) ,

 # IIiIIiIi11I1 * iI1iII1I1I1i
 # iI1iII1I1I1i % o00o0OO00O * i11 * i1iiIII111 + OooOoo
 'page-busy' : ( GObject . TYPE_BOOLEAN ,
 '' , '' ,
 False ,
 GObject . ParamFlags . READWRITE )
 }
 if 57 - 57: IIiIIiIi11I1
 __gsignals__ = {

 # oOo0O00 * o00o0OO00O + IiIIii11Ii . iIiii1i
 'page-unwilling' : ( GObject . SignalFlags . RUN_LAST ,
 GObject . TYPE_BOOLEAN ,
 ( Wizard , ) ) ,

 # oOo0O00
 'page-show' : ( GObject . SignalFlags . RUN_LAST ,
 GObject . TYPE_NONE ,
 ( Wizard , GObject . TYPE_BOOLEAN ) ) ,

 # Ii - IiIIii11Ii . i1i1i1111I + i1i1i1111I
 'page-done' : ( GObject . SignalFlags . RUN_LAST ,
 GObject . TYPE_NONE ,
 ( Wizard , ) ) ,

 # iIiii1i % iI1iII1I1I1i - ooo0O0oO00 % Ii * iI1iII1I1I1i
 'page-abort' : ( GObject . SignalFlags . RUN_LAST ,
 GObject . TYPE_NONE ,
 ( Wizard , ) ) ,
 }
 if 74 - 74: i1iiIII111 / IIiIIiIi11I1 % OooOoo % iI1iII1I1I1i . i1iiIII111 . i1i1i1111I
 def __init__ ( self , wizard , title = None , ** kwargs ) :
  GObject . GObject . __init__ ( self , ** kwargs )
  if 65 - 65: Ii / iI1iII1I1I1i / iIiii1i - i11 % IiIIii11Ii / IiIIii11Ii
  self . title = title
  if 37 - 37: i1iiIII111 - i11 * i1iiIII111 . i1i1i1111I
  self . page_backable = True
  self . page_forwardable = True
  self . page_intro = False
  self . page_busy = False
  if 43 - 43: ooo0O0oO00
  self . _first_map = True
  self . _wizard = wizard
  if 87 - 87: ooOOO + i11 * i1iiIII111 / i1i1i1111I
  self . connect ( "map" , ooO000oOo0o0 . on_map )
  if 75 - 75: IiIIii11Ii / ooo000 + i11 / i1i1i1111I * ooo0O0oO00 + ooo000
 def get_page_backable ( self ) :
  return self . get_property ( 'page-backable' )
  if 83 - 83: iIiii1i / Ooo0Ooo . iIiii1i
 def set_page_backable ( self , value ) :
  return self . set_property ( 'page-backable' , value )
  if 47 - 47: IiIIii11Ii
 def get_page_forwardable ( self ) :
  return self . get_property ( 'page-forwardable' )
  if 40 - 40: i1iiIII111 / IIiIIiIi11I1
 def set_page_forwardable ( self , value ) :
  return self . set_property ( 'page-forwardable' , value )
  if 25 - 25: OooOoo / i1i1i1111I
 def get_page_intro ( self ) :
  return self . get_property ( 'page-intro' )
  if 38 - 38: iIiii1i
 def set_page_intro ( self , value ) :
  return self . set_property ( 'page-intro' , value )
  if 99 - 99: iIiii1i * i1iiIII111 . OooOoo % ooo000 % OooOoo
 def get_page_busy ( self ) :
  return self . get_property ( 'page-busy' )
  if 21 - 21: i11 * I1Ii1I1
 def set_page_busy ( self , value ) :
  return self . set_property ( 'page-busy' , value )
  if 93 - 93: Ooo0Ooo . i1 + i11 - oOo0O00
 def on_map ( self ) :
  if 97 - 97: i1 - i1 % IIiIIiIi11I1 + IiIIii11Ii / o00o0OO00O * iI1iII1I1I1i
  if 60 - 60: iIiii1i - Ooo0Ooo % I1Ii1I1
  self . emit ( "page-show" , self . _wizard , self . _first_map )
  self . _first_map = False
  if 26 - 26: ooOOO / IIiIIiIi11I1 . ooo0O0oO00 + iIiii1i . Oo
 def do_size_request ( self , req ) :
  req . width = 0
  req . height = 0
  oOO0 = self . get_child ( )
  if oOO0 and oOO0 . get_property ( "visible" ) :
   ( req . width , req . height ) = oOO0 . size_request ( )
   if 19 - 19: i1 . IiIIii11Ii - Ooo0Ooo . Ii
 def do_size_allocate ( self , alloc ) :
  self . set_allocation ( alloc )
  oOO0 = self . get_child ( )
  if oOO0 and oOO0 . get_property ( "visible" ) :
   oOO0 . size_allocate ( alloc )
   if 51 - 51: i1 + i1i1i1111I - i1 + i1iiIII111 . Oo
 def do_get_property ( self , property ) :
  if property . name == "page-backable" :
   return self . page_backable
  if property . name == "page-forwardable" :
   return self . page_forwardable
  if property . name == "page-intro" :
   return self . page_intro
  if property . name == "page-busy" :
   return self . page_busy
   if 92 - 92: OooOoo + Ii / IIiIIiIi11I1 + OooOoo * IIiIIiIi11I1 * iI1iII1I1I1i
  raise AttributeError
  if 79 - 79: i1i1i1111I
 def do_set_property ( self , property , value ) :
  if property . name == "page-backable" :
   self . page_backable = value
  elif property . name == "page-forwardable" :
   self . page_forwardable = value
  elif property . name == "page-intro" :
   self . page_intro = value
  elif property . name == "page-busy" :
   self . page_busy = value
  else :
   raise AttributeError
   if 3 - 3: OooOoo / i11 % iIiii1i
GObject . type_register ( Wizard )
GObject . type_register ( ooO000oOo0o0 )
# dd678faae9ac167bc83abf78e5cb2f3f0688d3a3