From b7973d80fb20be98b75feb86c441bf52cea932bf Mon Sep 17 00:00:00 2001 From: Alexandr Popov Date: Sun, 22 Feb 2009 10:03:45 +0300 Subject: [PATCH] add directory with source files and del broken package --- findit-0.1/.setup.py.swp | Bin 0 -> 12288 bytes findit-0.1/Makefile | 6 + findit-0.1/debian/changelog | 6 + findit-0.1/debian/control | 11 + findit-0.1/debian/copyright | 12 ++ findit-0.1/debian/rules | 91 +++++++++ findit-0.1/findit | 2 + findit-0.1/findit.desktop | 7 + findit-0.1/findit.py | 327 ++++++++++++++++++++++++++++++ findit-0.1/icons/findit_icon_128x128.png | Bin 0 -> 7297 bytes findit-0.1/icons/findit_icon_16x16.png | Bin 0 -> 762 bytes findit-0.1/icons/findit_icon_26x26.png | Bin 0 -> 1266 bytes findit-0.1/icons/findit_icon_32x32.png | Bin 0 -> 1626 bytes findit-0.1/icons/findit_icon_64x64.png | Bin 0 -> 3373 bytes findit-0.1/icons/uuencode_b64_26x26.en | 29 +++ findit-0.1/ru.po | 65 ++++++ findit-0.1/ru/LC_MESSAGES/findit.mo | Bin 0 -> 924 bytes findit-0.1/setup.cfg | 3 + findit-0.1/setup.py | 16 ++ findit_0.1-1.tar.gz | Bin 24588 -> 0 bytes findit_0.1-1_all.deb | Bin 1292 -> 0 bytes 21 files changed, 575 insertions(+) create mode 100644 findit-0.1/.setup.py.swp create mode 100644 findit-0.1/Makefile create mode 100644 findit-0.1/debian/changelog create mode 100755 findit-0.1/debian/control create mode 100755 findit-0.1/debian/copyright create mode 100755 findit-0.1/debian/rules create mode 100755 findit-0.1/findit create mode 100644 findit-0.1/findit.desktop create mode 100755 findit-0.1/findit.py create mode 100644 findit-0.1/icons/findit_icon_128x128.png create mode 100644 findit-0.1/icons/findit_icon_16x16.png create mode 100644 findit-0.1/icons/findit_icon_26x26.png create mode 100644 findit-0.1/icons/findit_icon_32x32.png create mode 100644 findit-0.1/icons/findit_icon_64x64.png create mode 100644 findit-0.1/icons/uuencode_b64_26x26.en create mode 100755 findit-0.1/ru.po create mode 100755 findit-0.1/ru/LC_MESSAGES/findit.mo create mode 100644 findit-0.1/setup.cfg create mode 100755 findit-0.1/setup.py delete mode 100644 findit_0.1-1.tar.gz delete mode 100644 findit_0.1-1_all.deb diff --git a/findit-0.1/.setup.py.swp b/findit-0.1/.setup.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..0467bdb68b9748ac7da3bbdbf205b27d0b540bc1 GIT binary patch literal 12288 zcmeI&O>Wab6bJBE_JIm6FeM8Y6nm0TwWv~5A*fI#x*>v16j>8{(hS(1k!Ku|1&AXc zxIlMY08YX!fF&z7@cdB;H9*uIRBxoeB9F(1I0PQP5rwqxYO@-+c&q^jq6V?Sb&z3011!)36KB@kN^pg015o>0?ur}4?M&b4F3Ix zjVAa*g9J!`1W14cNPq-LfCNZ@1W14cNZ^tPh#26s1@H}1egG)H0erp&@Cow~^8xb? z^A__G^9=JCbAb7B72rK4#I!Kq&+1$f8#)FFkN^pg011!)36KB@kN^q%`vPq3xCJXq z#;a4?o}GzYHci?*FZiST;ql>cc<m_$XwDVH&Z@o2zu6*%yNyhHu$na$!UkJ27EG;a&f> eAL&?SC;O~w`z + + -- Alexandr Popov Sat, 21 Feb 2009 20:19:45 +0300 + diff --git a/findit-0.1/debian/control b/findit-0.1/debian/control new file mode 100755 index 0000000..62b1b52 --- /dev/null +++ b/findit-0.1/debian/control @@ -0,0 +1,11 @@ +Source: findit +Section: tools/utils +Priority: optional +Maintainer: Alexandr Popov +Build-Depends: debhelper (>= 7), gettext, python-support (>= 0.4) +Standards-Version: 3.7.3 + +Package: findit +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, python-gtk2 (>= 2.10) +Description: Tool to search for various information on the device \ No newline at end of file diff --git a/findit-0.1/debian/copyright b/findit-0.1/debian/copyright new file mode 100755 index 0000000..9367442 --- /dev/null +++ b/findit-0.1/debian/copyright @@ -0,0 +1,12 @@ +This package was debianized by Alexandr Popov on +Mon, 16 Feb 2009 18:58:11 +0200. + +It was downloaded from http://garage.maemo.org/projects/findit + +Upstream Authors: Wall + mosfet + alex2nr + +License: + + Public Domain \ No newline at end of file diff --git a/findit-0.1/debian/rules b/findit-0.1/debian/rules new file mode 100755 index 0000000..e7e5a48 --- /dev/null +++ b/findit-0.1/debian/rules @@ -0,0 +1,91 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + + + + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Add here commands to compile the package. + $(MAKE) + #docbook-to-man debian/findit.sgml > findit.1 + + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + $(MAKE) clean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/findit. + $(MAKE) DESTDIR=$(CURDIR)/debian/findit install + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs + dh_installexamples +# dh_install +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_python +# dh_installinit +# dh_installcron +# dh_installinfo + dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_perl +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/findit-0.1/findit b/findit-0.1/findit new file mode 100755 index 0000000..5e48165 --- /dev/null +++ b/findit-0.1/findit @@ -0,0 +1,2 @@ +#!/bin/sh +exec python -O /usr/share/finit/findit.py \ No newline at end of file diff --git a/findit-0.1/findit.desktop b/findit-0.1/findit.desktop new file mode 100644 index 0000000..e5e359e --- /dev/null +++ b/findit-0.1/findit.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Version=0.1 +Encoding=UTF-8 +Name=FindIT +Exec=/usr/bin/findit +Icon=findit_icon_26x26 +Type=Application diff --git a/findit-0.1/findit.py b/findit-0.1/findit.py new file mode 100755 index 0000000..93608ef --- /dev/null +++ b/findit-0.1/findit.py @@ -0,0 +1,327 @@ +#!/usr/bin/env python +# -*-coding: utf-8 -*- +# vim: sw=4 ts=4 expandtab ai + +import gtk +import gobject +import pango +from os import walk +from os.path import join, abspath, normcase, basename, \ + isdir, getsize, getatime, getmtime +from heapq import nlargest +import gettext +import sys +import time + +try: import hildon; hildonFound = True +except: hildonFound = False + +try: + # Подразумевается, что ru/LC_MESSAGES/program.mo находится в текущем каталоге (sys.path[0]) + # Для стандартного /usr/share/locale писать gettext.translation('findit') + langRU = gettext.translation('findit', sys.path[0], languages=['ru']) + langRU.install() +except: + def _(text): return text + + +if hildonFound: + winType = hildon.Window +else: + winType = gtk.Window + + +### Common functions ########################################################### + +# Функция которая возвращает строку из числа и единиц для столбца "Размер"("Size") +def size_convert(size): + for i, unit in enumerate(['%d b', '%.1f Kb', '%.2f Mb', '%.3f Gb', '%.4f Tb']): + if size < 1024**(i+1): + return unit % (size/1024.**i) + return '>1024 Tb' + +# Функция поставляющая размер файла и путь к нему +def filegetter(startpath, obj): + # Список игнорируемых каталогов: + ignore_dirs = ['/dev', '/proc', '/sys', '/mnt'] + # Проходим по всем папкам вглубь от заданного пути + for dirpath, dirnames, fnames in walk(startpath): + # Исключаем каталоги из поиска в соответствии со списком исключений + for ign_dir in ignore_dirs[:]: + for dirname in dirnames[:]: + if ign_dir == normcase(join(abspath(dirpath), dirname)): + dirnames.remove(dirname) + ignore_dirs.remove(ign_dir) + + for fname in fnames: + flpath = abspath(join(dirpath, fname)) + # Выводим текущий опрашиваемый файл в строку статуса + obj.currFileLbl.set_text(flpath) + # обновляем окно + gtk.main_iteration() + # Останавливаем цикл по нажатию кнопки стоп + if obj.stopit: + obj.stopit = False + raise StopIteration + # Проверяем можем ли мы определить размер файла - иначе пропускаем его + try: flsize = getsize(flpath) + except: continue + # Возвращаем размер и полный путь файла + yield flsize, flpath + +# Fullscreen +def toggle_fullscreen(obj): + if obj.fullscreen: + obj.window.unfullscreen() + else: obj.window.fullscreen() + obj.fullscreen = not obj.fullscreen + +# Нажатие на кнопку клавиатуры +def on_key_press(obj, event): + if hildonFound and event.keyval == gtk.keysyms.F6: + toggle_fullscreen(obj) + +### Properties dialog ########################################################## + +class PropertiesDialog(gtk.Dialog): + def __init__(self, path, size, bytesize): + gtk.Dialog.__init__(self) + self.set_title( _('File properties') ) + self.set_transient_for(app) + self.set_wmclass('PropertiesDialog', 'FindIT') + self.add_buttons(gtk.STOCK_OK, gtk.RESPONSE_OK) + self.set_resizable(False) + + # Достаем свойства выбранного файла + name = basename(path) + access = time.strftime('%x %X', time.localtime(getatime(path))) + modified = time.strftime('%x %X', time.localtime(getmtime(path))) + + # Таблица надписей + table = gtk.Table() + table.set_border_width(10) + table.set_col_spacings(10) + table.set_row_spacings(10) + + # Надписи (подпись: значение) + nameLbl = gtk.Label( _('Name') ) + nameValueLbl = gtk.Label(name) + + sizeLbl = gtk.Label( _('Size') ) + sizeValueLbl = gtk.Label(size + ' (' + `bytesize` + ' b)') + + accessLbl = gtk.Label( _('Opened') ) + accessValueLbl = gtk.Label(access) + + modifiedLbl = gtk.Label( _('Modified') ) + modifiedValueLbl = gtk.Label(modified) + + # Список надписей + lbls = [(nameLbl, nameValueLbl), (sizeLbl, sizeValueLbl), + (accessLbl, accessValueLbl), (modifiedLbl, modifiedValueLbl)] + + # Упаковка надписей в таблицу и выравнивание + for i, lbl in enumerate(lbls): + name, value = lbl + table.attach(name, 0, 1, i, i+1) + table.attach(value, 1, 2, i, i+1) + name.set_alignment(1, 0.5) + value.set_alignment(0, 0.5) + + # Упаковка таблицы в vbox диалога + self.vbox.add(table) + self.show_all() + self.run() + self.destroy() + +### Main window ################################################################ + +class MainWindow(winType): + + # Окно сообщения заданного типа с заданным текстом + def mess_window(self, mestype, content): + dialog = gtk.MessageDialog(parent=self, flags=gtk.DIALOG_MODAL, + type=mestype, buttons=gtk.BUTTONS_OK, + message_format=content) + dialog.set_wmclass('ErrorDialog', 'FindIT') + dialog.set_title( _('Error!') ) + dialog.run() + dialog.destroy() + + # Функция выполняющаяся при нажатии на кнопку "Показать" + def start_print(self, widget): + self.start_path = self.srch_p_entr.get_text() + # Проверяем правильное ли значение введено + if isdir(self.start_path): + self.butt_start.set_sensitive(False) + self.butt_stop.set_sensitive(True) + self.propertiesBtn.set_sensitive(False) + # Получаем значение количества файлов из SpinButton + self.fl_cnt = int( self.file_cnt.get_value() ) + # Очищаем список + self.treestore.clear() + # Получаем нужное количество самых больших файлов + for fsize, fpath in nlargest(self.fl_cnt, filegetter(self.start_path, self)): + # Возвращаем значения в treeview в таком порядке - путь, + # размер в Мб строкой и размер в байтах + # self.treestore.append(None, [fpath.replace(self.start_path,'', 1), + # size_convert(fsize), fsize]) + + # Выдает какую-то перманентную ошибку при присвоении значений treestore - + # кто увидит скажите - нужна статистика + try: self.treestore.append(None, [fpath, size_convert(fsize), fsize]) + except: 'error', fpath, size_convert(fsize), fsize + self.butt_start.set_sensitive(True) + self.butt_stop.set_sensitive(False) + self.propertiesBtn.set_sensitive(True) + else: + # Иначе выводим окошко с ошибкой + self.mess_window('error', _('Invalid directory') ) + + # Функция выполняющаяся при нажатии на кнопку "Стоп" + def stop_print(self, widget): + self.stopit = True + + # Функция выполняющаяся при нажатии на кнопку "Свойства файла" + def show_properties_dialog(self, btn): + selection = self.treeview.get_selection() + (model, it) = selection.get_selected() + try: + path = model.get_value(it, 0) + size = model.get_value(it, 1) + bytesize = model.get_value(it, 2) + except: + self.mess_window('error', _('Please select file') ) + return + PropertiesDialog(path, size, bytesize) + + ### Window initialization ################################################## + + def __init__(self, win_width, win_height, st_path): + # Создаем новое окно + gtk.Window.__init__(self) + self.set_default_size(win_width, win_height) + self.set_border_width(4) + self.fullscreen = False + self.connect('delete_event', gtk.main_quit) + self.connect("key-press-event", on_key_press) + self.set_wmclass('MainWindow', 'FindIT') + + ######### Добавляем элементы ################ + # 1. Строка ввода каталога с которого начинать поиск + # переменная в которой храниться стартовый каталог = self.start_path + self.srch_p_entr = gtk.Entry() + self.start_path = st_path + self.srch_p_entr.set_text(self.start_path) + # Отключаем автокапитализацию(ввод первой буквы заглавной) на таблетке + if hildonFound: + self.srch_p_entr.set_property("hildon-input-mode", 'full') + # Нажатие Enter в поле ввода + self.srch_p_entr.connect("activate", self.start_print) + + # 2. Кнопка "Обзор" + + # 3. Надпись1 "Количество отображаемых файлов:" + label1 = gtk.Label( _('Files quantity') ) + + # 4. Окошко ввода количества файлов, мин значение=1 макс=65536 по умолчанию 10 + # данные храняться в переменной self.fl_cnt + self.fl_cnt = 10 + if hildonFound: + self.file_cnt = hildon.NumberEditor(1, 99) + self.file_cnt.set_value(self.fl_cnt) + else: + adj = gtk.Adjustment(self.fl_cnt, 1, 65536, 1, 5, 0) + self.file_cnt = gtk.SpinButton(adj, 0, 0) + + # 5.1 Кнопка "Показать" + self.butt_start = gtk.Button( _('Go') ) + self.butt_start.connect('clicked', self.start_print) + + # 5.2 Кнопка "Остановить" + self.butt_stop = gtk.Button( _('Stop') ) + self.butt_stop.set_sensitive(False) + self.butt_stop.connect('clicked', self.stop_print) + self.stopit = False + + # 5.3 Кнопка "Свойства файла" + self.propertiesBtn = gtk.Button( _('File properties') ) + self.propertiesBtn.connect('clicked', self.show_properties_dialog) + self.propertiesBtn.set_sensitive(False) + + # 6. Закладки + + # 6.1 Список файлов + scrollwind = gtk.ScrolledWindow() + scrollwind.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) + + # Определяем переменную в которой будет храниться выводимый список + self.treestore = gtk.TreeStore(str, str, int) + self.treeview = gtk.TreeView(self.treestore) + # На таблетке не отображаються заголовки столбцов по умолчанию - + # след строка заставляет их отображаться принудительно + self.treeview.set_headers_visible(1) + + self.treestore.append(None, ['','', 0]) + + # Создаем и настраиваем колонку с размером файла + size_col = gtk.TreeViewColumn( _('Size') ) + cell = gtk.CellRendererText() + cell.set_property('width', 90) + size_col.pack_start(cell, True) + size_col.add_attribute(cell, 'text', 1) + self.treeview.append_column(size_col) + # Создаем и настраиваем колонку с именем файла + path_col = gtk.TreeViewColumn( _('Path') ) + cell2 = gtk.CellRendererText() + path_col.pack_start(cell2, True) + path_col.add_attribute(cell2, 'text', 0) + self.treeview.append_column(path_col) + + # Добавляем сортировку для колонок + self.treeview.set_search_column(1) + path_col.set_sort_column_id(0) + size_col.set_sort_column_id(2) + + # 6.2 Надпись "Найти" + + # 6.3 Строка выводящая текущий осматриваемый файл + self.currFileLbl = gtk.Label() + self.currFileLbl.set_alignment(0, 0.5) + self.currFileLbl.set_ellipsize(pango.ELLIPSIZE_MIDDLE) + + ######### Упаковываем элементы ################ + # Создаем основной вертикальный контейнер + main_Vbox = gtk.VBox(False, 4) + + # Создаем вспомогательный горизонтальный контейнер для Надписи1, + # окошка ввода количества файлов и кнопки "Показать" + hbox1 = gtk.HBox(False, 5) + # Добавляем вышеперечисленные элементы во вспомогат. контейнер + hbox1.pack_start(label1, False, False, 5) + hbox1.pack_start(self.file_cnt, False, False, 0) + hbox1.pack_start(self.butt_start, True, True, 0) + hbox1.pack_start(self.butt_stop, True, True, 0) + hbox1.pack_start(self.propertiesBtn, True, True, 0) + + # Добавляем элементы в основной контейнер + main_Vbox.pack_start(self.srch_p_entr, False, False, 0) + main_Vbox.pack_start(hbox1, False, False, 0) + scrollwind.add(self.treeview) + main_Vbox.pack_start(scrollwind, True, True, 0) + main_Vbox.pack_start(self.currFileLbl, False, False, 0) + + self.add(main_Vbox) + + def run(self): + self.show_all() + gtk.main() + return 0 + + +### Main call ################################################################## + +if __name__ == '__main__': +# gobject.set_application_name( _('FindIT') ) + app = MainWindow(575, 345, '.') + app.run() diff --git a/findit-0.1/icons/findit_icon_128x128.png b/findit-0.1/icons/findit_icon_128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..c087dcec5bf34c6c510afff673b8e58bccbe773d GIT binary patch literal 7297 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 b4siTGXE8Z=W>gHZ00000NkvXXu0mjf4&n}# literal 0 HcmV?d00001 diff --git a/findit-0.1/icons/findit_icon_16x16.png b/findit-0.1/icons/findit_icon_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..5657ae997a2b54af4258a2060f4002a634cb5f98 GIT binary patch literal 762 zcmV(M&<`W zQdXD+l9gZv20~OIbfE;5gb9)aB}GJ0Mj3b`idU9|Sk4bp=h8x_rlmDE-S&UG&|tnejhTtTiB_i1@^ z18~0eqPgA8kH+){V@_E`<*}>-hyU87rt0#PV`$I-UDE>SDud`!6ZH7ML} zq{fU8004-h)_AhaCJB1`xEgtl>#5_8mMV4<5v`UiSHPC3M9RgmfJmKQ@AY~hk<&55 z+4}-;wyAOarUk>!4K&(n!N`z+9r*;cjl%uLgrwxIP1ZO|--qtez zVrWt{f~}Dt5fiCczR*N55tWFNK*Z4S2qZ-OfPs)&(Fg`n64XMwwzfc#(5$76ly+(9 z&bIrQ;|HvkcH6Cq;Uwq7O#c7#yZ6qWdoD3E?nDT8gaSbNFJhPG*&dDRYY3n*3(E4f zNdL{JnE8B4kVJl`84GiC>~CV`#K;0fq*`tES57y!ONvDub1>^)d(m;?*wGmPZUYG( zI$W7Wm;UhLT$hG@^;u|Z&!phd4En0dL2u6+rY-UZ@?+yc0HF2!Zw%n_=$T^ndI^E- zp%)^2nIe28GUk++QT%=;ojo>)Q#$};=H?a10PyAEgS7R%DxCy@B~fBgl312aMm!!D z`g+5i%>3&p5J9>QAR7SUXgF>l{6iA$mjrmcA~NR^YO$~$L zp6(3*4gipcB{Oqps+mejbRHKmZB7hlYHwg|X^hXsM~a-ZX^yOhYNq;@2}Tlhx%FZU zzy)TGjJuA*LWtq#&l!FFG1OJ3f&f4-zY{dXR^8{%F+j|rD;;(ls%B0U0sz7dels|T zA3tF9M#mElMD;1zKEELdWQ4<^n1Th5OrjI}R9dc02m}D#cy>zy7bcG-A|j{BY=)v( z5bn7SS(d|Hy!eGALZ_`*U87O;!gL@Bxb+1^(rQg~Z&8fv8dK;3le2w;0F+SMWs2&N zNiNOP1{Yv}Bw~B5)3*0YU!;C6GpAhse}32`hkF%z(yUV1GddqUHbR%16UdhUAiuDP zYrbz3@b^v~in67T=Q<+qegvR073j9JZh*h76W~lbXyfy@jYg8D2l5N80H7!qOquHA z;iHM{LV@Qu%ZT1KNc|0F8L&iNm5nk_vK+Fs)UM+Hq zA1BsTG$&65Lvfqk(Us0K%)45_5|x?LH@*mVvpcZA*Q@|lFNH*tkl&Ne^Y2d6F4$1H zdDN~OBLe>1e4)I;Z_In*q9OKgn&hQlYFxB!aXO<2Uxo<}y{^&D;5OS!tEqg!vl?7RiMBOVhS;htoCN=MRVg`1gw~ zdLpSeckzNF4yxK^#?xel3iKU5;V};z|gM=aOK(Y)_oFk3jsiYcTrl9Ac|8m zyjcK%rr=osXaayf{;(Oq8aq{PQBYDLqu^x;g^#AH!H9^I?z-i0x^~(f&N9WKCjacb z+R=ZrFJ*f$)5DsI@tVl1p>`mFIZ)h6#xJL07*qoM6N<$f)ph^SpWb4 literal 0 HcmV?d00001 diff --git a/findit-0.1/icons/findit_icon_32x32.png b/findit-0.1/icons/findit_icon_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..9e225994f547c66231a54a37168e23c3536b0870 GIT binary patch literal 1626 zcmV-g2BrClP)gZVOs$=_r- z7(Qtz$}tqx1NClZ;^iBiSIC>sMS1brsBY>~wWpQ^rzpUo1N&svqYoy4lx11sa=VSo zmq_P#*D#6)u_s?DLOJ$v55IPhpDxpc$C+3{M6j{P<#n$PIce`W%l;A1Tdmi0Rf zDG}9B+hM1dZ%+5h+)<-E6PaFJ+uhIGOHv%~&PG5)Dl4k0-3V%o*vF3@h+BNd&SmBH ze0g%lMFRln((k?-=fi{9SmE{gYl7vK4uHPi2)&UWcMre3H_850Zf5;HAR8VK5xFP; z08w6f*rsP{7BW?(Ls#%fN4toK0#}B)y*i52hr==O+FN^)dpo0v)i1o7^!oe>kJlGJfB2KeShkD0Co%=$1-T$kR@`AImM;C? zhLK=JWD>~H-3L!4Js$6vhW+IGi}d|%v5=QL?hosoY2Seh5=pl%-w4jy0(s@$QTQwK z^2f(AZ4Pjxqdn2j8*2sYwt%d^EgfIlY#5N2R|}5z(|UWuIcAZ2YHF`;*tm6v2jH2f zens1XeTk8>eUTpBz4Lvys+IyL#`E&?VE;9&i(btd06>9kehQquVHT`VRa-vSU!8X+17wyNqshJZ^R4Zl&MFLmn!E$4A&3X%fec%+b~cXD~S z+UxWGW$DjWr1o}36T1(dPB3@_K9%jO=i~05x|vmY-b@C&lUiHgUKiIWaXlB6WO{CC<1iZvOUS#(ogK0zTRN_{o{6AN&+h2&l_`jyi8Ru z3c&R_xp}d@ozcYRt)WCk;7vOqjmPqNW&uONob4!P-=B(T*_u@h45P|PrNIP1b!{;@ ztj6$mb_x*_Ynz~k{&mrtp30d_n- zK-cM09^g=yF4-?4+wxhn(8aY&+}yC*#Y`qhTZa;Dw&`jSESE5DS{_f=IH{~UtJ84B zSF;A-w5(up$s_>U_P2^LCYeg5+5v{jw??3Gu*#mX)IsHJ!8IAUWelzEtO3}z9o@P8 zZ{+0W%a+aSaeKVm`+6f6T*0v3{W|b^KsMA_RNpM*e9=(w1w&v&0!eC;)^%BTMk4Yx zuh0LGF=j$4m2B;g#g?mTOJ+&%$+yOPm|O28_<1E3NpbRcindUPx#07*qoM6N<$g5lvF>i_@% literal 0 HcmV?d00001 diff --git a/findit-0.1/icons/findit_icon_64x64.png b/findit-0.1/icons/findit_icon_64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..3ab3f4da7efae7f1efefcbade4a3251a43bab945 GIT binary patch literal 3373 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, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2009-02-17 15:19+Russian Standard Time\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: ENCODING\n" +"Generated-By: pygettext.py 1.5\n" + + +#: findit.py:83 findit.py:231 +msgid "File properties" +msgstr "Свойства файла" + +#: findit.py:96 +msgid "Name" +msgstr "Имя" + +#: findit.py:99 findit.py:251 +msgid "Size" +msgstr "Размер" + +#: findit.py:102 +msgid "Opened" +msgstr "Открыт" + +#: findit.py:105 +msgid "Modified" +msgstr "Изменен" + +#: findit.py:131 +msgid "Error!" +msgstr "Ошибка!" + +#: findit.py:163 +msgid "Invalid directory" +msgstr "Каталог не существует" + +#: findit.py:178 +msgid "Please select file" +msgstr "Выберите файл в списке" + +#: findit.py:208 +msgid "Files quantity" +msgstr "Количество файлов" + +#: findit.py:221 +msgid "Go" +msgstr "Пуск" + +#: findit.py:225 +msgid "Stop" +msgstr "Стоп" + +#: findit.py:258 +msgid "Path" +msgstr "Путь" + diff --git a/findit-0.1/ru/LC_MESSAGES/findit.mo b/findit-0.1/ru/LC_MESSAGES/findit.mo new file mode 100755 index 0000000000000000000000000000000000000000..22b22e40c8133cd1e935e7bb81e44792ae03fa42 GIT binary patch literal 924 zcmYk2TWb?R6vsy`D!~g@@I@b{Z}i`JexsneY95uNl76h)aldmHhYp z!1_4iC*myP7vc<}?+9Z@!Smob@B(-e90dEoIH>xrhWR+yk9;c3t08B>65<|0&Cr4A zMer*)0Dc3N?{9DrJaO#r`7u!W-vm#A)1cCo!OP&?aQ|_*{|aP=>pJcLo3`qbH(aM7 zUEh-4LGJMfOTzXozsb@L%h=1JZkgP)Tsh}EZj0M# zJjp#-hm_C5o0Y9c`1wwQ6TS(Cmpj5eA) z9vz7=dKWyUP5MOJ)E;2;kvi0)tzb21Vb$irI<;wwcBswhEh;;-89bqGSnnOyd(>g{ zK3EG@X3KO7JgVgs>Z!HCkNr9dc3CqU@EiV#Q$fi#jp z2qyl{{QwsaW%Gc zB;glc62qf2~hV8$7->)?CsG`7(cjiaEP0q z9|`GdLLn;~dpJ@wm=uB;9!U;CJK~LT&LOT8WhBla9OvnV4-PiPA?=OumN;i^GTz() z?#994jj1>%6wXSE!}2r=CYrFB9%vULjn0f<`DxMYY%Exoo@g`{ZK>hpOy?pal-1Sk zv~;wwL^z435pJWbi8HYv;f#V!vDRoScTG+(DTu^mnOGTxn`pCm9G4*V2m;AN**)AU z80V{g@OC&sg0uNCSy8 zV%WQD`*9=4+MyIrk1$WHiH8N7;pk6+2UrGE0!&>;dp8{`CK5+>a&`2enmf5!dfLJrgSaF!btaapiLp_)V>56#bF3-F z$j`{ml3{1AK~~4vIB9wM<4D$AicP4$lb;2N^I%KYi zi;FFXN(l{dbaK+NMRGmd;U0LSU=MmI2dU+UaiS^*2T(L3n5YQl0F0K0C7!5d=FW0r znOS?L?pq8S%_W z6f_%+H44Kboi%V=EWyq`f}?>l4-WCL&?bj+;6_$P46|UKCpOeRFvKrd#{!Q*TRPG# zwKRE1f-5ovXBnvJY8t{NdAL~Hp*-yD{lfg|6lJt4UD*vzFp6Mm6Wr~o0d9T~{wyPk zts{{Z#&-5(co5B%L56TavuU1II8%GmKtB`<<4i%i`{SHk-EHY`TVo7XIhaSWAvjz3 ztK+Rg$v9ki7(U#F7w%!>uWS>p!Jr$PTha)o6s`@~K7elRMDWzn(#8hxP;ipDEj|dv z;pmXbMkHr$fDO{#+}>Hk(LGcd=U~INu|jEZ{2A;3OC3*FTN9$av5RduO$Xyh_1B1i zM_6+RTt_Qc8qo$5Mh--?BSN`hIwZD{nM+upi<5J(t+I1On0=Tt$0ihQW}-jj} zl+{^Ao?K&wmaChlql+0nkfCf$HSut>XNIth;S@Z@MT^Cv`dc&6=s=8}4ciS6)avXo zTb5&hmQ9$aJDZEtwj)r&EX{0a9y)j%(+Io`jz=f!iGckd~Cc?kX z{^LjZfIoaN=x_{LjY%i}d+k3I1}(7vP*@B`1GN9p7|ewI_fLfF_O|BJ;S0biH63qZ z>Ij?>;2|~{_{)xn_y(Lr*v5EgF(9lJBgO!~#hDf!Y#2-^3Ot1Fo7#N>BBePvca9Sy zfWsxQNH8v!t45&*v;7H7k{W|WPWrTJ0SqSk7;kFi?7roCVkGmS+nk#QuRryD$IDO; zZ#I;|E;T(SeLQ1J?&l3>MJXH3I-U8x!8#-P(y^YSXEGL_bpOfnjC*K%y7~cnF8u7A zIXCn_W>?Re{BAkUWP@+Q=52TUO|ov&v*MdR$BW2sriKxYytw!5M{nD6c4co0yQ<{% zA_o^Wg+q4>S2hGvOoUpim?^OkwJX^tJ#}$c{9WnV*h_)V zO_7mFRxTGE>*CEXq<)Qdl7Ag}(BMAagC3`9GpP`>cWyK)ud?`an`y;Un?vWPq+JN` zTlIi_L+j~b3_`s!B&4x@N1&Rfhze{;?6T_*3U9U%oi?_enxE9PxZ3;DWn=x+{=?_U z4-4jV+7EJi0u@U3(C1a_tbol6ovCv+eZD?L@eXQs-K0)>KuhbwWVc&MRXE<~`ZM%* zjyb0jL{BT0AD#4zSa*D;eDr>jM+>WH=iOGB9#490kAu^Lmz|opUlH*;;jnCG_vTp& z*K7LA4U_y7rWfSQ*hreOG2Z=QUz+`M-qEISiTg!Q!#eQ6Q;Q7NUR0J@;;wgQX7HQH z@BPa&<&w7@!IJf1cZ3`{i{d(-B(Gc5#a+C^R`L?7`+BF^sr8jcx7`+57yGy@mUEj- zGmH=0Y#LX8GCiKGy|ae0>U|kTyl&Rj{`)WUG}G_6R~-9ZYIx$gu6Y^UUG+Dyc(j zyc-&;8mt@_wO5)MnyyezPj3_pihFW1esPS~+8dRm*6(Y1tQ)vVus09dOBcSb*i`TS zqVq@a#?}KfqD!BPmF$t>&MYg|y4~kO59rlLER>OuEKr2O9Mv0?=NYW;-gm=2H?~j#E&4*V0Ac6)jG&mH*86mIDX?NnvPcz>qQ<^qRorTX+YZ9w`D$Hwr?$E9L^~=qhXxa?siQ{@T zRSSbf-{(f3FH>FY^OQP&ccRv{uU~#jEj;8B{@m)|qn@R@CoeCtX8G>imel8avd!B| zx4^FhE<>LuZGCfDhMm>A!cUK}3U{|vkzAyOW_sGRSVg?Vrv(5 zczLHz0q;^ta?Q22jH9NwW}B6Woj1Sm0)$Mi9Qmji(3H9(u>P>iv}woh;7?u=F$|@l zbXt}D@Ols1UN$U@r8K%AcE;ka?ZM-B^*m93<>IwAj9$7*ul*Rz**ZDwf|%Ze8hO2* zp4*D=87{M0NH46Uw4XUDGJ31kyB@}!DpzJd)Bp7Jm9O6%F|`YYOW&84zx?c)Xm^$+ z6t+s=@bOzGnP&S$wR&~ghA$qMtFPx+J$sh<^t!dYh1a%OwA{Brk}8Qvx~GiYW9_r& zbWdA(6!mzao~+TYV+-d9Q9qgdz5!hjWw4tF<-u9ik?_ro#B3 zy^lgYxMs3nG%r^5??wd}uQ)*c7=JzCT#!`&zT&@_szVW{Oeid)?bmIN?t!> zSI%*1Ma)<|pQc)Fl&v~rRx|9Tk?^8sZHwqhi>8P(qhBI~W-u2mFBjUiNkqGxkedU` z5SI)Q>fNv=I)ip{dyHRmu!|}qV@9iCrpS(4^P5q=Fa%A-*5BTDF>=Yl3n4OTVKy+y zOF~>>?(QRZ8x5R0Plbn7KNn|8b#&z>96xmMRC>s-86Oj1vMnNyCN)0wObBT4a#=k4 z;*Ex{@*T5`CztuZzOXvHzSA|TJ?b4(yTRi8t;~mhFAFu%uj{29vneLM>+T$t^>eB- zT=kPyC6bTGZhoQQ1Mi`BbZk!k5*5{B+UVp!U)5J#(kb37@)IWd`3*)|%WS8yskLul zZ`RReW)#_(QH#;&%d&G$Uq4qChKDsnIFQFfMoOnd|=Ubee`Y{fUh4%>ne@q@Ocllf5QU zRpFU0L=E20yV+1E`fd6wm7+-=^^04ck?#6-b~SCC{? zeYp0F@6AfYCCr(r)uP(7W~*DNpKt5jI9tbmOS~q#_x$R#^uD&J?P71-`r~`ntlQiA zk^Jk?)#?`Ymip7;2-%jF6N#63pO>0{HBv9Nx?f~so&=CP zmX>l{7W7F>?8pS()_vD?B>d z=NZ?1`Iug)pVE7H#;!vtS4ny=>+w#$%i=koK1}T^J#bG)2Upp9wTf%^vpZ_d{-m2x zM@4@)s0qE?`W?;f&&RZoPf>1WH(YA?c<|KXqKXZa!#``=b5iTp(YYdZ7k@M!J=J*r z$NAiQuRq&+da77Gk8~=2j#Q0saNejj>C|mP#dKNE)Ti_1m8?JRzWPvV-C9(by4~}4 z`yCh&KVAvBWIUj!|EnVT;bmme2Rhtm+ zpd?|@6t_CE=W&cwPl!%HoVvARewqn9g+h=C$yk4-xr}1^|#x0vA(#)&$r)NvX zUA1|?>^|)B23^{<=T{9nwHjrDdW3w0Wt{3x(bxKKr8pEX);`~Q*tuAxGostK$k98a zJH6a1BmCSPyE)CMTX!^Wy&*0$xJmRi-`Druy=&==UHIEC4x(h9OSdHKD}_CHzg{K- z?w-vv>7KXYu5*sA{FMbp86{VRx}EEGm@la*pO)!w&R*!SHawhraod*Qp7S0rUT#}2 z`XuuNN@23(ZAr(OsJ8|W(wux2Ca;v{d?1kDELF4pNZq|SXPT|;J&6Z5UA~6d^RgEh z5;CPGmp=-hu5XxOR@=6XeCqlx8%xcN%BLoONBgtqu;=}BM=eV$I!w%UuJdcIeVV#X zVhZ(bfaF;7N+`rb*{x+X{%=q zcEwVM^z6&YZSm?~-=<&mbX0U{gg={tklke&kQ~UmRWHA81{+y;F}9W^>!G?#5^>Rd zNfOB;fiQo%?d1g0rISpjH(hoIy$P!blb`%7*cPArRC@2ck0$yFZi(#28-tz~Tev8{ zR7y*a*dUr?5M!}q%5ilr@>}<8HEANbL;rQDp_tGSHLYY_u8As2I9>MGg6(1}b7@yz zf89EF$$U(7`X}2xNiD=p%rh5-RxQWh9)apSIjOn=wro*4^EPS5LKNGC9W=ZeV@tyHoK? z>!we3@9{9HPI$+TrJrOD6f@7oU%YrMC8ADmFZ|3_cf_nr(`lDXO=l8?=fm{9^~&~o zG-)r^Qy@jFi{s1m8k%Q%xX>{=Sa+04%YkK zJ2s{-Fh?wNTUkkaU28u@w7}13vq{?X9Usia?Tu6`6rW}5f17>5+J&2!xmJApI-h5E z6=r^D{k(I!%eT*=%gH3H zJ=HDidcLjkDl926`!LbQyj#h4r=-R73bFZv!JjgC${a)S@2=i^)b)p5DIy{t_b__ew$bmYu1hvg*-e#VTi(YR&s@_u^{&M>J9~ z|Ad}w3@pKwelFn3Wg+agLrm2$I!*7ApRt5cVQ7_GlIpYDc+-cOy{4OwUF|4INnUol z&By#CrgwVc5oTFT_G8%Lj#~(ItNzuM?FKVd-BxYy`EGJcCJkj?tt(4adL|JtA03=z z`J&}QeNS)%{PlWbqL6v^iOlUAk-}$!%I|(zna(R&erA!K@!6=(rLt!Y>AhKj-dC0# z5%PV+UXfeVcq`!h84Y?wgWSu$<-b&{K2DN6jZKZ}?^`3|b*AUr1LZn#E10a#MzfDo zB+`XqT&@Ru1s!XQGG5^pdbjOR!!v6SYGTy3YbunDN3Y~$9L~GYSkWtL;BwD`SasB5 zg>QC>;ZjESg@%evFL&q!?}=w@+!ajwmetzPQsq?8=6!k*m%mh zgQy<8^OK&Z-Ff-rOXp-d%--@#==|6Br#4#lR&_h7rMgzq3=})7iZ*MUY9)7^p5l#u zap`G!{fX;Q+&mfYpG+NYanL2HO_hyO;aZDKVHL}SAKTnbIMZ6&d6kW#RZG)XSVw|-qB3eo&S9Lhe=*0 zXXZIyfN zuv@z?U5afA3)~M&f7jXZdG^d$uC_ELLv!;EA)~MBvfr;4F)$2lmbi6Jd9Lf1Z*OLu zT9uz@9vifJa?epApr8D;@ z&&@X2{zx+W?9KA@cjq3-)hg#Rj8SB@FPHq91t5-X`_Tt?ijX@{nSKq2ca%ZqBL)o8Z zIYoTiWf_At+lLL6@z!lTc5U{a%FnYDC!6jNjblv~tA*uiUcY|-c&dTpm6GFJ%v(+M zyDNmIv2GE*J1DL0*=4fTZdYzbuJJy*V&T~~a~xX|a#l>mx1n9mk#IU?pTx<3kXAuYy>MvW zltYI_BzYqF7ozIP=eR!_m3~#xkEh4IN%c32xwUf=HA?I}tnJJ@AJ3x|XC(KnSyJ7I zncWmRLz?4hHFfr+jS11al8YWZX*SuZz_U{E37N_*30e0RXgh6Uh#We-|X{Z zcdAQ7XA#%S@r=Bz_WW$#0>j{D%W}J0=j&W!>a)miQ@kg8U&Or8zN@xv@#DS5xY(y! zN{R)zE=BQ7O2t#`syfW+T<@kUfe8)!+!F7zZ+DB^-p~(D>?8lm_T^cL&y|aCl%f>P z{84huN$A(NmClU(&QJMMNC}AtvfgAoj`KZGoBDSDi>gQtFG=cXeH24xt~cZOUB7wz zQncjyRm$k}hb6_Ll9%DyoL7O1by=KquV%cfZMXk)B+8|l`aa;@?8LasJois;q`|JOY686hE0S39vPCd=)Lsh^pqSyNz@hdfq)3v-#*w@5*%E$?J&CeF4? zxG*Dahueibw&|%@e19(9HOeY`q3Bg|^z)kgu#D|@?sUX)qu}44+`_O9va@1+)MoGb zCKi8Vv1(ZH``Wtp52Q9dHTf=1$kTIMPrSnRIbW7EjlTC`(F3V!#z_`KTj=|jYyJoB zJ$3ZgIfA)yzrJ01@1u8fAI;Tk>Ux)Tb47P;Eu|+SEeW$GSag=i=}ouWlbH;I^1_XE zgazi&HkhuC$LCgbzw}&sfEp0b!Tg|^IC^zvW?bL2WYy2l8i_}Cr{4d7*%Fs$^EPyk zk5*LUgWly%mQOAws7{wFm+>ueD^o_Ej3h*>Rt0>1v&UnVrpS3wS@fkGcx1%4vRbb*u?L;5=FWYT;UTxati5Z`hrT6S=bm}DMp7r^;MahF&mB7T z_ZCd=dyISaDm;L&Js5T(eeS}&5i6cNzZcL}O$}J{es2g*W^RAF=qK@*`Z+!K#FtSc zzwf_UH+!{bR#N(%n3uWJx)BeitAsV`8p%;bHa)>dL{dV%e3B5Uv+#Dr&oGC zwBF<(A#_YnIKN{4z`O?{M(m*^>^Whm*{Dqa6&DIY)W&a0zB*utvNTQOcGg;aX>$A>?c z-`GDZm+5b65Pdy+?W4+)ax-5HQvK1rCZWblPvyN8HudIc&x#2pcdDdl>+XE3NBb6jP3dOez2i&z_3s4uJ%Y)q2njXM+n&&!t}k4; zZl{voDX~vHCF_!^{rc~F3rlgko;NIic=y4MCCZ2Nj&45N?zO);!16RTrDvy?ZIqWO z>sa71>6CK9uCyd6UdQ|9$5$EWc(iof_QHeR&Q^!&8&n?IxpX;yzJr%rjWj5K6nz_J zKBNB!Zh_X?SG$d*7V=hw32#;xdhvrKHCx}ii#Mmg^kEwN)IM?b+|3L^(&WfT-Lr~A z&BW)GG@mY4&cF3)$+pv9i^$2WXOn)3n@vC5zSwqNa#2`t+B>@^P7b#CkSDlPcoP^b z^}-s*`^D$1Bf7ZApBvh8AGg(%rU$vaFPfLYx;|}*&j(Q^+xGOLl%o3UC%Dt_9~Zp1 zp;(cdmyTAMUKHL+fz8FI%z1e3ZYqq| zD4(1}B&M5Om4q3(aGk&Y+Js#B~XztbxPxltiH;MJsK7A_4vPZQd% zo)+!Te$ts6^JL-0#c`XL!=lrF>iv8%hh$w8It9IUwUKe^?bCNm2 z@PTdrQHj-I3xC*YbQWxuGhAH!^Lm`#s_+2u#C0C?wzaot=zjKjc4Q0XRkf;m+2Z?+)@{38O=U<(D8GER>ylTOgLhYW!+bufu zvhVG=EsaIr8*a4Sx)l9!D-0$CzbKmAw%h3V@pbY_VlYh^v$|rvx90M$uINagf?C}} zjORZyRC7EE89GmjoIUq zOsjd+2Hab_)So{uf37WR%`5wPCA_)v=FXp$2PJ20*dG?I8t3>qIbJ<4;7bRfjP)M6 z_Y#*G>P_{9&1~Om@Fg!O-&MpV{izP_c~a<}kXGsV27UMLqlTu_eb1%4)>NjYZ-6z# zQeV|SDDY2rGW(<@tg~I*epADzq6fO~Z;%p-z8*=t-h|lpQ8`L^rmfYb#<0#N+QP^4 zvc2XYXAAAv0XwoN^`q}Y+OOD^)bM4`nKcpSrHvEOMkvP zmpA#wk^Z>WTjG`8a@w~Zmep+FhOkx{ugJzsPtzAk>^9$MKy&lYiu{zPHMN0ZN9vI<+j>AI3i~1JSjEg$*wc5y9?@;YHyk)cN&>< zdDEWtJ2~~Z2NG%6?Z#a{NqP&kC(TDioTyyenNWV_GTHt6hsRg-x$L=%!(Yc(fAVQg zaC(lE%k%c0B4r7Sp4Jzhy-8AQYl6abp_qfSa$iu-+n$as>cigudEex$kn%59j-vRv zmu*Kr%qWgxP3}@*-MzNH;e@~6^@QtUo1P&R7VI-wY%9NJscij~(0x--KZImf(zCxW z%1`lLbaze44*Lqk7AxJ>j-RhMpMKtwlM2XlWX0winp!VxT$ZxyB>NY^R=y`E$|Fk( zkv=7FHvL+a<(>SLC5H?fdB*F+!XD)7=S})rW%v3*)oRw&d)0Yz(!R%k1uFP2Gg~dL zwkYmrLCgoM&ZLJTG4k`5H+Nmm3A_wbbO{fSZ?x`7KVon`W4)5=ViB#k&z>Hiba8b; zW%6BbR?jq(XWQ3$+e&GbIZO@Ftbcl7nZe+d`Xjnn)dGP5G_g3c}v5 zM6WPvnKtF-^Lnx`;@4}khwi3T(v~~V!wC?4>Ux#koy3tl- z-suws+O7F8uU+R_THjJwybY;2%4^peD5tF~i!;07PS~fW*Lb9Nt^CaR+?pIbZ|0)7 z`NnESCtKe~U$%a$pT8rq@5mj}@zp)7vfy(&S3SsAnt97P-xm6lpDd=V=4Nktd3de&uGAdQ z`^q?d*E#MVp7>pgOuBx76!mERRI0s;k3Vhx-seqMGL>y6Ph&Ihy`al;=N?Y<4%6DV z#^R1NVi_j(#^fanisziTeY0HOyGX>nW%n}qdg%zO1+}}fFpBR)s^oi@@AT1WTU#q$@auQ?P^|`JtZ0nKt0e2)6UM?s*qxiy?E5Ax8dbP3R zRkMZDJTrA$8t16Ch&v}`eRODcC|ZPmRGGFgInH3kmROdY`?Jkkvhp;f#Uyf{kV)pP zUn=j+A?QSK(}PTF8SLg-&Dags0a)USYM(Ks;^qlfCjt9K>S=X=!60$Zku=wAUri!+cqpw#KDqsw#*)6)m*(93dfNd!KKkLe zZ)S0%)CIK9}4! zjLvj;RqV^D4Ce#a`Aq}roWH+y?E3xN7*jDc#a&zFyO#n`z+bzs^x%ou6;)`c9&xLo2xO6J45`vi$=RC9$ zlUR7czV49fQadYS)2t7Rekkv&u*>{}%jz5fFRwIp)`Wj)ff+%t!NIK9VK+%}GW zAKkVZ`*}Lk`51YUq-5Uh=*u4#>0e3nO4(`K_;K3ZP~@sc#P@TX*RK6|?$sfeH3?PU z->l!HcF`6t42!u{_wY@l&He9s3-eb=zk~%JkNnjjt?}IKlkcYDPgvcyLyHoES%EhX zn;?Wl&i2j|xlZQ&phiZAHcXm5_lLXAmHUa-Xqp*vw7#5 zECfZIDWSS)GuB1Mv?pXYY>M`8R@!W_J3l*LuhWhaLeCZ{}*9^>;D$pOA>;qvt4H2 z>?g|R|22uZ24?xoeHD9HmcdkwEucZe-F z?TOy7+p|V&vcs&0#zncghI^{dpWL}WjPkZJ_t(LfQ_d%ZHDqjmvHW#~bzlG2qOQv1 zNHrAZlc^YYv#{Y$b-%>6dYPT?g2mEMQ}2AqvFN{l`rwbXmb*=(PD@W^b3QQq+OFLa zHa+1<`|f6|m20&Fx0sE5?-N-Q((_m(Rs3K56P~TL$~ce=+F}-pR9+C zaasu@wzbW<1?y;iu_?Q=WJR*b1~~^mhrR9zHfF12=KYMQNWRzeUQxoRa0X%_tR+yJ zj_5I&^)XQ-yjT|fdKQ&?&fO*0BGiq2dY-4yd{vw2n_i@Rnhu)*+r3Q=!zQO6vcz*_ z=Ame|)5t*#Um7K@>bm)kBiWQ)=eGu(`k5eZHj7ix={K!hG+~2s2bKlhU~6+W5K(Wq9wX^5U?C=>fL0g<)5xM`5&MmKgYcGrK7@!?aVWUcYRq z7;$sO(SsXBP zZElyP&xt5C%<0vA>!Y45-xfJ1;=y^xdW`OpRaoQ1B&l18Fhp5qOmHb2%Prz^U10Mok{oal*c^uKKx56VC&+A zuYpm(W(8PEU@Eqh1UG7DdtaI5!X|4h{`u4T80y4L_7`}ekjRZMD2$3bsw(d04h0dv zfI#g`^rWUE*@wx`d*1fsg!@~>d(pm&!Fa2dU`%f4=}WF@-)wkqn(`V|R_qdmM=lx) zcA_RBNsToJDlzwpJg>|;aHv+RR4nZB%FMFI=V31DTTJ)uZrWG*wcWN>?TLK>@8N}o z%Y^%$tvyR&%scxZ`oXyK;w5#eMUj9BA15W1-mG+naw`)#kFc)oM1po*4t{?uu27 zkUgu#{k(D6jP$3Z8?_8~`$DfPd%Zm#&eEuED6hUK&TOs!{Ak@Q)>I+GXs(0jZp02J zbg>64`c$(AEKoRFzb{j|e8EZ=x`Vyr(&Nn}@h$PE(yzqC?Eh5Q$}9|fy0{X3{g{0J zhvKI->o2R5B9XNfhj)Czp#$^~RN{icOobLgjdO28y)RG#V1+qCLREJCt| z`Ej#hzj=?S@O>|JchbH&69&hBOaEgv!m%3vcKwgl(9|5-|A&H}|3zab_W%8-^uHl^ zK>9zO67u}_`d_#QJcLdtoIw6f{XZ>Tu>UV9a;q$ow%`1)fUC772TlenOOc0l<0Y}9OLnPU?0 z&AU4kfDWBb?oRGru7OS(LNalh9`e$45LN&iwc?PbtH zX3l4I;S0G!ZVMlsJLztEUjAKIdU~FXoJ;2pdBj3RSaI~>{cFpOd_AvyU;W}nlb_%5 z3ONI2@N%s8Tf1hp=x-MqLvMUo^6RD4%7cy+5>AJ`WPP<`Sf7>91yO8X?uR+c3{5v1 zc9Fj&>*%f}=ANBl;peyakyLZsiPg)5KRhs~xbl(fUVxpd(uvu;#K0#d!{5h9b^Y^} zx~mvk_GdH1^zsikCOx5kZ$7zfFUu8nn#g5^bS2?m&A9ZSVvhc~mR5V49aQ~yr+dEY zey3+FfIjb9?v8|W-cfLrt=%atm zSMDxB?!9iau7dxKqVDG#iMQ`}Wif)MFMOU}*K_QybM;ijaWA{troIhTT^2T>E*)W! z%SjnCK82^X-takwTsQ0dH)(NyGu_)fU5`h_J{33W4*YCuze=1rtJ>N={EVS~Lx~g2 z)O32RXj0wQx`2wH>C2NEchv<=*SlO#bysn<-9P)%yLlHy78hPlk5D{@oxgl$OlIQ? zWm!z6Wt;a5v-oz!_uTL&eGMyIOWW%9U2)qd{vy)w)6+RwEjv#JgrA(cOx1VJ5f6FA z8AdU4rqoYbyq4=b?YInn|H-byz*+ zLcYr~H5?-|?7OtmZl1iX82Ul?b?dEdQI#LMoIH*?yGEyPv87DLzcpT6Xk?j?EcDj* zth&NAqtv5<(*(@P+p;o()+|6B+)qU*i$cOLXt{M9qFIbc6S{J(qyUH{= zb%$|t(u>V&b{)xRakEPI`0AM~Q+j@u*He`>6O=Sbo!Uf{w^F7qK&u3V|w)GpgLk>5>oVlkqZRLN>_k?3cpbei4&PVSXj#=6{r%3nb463n8B^>WPOfiV>9w|}BGInsK`f@?cw|+? zlg?jTPlP}Dev{>WBzW?b^mm^f!-WtfUNh&I9QZloV$`0NV^^DDZqtvTO~}iUuvJv= zw&QP%JC3G)onrGy>WI)oT}q9r`U_t|9(5}WcPN$OSo4_QBqN57opVITD`4>txqZxm}Ll~F`u zEEX}RYj8K3np*9c`abnXrN`Uk**A~q+%7JvQ+3*Uh*Z%kA#3Q8bNHEg@gi-dYc~#` zS@!A&adXJVT}xK3fN2(&Wp0$STDyNWXSW_QWy^ahVjorNqgbq&jO&5EpT3%m{=6;I zFlE=*z+BJmtn@}N=!|}sZfRL1>h{=^X>__O|JD)7y5f@S2syO`g}I#FTF-?M}JWTQ0kZ1R2 z$}i6h+~+0#JaDhxPKif1UDw7pyjh=!*A+fj&J2z|w)^GlDaL)7>F;pf`6uEIX}Nqc z2>v*&&vTJozrL+ZQqW$TrJJX3uX}UKX>0x$DvQQSmQkUd-t|)&@oWL&m9U#ot+2!8 z8)sVW)}L*jQ?$t;PkOmJ_g3{0&)iDKI`5C!Q}eB@t1r4Jd_eos5aWt8eWv2-m3ljS59I5RVByOSVhm9r>kxv*OKC<6_&Yv zy}K-9wdo>5U6CVcr&yi8-afy~HI+Q}fK5Kp<0oBSt5y){a^S*tMc9LTW;6o#iJbp0 zvCrxc_i9z1!)Z#osIeA{tZDo?^Luv$F(7B5t(9QZ0yCO>Gf}`8K z?3~iM$B`~SZ8tRc9f&PrHy|_aztt*9mkGb*UEZmG@$#lD6kfEqye0K?W^aBHrC#-w-n2LVcB&og zTvxk1M%wT?YPN3JZQ-OT(d6u-QoH1B`5j>e|DV~qh*>qtViKoF_rl97ww19lG~AJU z;o7T9fA;p%CHkZSn?-&^KXpAN+brs9pKlmgpcZwzqLPQDuMRj6_voW!uELT1_?%JU*EnyzWe&%;FpSROxJf#oFR7=d`v>kUj z@3G+S@tF#j!uC1c_(nr~no}&6C;cF8$|8FF^cVIQVqG^GG|9b8p(-(oxc+y(ZC6;~ zo>g9XzbWQ*8TQ8QxaN&=QV1QnIj7HkzQ=3(rnKNg>mgg1;g-@;>$7Ja)-X-5z zdKR6Gxp-vD%xIsMgTEqpeO_scJsmBc!`>QwTq zbJdA%iC_0Q$b9*J4gIyxG{IKGLiV`VL7_~=hrL!VoyJZDhdSPn84FKv3idyH=+AN~ z3}Z;!tv|Oh@o|2Bo{2e@bs<0RVI6NltFjvWA z_*eVUS+-0z_4Vo>HH%X{a@R8vC(d<0*>h%k^b7mryp^h}ztT>}SqHC(ePnd|n`iFR zO4Q!&%G5WP)@j{k&m_(_NG`a~D*a|$VNpG2DXiSGtkL#H*+XlIogd{FEZXLkNAPKk zS-P;7@-S$gGviI}-6g^O5!J_&W>4>Zv3K9+mk-W-xrushe(Hx%qLF&^=4&&Eo%e|~ z=~qh6R#CqyaQaqT#jkT|(OV*MbKeu`BeUgt@B1G0+SojMp3db)w9>1KrU# z&hJm^lY8&C&STSa#}0|Aczj#q>wUz|m1;lw(iH0@Hy%jw7A{-oxHxW|hv~E!86m>U zXo~dNX-nKb8B`$BJzi?P3FM+etc9(x3b%LEsYx%%DKXl#zgk*Up}uLy%d_T_s*Z2+ zRa|usoo`<}yF+eYm&=zs@1txVyT5tG39+*kHfT7!ylhQtLS!lJ6e{e8=f*AHj`oN9 z`MzH0Kgq4eXdU7eYfW0$#n+wNW_rJ>|F8hNR(QvjZ`$*8q@;KsOLl$f%N60#3vDj! z48Dj`lUL2eWY%~nuFRXpxx4?xDJg{PV_1lU{_Hht&wrlne)J+;h4dcAtAB0`IC4e_)$}*K*Ch%tf*-7W;7*iw^$ubvk6UQEsc`aj!VIIb2d& zWUWZYmDA=Wx0TNBe6{IUXzrtJIqgn$KG^*pa`#)?49Gh9q3JspCT(u)d3dSoe7sac z$)d`x%-*zZ@nI32-M3F+wTbTi^XX+3H#(a_kni?-1!)#{Z3~n@O1r;c75uQeQg622 zFP~Yuf2q%Hv8^w*roVf{41Gc}%!WOpf^|ai2;*EBd^f zbj5OJ>;aj#4;iJVGcKwx5OIgC{?wNG{`<^45phMwx&ZGyr6A5r@n$7So_xZguItR& z@RcUp<}W|!mzNq_blk{rdUeMeFEL(H)6`iKpHx1}9Ze4{NBbV~lAjSvaNczwrQ+kX zH_soHtx}v5rT**dG1O%1DRWmIQKJ{OVsqSuC#UGG+u^N7Iv@p1s-D^1S^9 z^DAv`;fx&2nfUB47lorLc`JCG1?c21s)pE`sXfwf!ndpNM8wWu98O<1`YyI|(l0NI zcG~WT4QVC`Te5?NeTcpvIvkm|Zl3MY4J&oKVAZtMmAWgpCQZdxcsH)uTD@GycV@?_ z$-7F;=5!K%?3#QwY*L+avY{^$B#eX-H!XytV`nuMC;?}lylOrifD zcOCrs`9Ewp>fi7GM`5&vz5fAv{~s2uG4cMd{}le001pWNFZtR}_&xrIm4Szl-w9Fn z-^BmIToC_j?>xEB+oINC{*6@blKz6;#%;kgX&nvRUEdA%L_f2(DMpU22SxWD@SQx_ z*crh&Dso`6_+Ak?oT-DEbojCzZV8*+D`z^seqen1)JaXP#_#Kks{L|!b(3DV@m_FK zz8+!69QthFcwQ56ET;Qf2DdI~r_z(I@VVqgCYw&)`yd3{vgcE)Ql{#>-FGK3OFNGh zG~SQD@olodtp~34()mf-`k$US_3q1l|G;XPuP6fXF+td?MQ&}^ZQpy6yFJOLDia+p zi67Zdb;3SelO&Vbl}}XOyMDpqFx1yqOO8pG&;q`NoyjyfeCVi=L$;)iXp;ZTfz_X zI;w7tSq)QFUF|MfkZqPm!|V#?#JrVy>wG(X$->nADzhYaSl&4vTjk;&Yo$(oh*Q-O zYC6=se0I-n4o7oOnr_MY^p9sLf#KS|?LQuU>y9dMv{$v*`zom${T*JuIl58w?whrh z_xg6b=A4N`omCHYYYLqCN@kU=u;JVb>*k7DDD(H6;T z+B+iqo!t*R z^WMz9nRS3_BBgLZ(Hftq7pwWeLr5vL>8|u>VEvxcYU0r}C<>HOUaHGc{$hOCHG710 zWqMQeC&wa;PXEIR4G!_m>z3I#=wj?uD6eq3jMdBtb8}2|EkRlEM8^y5Pr|7YgNB|< z)66ln60cIOg)H|abcT`*oWCqjzIS5s!?4KDkman$ZCuW!3sU7}0+t#RBLC&2xe+Ag zJ04c%)z`~Uj97bfje-gxcUwk;1IzSJ$IH{4ecxz$VmCbyn# z+nDt-5`Ma@O3;xVYEU{c;W3kBAs0arYN&;xtVOAoa+h86g53&5z%})mQ%?W!2DBZ5 z8uX@{(FGA|a=kZ9tXIAy-Euv@?rN8f7Wwa)UQB?4p(nO*_Gb4=ok1Hs zTCb?vr#V_6P-Au$?kP_(sESpxvR6*U3@f+=VW_p4&3di6S3r_oqwn6)Y(VGF#T!U= z@Lj0ORMAxs3hSjuSw+*0qy>Y8QiUd*f}9aTe{GV;I4W1L?{U!}ZMW}vAw7?{XzmS! z4X$w^0}oMZn{JEt!26qKUtd~BV|Z2-oMuYzW|Fps6;STY5(V6@_Yg|dzLKwUEN$tu znVCV}J?bDG1{=*XRg^7NgBA2II$Et)M&2_zQ|@;5%vr~_%0T&uqV&2suX2yGj%QuV z4;eOuORW<_9zi8S+y%JrWri&dRnLll!i@J66P)ByzSu!R$L?v|pQullJ_|;sOAq@G zLE$FYVs)g84;5;VqlKPW)6_lrJVe1FURlH zto5$Ftnu6O(Sq!5{KA8UpWvL`yS+%wF?|^XuX2Qrp&A$Dw)XP+%f`f9-ZeH+j6Sf@q+VY z7JpXP!}MG}`T}r#rJ7xVC1)u~{Lg+F0h) zh9^Ja6?kGWVO}GlO*!H}C`v{)Ub2;9DhmE`iP<4UFcw@XdCy%YOx-TD-v66d!1^rt z&->_}3&$9j3r3s*Pu%0$^yJ#yqiAPcyxU_r_qaJPh4*C{NYbyg2i9mN7Ch0*Qc~h= zS0ee1tBD0a>LtF1{ys`V?RW7-GRcCUx;aMeR1TjzLd{)?7 z8609=lh5fbB^|N%d_^x@L5Z@tz#C5Jr|`KKHFur&?@N)Fd`l7Ea~LB_n&J_@^W=A& zOo^?3G;)Xj(>SD3`8H?w1ej_wlbor2wTuXp>hT5vN;kb#l5LXqAo8P6O|02o0@{YVe#(}c?d|@lbFs|zyo+eOQQu;rh zW06Y|!j7%26A6dPmUGdzzHWxl_WeFs`%#2HFY?57M#T}W5Vqzk4!IBDTxCNXbB#Hv zOXTT(b_F?{%`_E2_k}S-MdR=HdBqOBa|p7 z2vB1v6`bl4Yzxaw#6=}=Yl_F?_QhEU1to1JNDaozlHdNb%lZ2~}nNCLhLF5rIf{$Yujfd`s2 zb5aWLwB=olyFcbya})Tj)<(g&AHSC=SGT?zP!9J6gTm556e;#xmVk}2+%NP*qaz0A zc3^Fr^P|o)5UT3w2%Am}NLzF5UVa6mfhiE64kX75j8kY3ip-{J+RgJg6=K%bB!DY^ zDaV)&=0&&q&xV6|Ks~ThgsC{N4p0zDehrxdxIl>neL&6$`j<=KBhS|+9Y*27j0N!m z{I@@NAP{o(4)q&G#o=qjI5B_)*#^rJkKDkmiQ~#7PEd}5XmxenCF;n1)jB|u@C@*0 zxi|~=H`mq^uM)jRXSbb6$*M8@n$~utP*qhvn&dNU1uk5iP!F;&T0pH^EnreM7|Bi0 zC9xON11n>!LwUuX&W6-ZS1D6`Hb*|Odx zL%|5lC<96=Aj=DfiE}X#A8dLyxpyHF?j)5hz!u5=FcBme+(Aimj(8#f5GNopFbNR= z3F#65AV4EX=%#m@Fvts)qm`DY2@(#-IpgE9tl4#_$HX*2dt|7>gkQdekiq0vG_nJW z{WB@K1d#4<%0Mn|(kuiWd-|6%Om(oH>;B2j}O^Wg5`UeNBJRFkhGven8JeabPxF{J6u(du^=UL;gf$ejKnl2z$afX;N;5gdBn+ z!Q@qNsSe|YU?)4jRF{;S! znMEE`ya9e?eMm>D6}l+UG0N?ncr<0t&8A0gJ9P#edw%O459}%2_uLVwYUQ^KpXr^c z9qEzqgmVey-~!aIC|d*2PgG&U-J^Ang-ov3syGH^fHMy9<=a|YU-1gib1aa^H1|u& z6XMR#eXyGni>IAqU=&$t=eT*JlZDTCA}$ zj?IU+B#mkVYGz7sv&kz*D<&xh-E{(oOe*c=9aoKnP%6E|0G-;pLX#$VdS>MWju;6( za+7q4int_u;h&NvGvC1MTK7Sfo-mmKZPMenSXe=?_!z?M53DJ5(%K!0yp;sJm|#(V z=UzCjz)cSkJWfpW#mSYBJ)rgkk}C|xGcBr5;|K{|?h;IGfLqo3C%onXeLkGr579Zh z%k_m~>SykWTS6@ASPg&UdmFlx!=xa%f@M(2(l!!(F;zvf1c^RR9_w(c@gm}}qbi-L z&$RB?N++8uBHz`@mGaS7@H{onb8IzCItp2v32r^enV`!2*dM!^6+uh1Lv(SiH83)daaAt+xn^i;;8 zwd^meHUEJc(?w|v@mdR98J?tX;&P#{u1JhzGYAee{{?^TQ+9~EUhaj7>s^8~7`=Z0 z(t!R*Z04a+8-Wc|Cld{<>=#tDL`F&kT*#QR!>ZwZ?X1%S{zR@(c$b!+a^*mbk$I99 z4*ecz^)85KJ*UhE2IE#J2Q&$0{;m>N`Q=(=5-k*3;+_b}(ZigEH}hHAbw(78-`s%y z-cf6J-XFsXeeZ7_YozYNEv&G}_&5Du6ZCEqlgvb%bEeXIK+%nK{#mFoM%XtvLOdEO znus`ym}Y3z@6L{*!$55z9bl72txIPBfh7@mJ#Rn~*whI`*hSeod82Atwjqkut;h3!9LmCvxWC)f$2SYQMFK6PG^Y60{|P)^kml~!r8{i#8;`re9hJ)%AMhC;J$DO7}ZD%aZ_C?W=a zGkFC0H2iMj!_eTw^zfMgFQKEV6t{1DdM5Od$~#$S%gR9?`PR0&T+rF`#~9D(0)$vd zx%f;;ULdSJV1-{~u=$wTEQ(w)4&PO_I+|Yz&Fgcw!4Fq?>Ck1hNZtGf!7L4Xbi{Hl z#WSHo-tMf&aMu|)HNlo$JWpLnIVMPHItf~lCN}~Wyeb@@#FrKF`_Xa!FLQl%x&Pv? z0}`#%!w@l71UsnPO^J4X7ZA%%JX0!9Iad{pU(Fc7P?{GUg@0*KP!|TAnj{qe(x2nn zSVU{O0GL-zFWC$s*}f8ALhZp8N&gDSEr=Vwqr1Z3JVR1%J%>{y5;ZEcUT9$3LX@NW zYo$6}hSRMpCCyxX!ta6WjM&j=l|(buH1PUGJVrvhp$qgzekiMp0p!bPnJ%K%qN#g)zwRe=RPgCR3=ylJ*e;;is9Z8IWK;9+Np}GTNP7Y7d%FX=xisX)eg#O z)kDcsV!bMW9Dj|@IhWMAy2Nvl!B{{NVQ`J#g;`bRKL<`du8>0%ozrj&KF>`Te&W_B zHsuI}^eBpMXso6Pug5^t6{!7*_TZNT6^4H1Rv_Qz_wbp`GcNEMo@Par9QtMXr0$Ca zhu^l;8uUN9k*J{$*9}klaQ22@MzWV7*)FQc`1OV8dWaE@3sZMS2>OA2*OblEyK%Jl z`<2#>E3MlOy%GMxW+!d>U`tGzsCrn^;i6Z20FRLA5nnMwinedKVaj{W#9!d{tx~%t zS_1oM!-t-s$P`!g#NEd_P2H1-COX?tl9f6%2Yb(ZbI{D}Ti;_3==VQMj1zjdq3Rqy zF*w9jV9FrzN@_h4ZJ!6=EEZHYw>MmPPddnL$~fb1 zF^5i=lz@&M+?rnX2|pIzvU4$#`L<~aS@jT49=U)I&4OI?`cg(Y0T6mq`QQw7?&`bd z#0wGqWbTapL4EkIjGuK2-mv`cFMd>5c1sTq;9r|qH#y+HkwE(`^I{+0etW;f$bxQ{ z!DtGc}j-#tK z+*`x2f|v%HjEC^3(!C?SPxqC%zo3y=(6JQwF*KT{jA;d@oQetk5B!>t+T|jN$N3Iz zbT?B?>t%@^ip@uk?4}%5xvqWUfz?*zGQ+onq+h7{WOoe5Xx(6DD8?m?;20YTfhHre zOCjdzTxmDe!FLa}Z-Ga2sB76N3ZWuoVL$WNFs%{#&XJ6EGj|K%RAjf}MV)6dh)e7{ z^vdMNla5fM-nvhO*c+l^Ds}S7jNYhDy67%i4>GW)F+i0S!+D6zvz|j&DW=VwI6T>- zIUY382v+P&lZnn=Chn~84%zwrj@xeu0$09rDg6A!rG{~%66@xu0uFBk>?OHsChcb{ zcSIVbq4FKwx{-DB$Lhy|ET~IHS4j2$3Bf0eq_&6&8n)A7nybU9p((a}@nJgCtlMRv zw!r1WJ#D}hbXuJ{q6afvt3=awyxiMN`0v%H_iVlKt^DqayZKJ3)b%-9Ww|b0e_3Qy zyeyuguZ2HgRS_=zNZ{4y_30T(rT2yYJqg1C^=6*5aI=tj1(6&p&`VtgwXUk_*IqdK z^_K8Xv)=y5ngTizx)f;6iwuauahBlI@M(k-=GhcB%q=Tauf0Pj?WHhvOSWWfcmQsv zI~`ms^+sPiXF;RR)bZGG;7V3YSV$l5fyu|u4mB+9f;1#q>z2+8!>{%=GvBzbbDKPG z1d9sa?*7c0*V}kN8>nmV`Z-2%Yx*T=c&7PdM9fjGs^`0>A8oMkLE*WaOEpmnwtvsx z9n^i!ai4zDj-3rr!$o0aUzrOiaP!>TKJm#i+bc@^%~!CP4X>(j`+4rSQW-b_E>u`e zr1RE81Y{M*e}?k#aogan7?#*m!uvTf{UtkA?eyx~yu-kuzQ_K&e=#RA6gt~TS^A)m z@o=_uPfPKDRrAPvf%fgCFokLv_t(&PLu!}s99ATl3ql^;TA*JHRw+2V;S%YeSLOCq z%x;3Lda*qgyq?i>f8%_DGn>XYAJ#X|bXRp8Tnd5C_&hYbrUY{4|8qRRw1$6PW%$nm z<Q3>xP?$UnGpXvS(!VpMP!6e+aT?mzfU|t&1$#|>E(^z^GQsdu z`M7#;aKCC6u~&X5*&!Hj{PrHTwUDjr5BpNiq)tUz^PZU|D`~N?TVj|h&douHVy=>O ztj-QhFsDX3HZ5+r>qIBDcQ9N@oNqyo*y+dkIP7gf{ZO%=J=Rx8xKEQPvkS+7+V69@ zRSkZ{6lU}+!lzh{X&FnKZwMods%f6s!eqYS8GmY+f%kv@&M$-e^>Im{DwpPim|rj( z3U+`Np3WW@8Fhlk1t%`U-+O(1JQClAIv838AdaQ9!{FFQW_&^CvmamSy|x$^zEN8{ z`(&QELF@sh7lr(9_tXawY2zu*<+?|aAZWd9}Q+@|iCU{Rr z$d)_cPy1OC=5riPg7=;30!>uggr-zWWTBYs3`i4E+iYp|eYe$UX?67{``i*1#Z3+E#;^K<#1 zc%JSV;$EZVCTL(UrNX7(FCB&|2?8248L3e@;A-5(#_nZc3b^F^_K}pGx}7l862hvY z*WybpoA>+{E8la zDwaU*%YqWcgKHKP?_B9Ks$(B$2wKNCP!F&f~-GQT#L`8X-A2W&{)k zVa6CkV1|5Hqi!uJLOiNa`~MpFe;O~yAjtyeN*U>0jEjau?;$xzCXS~)=0EQ z+!ZKY*E;Xya+j4jur;;?BD3f%3&D*N1@^E^b7BAnflY7#emxUBo+N6!@d1-O0_t*8 zVBO3++VvODJ`uGeLOTQuBm0;~| z5_umb8or-D8lWooy&k?SwU*!^Bn0|_G!W7-h_G1 zthuibeEi=tMD7Wh);S+Fpw^BWa{RVdczh0}Q{V0ZX6Sb;!_`vBA-7(7F> zm3OQIct*V4o&UF6_1Kku%P;vAu1I2>O%{Jzba$PTx z%>o$eLi~$UoU$v zC?N`$oK4yaLMNOg$+NtO={Ny__>L~^$DrFO@A0dua3K*N%Pli{o|P2T#`Cm`r)aXN ziad2bG=gxuPqVzI#zh<|=V-tYT*snZPM4^ABf2dUK zHQfXO3KMh+2L2iTfM2Ml;qT*WWN$hUe;%x>;KHyvTbOe{MG5DEw^E1$Te7dM7#}XQ z@#Pe-_^YVqxi>jtc1;Kl$M`$vu0Vn{dU?zHRcPrKC`zu- z&X<2~JCx`=Tuo_BkdPsw{E>io-7%;rAb`b4wI5a!SCH-n?>B3*c7p{)sHT>LNs228 zWJy#@7*{wTe?RLP_8u=3|0q70el^%Y2*23hb9eThS{djM!79Mxe9AYpR!PTBDL#AEx3_KbOdF3Yl!#q(5MzC1;Z5A;*WVZ7uOEV==?`As zOt{rTNOlPiYdPJ8xp80GfOg`Rr9a)HDZovy#$1}XZB8yTPkFzW&>c4WRNC~$bqP~7 ztR3(Kh(sf_D|VP0OpAG#j4W%ZEbn^EylnYJ&T zY29XAc`F{KV*7m`FTBumh#*YdxZsX97PNdcbYnZwv}j8>z35NxVtD+YsNVsR$MrdJ zU6kH|Z^6sWxcFjcXGcvp^aTeWw8eN#=dP4gYavgwX2aE$3!2}aOyAf)J8E;Fu9bT| z;J+|`FT-auW$P-&rr#CRu}>Y=s$&o6lbrK@$DiNf`^M~{TZ9jIFvQ%L`G1@s!59ZO z5nXWQ;N^zHRkKqKchs*qc{YW2bhgA#ZOrPe_A59$nN4D|+@Ct)2->d6Iefwl_RZuVh@?oT*fq|KciGl(U zK|unSk)8opa(-S(QGSkINn(*+dKD4+jV<8%<-0i;K!Az)?G?xD+Xf;G3G@GIm%QQI zsA{=Mdh=A#s+)-dFK+yGos=6GX*5Y@+P`0#FEd;73_OlMsJ&q$ZF}-i|MFFO>-y5> z3QV7|w{Lp-u^9`t2)>zgy);C`MdW=#FDH|t>j%5Pdhh)o|6jRk+P$R@-cEgeKW}^f zwf!%TtpA$6CUNIKk=OO5)f4;;Ud`hPV_ zt==@}(v!PsKK^s=+^JRClk~;;=M4Mun@*qZ9jo#^cC1LghhJ@O)uZX3HE!(jnQ~A^ zf9L(8ym=0b+V-Rx{cz};@O;fgiRt&#ES^uSS?VdgwBPO3CWla4ZNcl7{|^6qp7VRx zf6M1L{=Z*%vv6$`qXK`4I;-uA+hHeTy>}lrFgVK@nY`jLi{tfEr++=2vEnI9-j!?p zSDWo53a=#_rv=J%Myzxp!Q?PUbpX?Mq zq1M1SC97LIT-*OuYJ_*+fBxxqs+=*;{Yw8SN!@(zLaUMth@Es z;)AEef1AEF|L@~j%Uu5ofBgAb-ub_4xMe`x9PLwDY{A)8AKRwRZ(9}|Z2Np$-;H`wg*#5>;<_ph|Q zKVuTt-e{?1*ZlcUJdgfddwq7*J-ORkv+_Pi#@ycj-swKi&TDpokLzl7{5}wHbmgI( zslR9KmC2l4ebuVwS<09Nk7ZXJn=NltnsruZt8C!&n{zvMABuYyrnqRK+cY<$W7YyI z{Z?J|bh=O`^H-d8q2`~W@_R3>=15(iNanI|?MgMGcJjkzd2M%~k(DC_!@p0FdZV#sB~S -- 1.7.9.5