From c4bf1f625b640ef45136dcf66b639e2a55bd8334 Mon Sep 17 00:00:00 2001 From: Good Guy Date: Sat, 24 Sep 2016 16:55:45 -0600 Subject: [PATCH] auto keyframe color prefs, colorpicker rework, ru.po update, keyframe align fixes, pref btn/bg fixups, zoombar fixes --- cinelerra-5.1/cinelerra/autos.C | 14 +- cinelerra-5.1/cinelerra/colorpicker.C | 283 ++--- cinelerra-5.1/cinelerra/colorpicker.h | 28 +- cinelerra-5.1/cinelerra/gwindow.C | 3 +- cinelerra-5.1/cinelerra/gwindowgui.C | 319 +++++- cinelerra-5.1/cinelerra/gwindowgui.h | 80 +- cinelerra-5.1/cinelerra/gwindowgui.inc | 6 +- cinelerra-5.1/cinelerra/preferencesthread.C | 19 +- cinelerra-5.1/cinelerra/preferencesthread.h | 3 + cinelerra-5.1/cinelerra/trackcanvas.C | 5 +- cinelerra-5.1/cinelerra/zoombar.C | 17 +- cinelerra-5.1/guicast/bcwindowbase.C | 17 +- cinelerra-5.1/guicast/bcwindowbase.h | 1 + cinelerra-5.1/plugins/svg/svgwin.C | 15 +- .../theme_blond/data/preferences_bg.png | Bin 580 -> 484 bytes .../theme_blond/data/preferences_bg.svg | 405 +++++++ .../theme_blond_cv/data/preferences_bg.png | Bin 57406 -> 39840 bytes .../theme_blue/data/preferences_bg.png | Bin 582 -> 487 bytes .../theme_blue/data/preferences_bg.svg | 405 +++++++ .../theme_blue_dot/data/preferences_bg.png | Bin 2372 -> 1855 bytes .../theme_bright/data/preferences_bg.png | Bin 500 -> 620 bytes .../theme_bright/data/setformat_bg.png | Bin 3662 -> 3653 bytes .../theme_hulk/data/preferences_bg.png | Bin 582 -> 487 bytes .../theme_hulk/data/preferences_bg.svg | 405 +++++++ .../theme_pinklady/data/preferences_bg.png | Bin 582 -> 487 bytes .../theme_pinklady/data/preferences_bg.svg | 405 +++++++ .../plugins/theme_suv/data/preferences_bg.png | Bin 521 -> 613 bytes .../plugins/theme_suv/data/setformat_bg.png | Bin 3889 -> 3840 bytes .../theme_unflat/data/preferences_bg.png | Bin 572 -> 485 bytes .../theme_unflat/data/preferences_bg.svg | 404 +++++++ cinelerra-5.1/po/ru.po | 996 ++++++++++-------- 31 files changed, 3077 insertions(+), 753 deletions(-) create mode 100644 cinelerra-5.1/plugins/theme_blond/data/preferences_bg.svg create mode 100644 cinelerra-5.1/plugins/theme_blue/data/preferences_bg.svg create mode 100644 cinelerra-5.1/plugins/theme_hulk/data/preferences_bg.svg create mode 100644 cinelerra-5.1/plugins/theme_pinklady/data/preferences_bg.svg create mode 100644 cinelerra-5.1/plugins/theme_unflat/data/preferences_bg.svg diff --git a/cinelerra-5.1/cinelerra/autos.C b/cinelerra-5.1/cinelerra/autos.C index 7ab31dd5..1f169df2 100644 --- a/cinelerra-5.1/cinelerra/autos.C +++ b/cinelerra-5.1/cinelerra/autos.C @@ -287,14 +287,16 @@ Auto* Autos::get_auto_for_editing(double position) } Auto *result = 0; - position = edl->align_to_frame(position, 0); + get_prev_auto(track->to_units(position, 0), PLAY_FORWARD, result); +//printf("Autos::get_auto_for_editing %p %p %p\n", default_auto, first, result); + if( !result || !EQUIV(track->from_units(result->position), position) ) { + if( edl->session->auto_keyframes ) { + position = edl->align_to_frame(position, 0); + result = insert_auto(track->to_units(position, 0)); + } + } //printf("Autos::get_auto_for_editing %p %p\n", first, default_auto); - result = edl->session->auto_keyframes ? - insert_auto(track->to_units(position, 0)) : - get_prev_auto(track->to_units(position, 0), PLAY_FORWARD, result); - -//printf("Autos::get_auto_for_editing %p %p %p\n", default_auto, first, result); return result; } diff --git a/cinelerra-5.1/cinelerra/colorpicker.C b/cinelerra-5.1/cinelerra/colorpicker.C index f51069e1..c26007fe 100644 --- a/cinelerra-5.1/cinelerra/colorpicker.C +++ b/cinelerra-5.1/cinelerra/colorpicker.C @@ -32,89 +32,67 @@ #include -ColorThread::ColorThread(int do_alpha, char *title) - : Thread() +ColorThread::ColorThread(int do_alpha, const char *title) + : BC_DialogThread() { - window = 0; this->title = title; this->do_alpha = do_alpha; - set_synchronous(0); - mutex = new Mutex("ColorThread::mutex"); - completion = new Condition(1, "ColorThread::completion"); + this->do_okcancel = 0; } ColorThread::~ColorThread() { - if(running()) - { - window->set_done(0); - completion->lock("ColorThread::~ColorThread"); - completion->unlock(); - } - delete mutex; - delete completion; + close_window(); } -void ColorThread::start_window(int output, int alpha) +void ColorThread::start_window(int output, int alpha, int do_okcancel) { - mutex->lock("ColorThread::start_window 1"); + if( running() ) { + ColorWindow *gui = (ColorWindow *)get_gui(); + if( gui ) { + gui->lock_window("ColorThread::start_window"); + gui->raise_window(1); + gui->unlock_window(); + } + return; + } this->output = output; this->alpha = alpha; - mutex->unlock(); - - if(!running()) - { - completion->lock("ColorThread::start_window"); - Thread::start(); - } - else - { - window->raise_window(); - window->flush(); - } + this->do_okcancel = do_okcancel; + start(); } -void ColorThread::run() +BC_Window* ColorThread::new_gui() { - BC_DisplayInfo info; -//printf("ColorThread::run 1\n"); char window_title[BCTEXTLEN]; - strcpy(window_title, _(PROGRAM_NAME ": ")); - if(title) - strcat(window_title, title); - else - strcat(window_title, _("Color Picker")); - - - mutex->lock("ColorThread::run 1"); - window = new ColorWindow(this, - info.get_abs_cursor_x() - 200, - info.get_abs_cursor_y() - 200, - window_title); - window->create_objects(); - mutex->unlock(); - window->run_window(); - mutex->lock("lorThread::run 2"); - delete window; - window = 0; - mutex->unlock(); - completion->unlock(); + strcat(window_title, title ? title : _("Color Picker")); + BC_DisplayInfo display_info; + int x = display_info.get_abs_cursor_x() + 25; + int y = display_info.get_abs_cursor_y() - 100; + int w = 410, h = 320; + if( do_okcancel ) + h += 10 + MAX(BC_OKButton::calculate_h(),BC_CancelButton::calculate_h()); + int root_w = display_info.get_root_w(), root_h = display_info.get_root_h(); + if( x+w > root_w ) x = root_w - w; + if( y+h > root_h ) y = root_h - h; + if( x < 0 ) x = 0; + if( y < 0 ) y = 0; + ColorWindow *gui = new ColorWindow(this, x, y, w, h, window_title); + gui->create_objects(); + return gui; } void ColorThread::update_gui(int output, int alpha) { - mutex->lock("ColorThread::update_gui"); - if (window) - { - this->output = output; - this->alpha = alpha; - window->change_values(); - window->lock_window(); - window->update_display(); - window->unlock_window(); - } - mutex->unlock(); + ColorWindow *gui = (ColorWindow *)get_gui(); + if( !gui ) return; + gui->lock_window(); + this->output = output; + this->alpha = alpha; + gui->change_values(); + gui->update_display(); + gui->unlock_window(); } int ColorThread::handle_new_color(int output, int alpha) @@ -123,134 +101,80 @@ int ColorThread::handle_new_color(int output, int alpha) return 0; } -ColorWindow* ColorThread::get_gui() -{ - return window; -} - - -ColorWindow::ColorWindow(ColorThread *thread, int x, int y, char *title) - : BC_Window(title, - x, - y, - 410, - 320, - 410, - 320, - 0, - 0, - 1) +ColorWindow::ColorWindow(ColorThread *thread, int x, int y, int w, int h, const char *title) + : BC_Window(title, x, y, w, h, w, h, 0, 0, 1) { this->thread = thread; } void ColorWindow::create_objects() { - int x = 10, init_x = 10, y = 10, init_y = 10; - + int x0 = 10, y0 = 10; lock_window("ColorWindow::create_objects"); change_values(); - - - -//printf("ColorWindow::create_objects 1 %p\n", this); + + int x = x0, y = y0; add_tool(wheel = new PaletteWheel(this, x, y)); -//printf("ColorWindow::create_objects 1\n"); wheel->create_objects(); -//printf("ColorWindow::create_objects 1\n"); - x += 180; - add_tool(wheel_value = new PaletteWheelValue(this, x, y)); -//printf("ColorWindow::create_objects 1\n"); + x += 180; add_tool(wheel_value = new PaletteWheelValue(this, x, y)); wheel_value->create_objects(); - - - y += 180; - x = init_x; -//printf("ColorWindow::create_objects 1\n"); - add_tool(output = new PaletteOutput(this, x, y)); -//printf("ColorWindow::create_objects 1\n"); + x = x0; + y += 180; add_tool(output = new PaletteOutput(this, x, y)); output->create_objects(); -//printf("ColorWindow::create_objects 1\n"); - x += 240; y = init_y; - add_tool(new BC_Title(x, y, _("Hue"), SMALLFONT)); - y += 15; -//printf("ColorWindow::create_objects 1 %p\n", this); - add_tool(hue = new PaletteHue(this, x, y)); - y += 30; -//printf("ColorWindow::create_objects 1\n"); - add_tool(new BC_Title(x, y, _("Saturation"), SMALLFONT)); - y += 15; -//printf("ColorWindow::create_objects 1\n"); - add_tool(saturation = new PaletteSaturation(this, x, y)); - y += 30; -//printf("ColorWindow::create_objects 1\n"); - add_tool(new BC_Title(x, y, _("Value"), SMALLFONT)); - y += 15; -//printf("ColorWindow::create_objects 1\n"); - add_tool(value = new PaletteValue(this, x, y)); - y += 30; -//printf("ColorWindow::create_objects 1\n"); - add_tool(new BC_Title(x, y, _("Red"), SMALLFONT)); - y += 15; -//printf("ColorWindow::create_objects 1\n"); - add_tool(red = new PaletteRed(this, x, y)); - y += 30; -//printf("ColorWindow::create_objects 1\n"); - add_tool(new BC_Title(x, y, _("Green"), SMALLFONT)); - y += 15; -//printf("ColorWindow::create_objects 1\n"); - add_tool(green = new PaletteGreen(this, x, y)); - y += 30; -//printf("ColorWindow::create_objects 1\n"); - add_tool(new BC_Title(x, y, _("Blue"), SMALLFONT)); - y += 15; -//printf("ColorWindow::create_objects 1\n"); - add_tool(blue = new PaletteBlue(this, x, y)); - - if(thread->do_alpha) - { - y += 30; - add_tool(new BC_Title(x, y, _("Alpha"), SMALLFONT)); - y += 15; - add_tool(alpha = new PaletteAlpha(this, x, y)); + x += 240; + y = y0; add_tool(new BC_Title(x, y, _("Hue"), SMALLFONT)); + y += 15; add_tool(hue = new PaletteHue(this, x, y)); + y += 30; add_tool(new BC_Title(x, y, _("Saturation"), SMALLFONT)); + y += 15; add_tool(saturation = new PaletteSaturation(this, x, y)); + y += 30; add_tool(new BC_Title(x, y, _("Value"), SMALLFONT)); + y += 15; add_tool(value = new PaletteValue(this, x, y)); + y += 30; add_tool(new BC_Title(x, y, _("Red"), SMALLFONT)); + y += 15; add_tool(red = new PaletteRed(this, x, y)); + y += 30; add_tool(new BC_Title(x, y, _("Green"), SMALLFONT)); + y += 15; add_tool(green = new PaletteGreen(this, x, y)); + y += 30; add_tool(new BC_Title(x, y, _("Blue"), SMALLFONT)); + y += 15; add_tool(blue = new PaletteBlue(this, x, y)); + + if(thread->do_alpha) { + y += 30; add_tool(new BC_Title(x, y, _("Alpha"), SMALLFONT)); + y += 15; add_tool(alpha = new PaletteAlpha(this, x, y)); + } + if( thread->do_okcancel ) { + add_tool(new BC_OKButton(this)); + add_tool(new BC_CancelButton(this)); } - update_display(); - show_window(); - flush(); + show_window(1); unlock_window(); - return; } void ColorWindow::change_values() - { - r = (float)((thread->output & 0xff0000) >> 16) / 255; - g = (float)((thread->output & 0xff00) >> 8) / 255; - b = (float)((thread->output & 0xff)) / 255; - HSV::rgb_to_hsv(r, g, b, h, s, v); - a = (float)thread->alpha / 255; +{ + r = (float)((thread->output & 0xff0000) >> 16) / 255; + g = (float)((thread->output & 0xff00) >> 8) / 255; + b = (float)((thread->output & 0xff)) / 255; + HSV::rgb_to_hsv(r, g, b, h, s, v); + a = (float)thread->alpha / 255; } int ColorWindow::close_event() { - set_done(0); + set_done(thread->do_okcancel ? 1 : 0); return 1; } void ColorWindow::update_rgb() { - HSV::rgb_to_hsv(red->get_value(), - green->get_value(), - blue->get_value(), - h, - s, - v); + float r = red->get_value(); + float g = green->get_value(); + float b = blue->get_value(); + HSV::rgb_to_hsv(r, g, b, h, s, v); update_display(); } @@ -300,11 +224,6 @@ int ColorWindow::handle_event() } - - - - - PaletteWheel::PaletteWheel(ColorWindow *window, int x, int y) : BC_SubWindow(x, y, 170, 170) { @@ -313,6 +232,7 @@ PaletteWheel::PaletteWheel(ColorWindow *window, int x, int y) oldsaturation = 0; button_down = 0; } + PaletteWheel::~PaletteWheel() { } @@ -594,11 +514,7 @@ int PaletteWheelValue::draw(float hue, float saturation, float value) for(i = get_h() - 3; i >= 2; i--) { unsigned char *row = (unsigned char*)frame->get_rows()[i]; - HSV::hsv_to_rgb(r_f, - g_f, - b_f, - hue, - saturation, + HSV::hsv_to_rgb(r_f, g_f, b_f, hue, saturation, 1.0 - (float)(i - 2) / (get_h() - 4)); r = (int)(r_f * 255); g = (int)(g_f * 255); @@ -611,26 +527,12 @@ int PaletteWheelValue::draw(float hue, float saturation, float value) } } - draw_3d_border(0, - 0, - get_w(), - get_h(), - 1); - draw_vframe(frame, - 2, - 2, - get_w() - 4, - get_h() - 4, - 2, - 2, - get_w() - 4, - get_h() - 4, - 0); + draw_3d_border(0, 0, get_w(), get_h(), 1); + draw_vframe(frame, 2, 2, get_w() - 4, get_h() - 4, + 2, 2, get_w() - 4, get_h() - 4, 0); set_color(BLACK); - draw_line(2, - get_h() - 3 - (int)(value * (get_h() - 5)), - get_w() - 3, - get_h() - 3 - (int)(value * (get_h() - 5))); + draw_line(2, get_h() - 3 - (int)(value * (get_h() - 5)), + get_w() - 3, get_h() - 3 - (int)(value * (get_h() - 5))); //printf("PaletteWheelValue::draw %d %f\n", __LINE__, value); return 0; @@ -664,13 +566,7 @@ int PaletteOutput::draw() HSV::hsv_to_rgb(r_f, g_f, b_f, window->h, window->s, window->v); set_color(((int)(r_f * 255) << 16) | ((int)(g_f * 255) << 8) | ((int)(b_f * 255))); draw_box(2, 2, get_w() - 4, get_h() - 4); - draw_3d_border(0, - 0, - get_w(), - get_h(), - 1); - - + draw_3d_border(0, 0, get_w(), get_h(), 1); return 0; } @@ -711,6 +607,7 @@ int PaletteSaturation::handle_event() return 1; } + PaletteValue::PaletteValue(ColorWindow *window, int x, int y) : BC_FSlider(x, y, 0, 150, 200, 0, 1.0, window->v, 0) { diff --git a/cinelerra-5.1/cinelerra/colorpicker.h b/cinelerra-5.1/cinelerra/colorpicker.h index 683fe135..2527f320 100644 --- a/cinelerra-5.1/cinelerra/colorpicker.h +++ b/cinelerra-5.1/cinelerra/colorpicker.h @@ -22,6 +22,7 @@ #ifndef COLORPICKER_H #define COLORPICKER_H +#include "bcdialog.h" #include "condition.inc" #include "guicast.h" #include "mutex.inc" @@ -40,37 +41,26 @@ class PaletteGreen; class PaletteBlue; class PaletteAlpha; -class ColorThread : public Thread +class ColorThread : public BC_DialogThread { public: - ColorThread(int do_alpha = 0, char *title = 0); + ColorThread(int do_alpha = 0, const char *title = 0); ~ColorThread(); - - void run(); - void start_window(int output, int alpha); + void start_window(int output, int alpha, int do_okcancel=0); virtual int handle_new_color(int output, int alpha); void update_gui(int output, int alpha); - ColorWindow* get_gui(); - -private: - friend class ColorWindow; + BC_Window* new_gui(); - ColorWindow *window; - Condition *completion; -// protects window, output, alpha - Mutex *mutex; -// Starting color - int output; - int alpha; - int do_alpha; - char *title; + int output, alpha; + int do_alpha, do_okcancel; + const char *title; }; class ColorWindow : public BC_Window { public: - ColorWindow(ColorThread *thread, int x, int y, char *title); + ColorWindow(ColorThread *thread, int x, int y, int w, int h, const char *title); void create_objects(); void change_values(); diff --git a/cinelerra-5.1/cinelerra/gwindow.C b/cinelerra-5.1/cinelerra/gwindow.C index bfa490d3..e638147e 100644 --- a/cinelerra-5.1/cinelerra/gwindow.C +++ b/cinelerra-5.1/cinelerra/gwindow.C @@ -33,7 +33,7 @@ GWindow::GWindow(MWindow *mwindow) GWindow::~GWindow() { if(gui && running()) { - gui->set_done(0); + gui->set_done(1); } join(); delete gui; gui = 0; @@ -51,6 +51,7 @@ void GWindow::create_objects() GWindowGUI::calculate_extents(mwindow->gui, &w, &h); gui = new GWindowGUI(mwindow, w, h); + gui->load_defaults(); gui->create_objects(); } diff --git a/cinelerra-5.1/cinelerra/gwindowgui.C b/cinelerra-5.1/cinelerra/gwindowgui.C index 4589fb1e..b1b8300c 100644 --- a/cinelerra-5.1/cinelerra/gwindowgui.C +++ b/cinelerra-5.1/cinelerra/gwindowgui.C @@ -20,20 +20,25 @@ */ #include "autoconf.h" +#include "bchash.h" #include "bcsignals.h" #include "clip.h" +#include "condition.h" #include "edl.h" #include "edlsession.h" #include "gwindowgui.h" #include "language.h" +#include "localsession.h" #include "mainmenu.h" #include "mainsession.h" #include "mwindow.h" #include "mwindowgui.h" #include "theme.h" +#include "tracks.h" #include "trackcanvas.h" +#include "zoombar.h" - +#include @@ -43,6 +48,22 @@ GWindowGUI::GWindowGUI(MWindow *mwindow, int w, int h) w, h, w, h, 0, 0, 1) { this->mwindow = mwindow; + color_thread = 0; +} + +GWindowGUI::~GWindowGUI() +{ + delete color_thread; +} + +void GWindowGUI::start_color_thread(GWindowColorButton *color_button) +{ + unlock_window(); + delete color_thread; + color_thread = new GWindowColorThread(color_button); + int color = auto_colors[color_button->auto_toggle->info->ref]; + color_thread->start(color); + lock_window("GWindowGUI::start_color_thread"); } const char *GWindowGUI::other_text[NON_AUTOMATION_TOTAL] = @@ -85,6 +106,33 @@ int GWindowGUI::auto_colors[AUTOMATION_TOTAL] = ORANGE, }; +void GWindowGUI::load_defaults() +{ + BC_Hash *defaults = mwindow->defaults; + auto_colors[AUTOMATION_MUTE] = defaults->get("AUTO_COLOR_MUTE", auto_colors[AUTOMATION_MUTE]); + auto_colors[AUTOMATION_CAMERA_X] = defaults->get("AUTO_COLOR_CAMERA_X", auto_colors[AUTOMATION_CAMERA_X]); + auto_colors[AUTOMATION_CAMERA_Y] = defaults->get("AUTO_COLOR_CAMERA_Y", auto_colors[AUTOMATION_CAMERA_Y]); + auto_colors[AUTOMATION_CAMERA_Z] = defaults->get("AUTO_COLOR_CAMERA_Z", auto_colors[AUTOMATION_CAMERA_Z]); + auto_colors[AUTOMATION_PROJECTOR_X] = defaults->get("AUTO_COLOR_PROJECTOR_X", auto_colors[AUTOMATION_PROJECTOR_X]); + auto_colors[AUTOMATION_PROJECTOR_Y] = defaults->get("AUTO_COLOR_PROJECTOR_Y", auto_colors[AUTOMATION_PROJECTOR_Y]); + auto_colors[AUTOMATION_PROJECTOR_Z] = defaults->get("AUTO_COLOR_PROJECTOR_Z", auto_colors[AUTOMATION_PROJECTOR_Z]); + auto_colors[AUTOMATION_FADE] = defaults->get("AUTO_COLOR_FADE", auto_colors[AUTOMATION_FADE]); + auto_colors[AUTOMATION_SPEED] = defaults->get("AUTO_COLOR_SPEED", auto_colors[AUTOMATION_SPEED]); +} + +void GWindowGUI::save_defaults() +{ + BC_Hash *defaults = mwindow->defaults; + defaults->update("AUTO_COLOR_MUTE", auto_colors[AUTOMATION_MUTE]); + defaults->update("AUTO_COLOR_CAMERA_X", auto_colors[AUTOMATION_CAMERA_X]); + defaults->update("AUTO_COLOR_CAMERA_Y", auto_colors[AUTOMATION_CAMERA_Y]); + defaults->update("AUTO_COLOR_CAMERA_Z", auto_colors[AUTOMATION_CAMERA_Z]); + defaults->update("AUTO_COLOR_PROJECTOR_X", auto_colors[AUTOMATION_PROJECTOR_X]); + defaults->update("AUTO_COLOR_PROJECTOR_Y", auto_colors[AUTOMATION_PROJECTOR_Y]); + defaults->update("AUTO_COLOR_PROJECTOR_Z", auto_colors[AUTOMATION_PROJECTOR_Z]); + defaults->update("AUTO_COLOR_FADE", auto_colors[AUTOMATION_FADE]); + defaults->update("AUTO_COLOR_SPEED", auto_colors[AUTOMATION_SPEED]); +} static toggleinfo toggle_order[] = { @@ -102,6 +150,7 @@ static toggleinfo toggle_order[] = {1, AUTOMATION_PROJECTOR_X}, {1, AUTOMATION_PROJECTOR_Y}, {1, AUTOMATION_PROJECTOR_Z}, + {0, -1}, // bar {1, AUTOMATION_MODE}, {1, AUTOMATION_PAN}, {1, AUTOMATION_MASK}, @@ -127,6 +176,7 @@ void GWindowGUI::calculate_extents(BC_WindowBase *gui, int *w, int *h) &temp2, &temp3, &temp4, &temp5, &temp6, &temp7, _(isauto ? auto_text[ref] : other_text[ref]), MEDIUMFONT); + current_w += current_h; *w = MAX(current_w, *w); *h += current_h + 5; } @@ -135,7 +185,168 @@ void GWindowGUI::calculate_extents(BC_WindowBase *gui, int *w, int *h) *w += 20; } +GWindowColorButton::GWindowColorButton(GWindowToggle *auto_toggle, int x, int y, int w) + : BC_Button(x, y, w, vframes) +{ + this->auto_toggle = auto_toggle; + this->color = 0; + for( int i=0; i<3; ++i ) + vframes[i] = new VFrame(w, w, BC_RGBA8888, -1); +} + +GWindowColorButton::~GWindowColorButton() +{ + for( int i=0; i<3; ++i ) + delete vframes[i]; +} + +void GWindowColorButton::set_color(int color) +{ + this->color = color; + int r = (color>>16) & 0xff; + int g = (color>>8) & 0xff; + int b = (color>>0) & 0xff; + for( int i=0; i<3; ++i ) { + VFrame *vframe = vframes[i]; + int ww = vframe->get_w(), hh = vframe->get_h(); + int cx = (ww+1)/2, cy = hh/2; + double cc = (cx*cx + cy*cy) / 4.; + uint8_t *bp = vframe->get_data(), *dp = bp; + uint8_t *ep = dp + vframe->get_data_size(); + int rr = r, gg = g, bb = b; + int bpl = vframe->get_bytes_per_line(); + switch( i ) { + case BUTTON_UP: + break; + case BUTTON_UPHI: + if( (rr+=48) > 0xff ) rr = 0xff; + if( (gg+=48) > 0xff ) gg = 0xff; + if( (bb+=48) > 0xff ) bb = 0xff; + break; + case BUTTON_DOWNHI: + if( (rr-=48) < 0x00 ) rr = 0x00; + if( (gg-=48) < 0x00 ) gg = 0x00; + if( (bb-=48) < 0x00 ) bb = 0x00; + break; + } + while( dp < ep ) { + int yy = (dp-bp) / bpl, xx = ((dp-bp) % bpl) >> 2; + int dy = cy - yy, dx = cx - xx; + double s = dx*dx + dy*dy - cc; + double ss = s < 0 ? 1 : s >= cc ? 0 : 1 - s/cc; + int aa = ss * 0xff; + *dp++ = rr; *dp++ = gg; *dp++ = bb; *dp++ = aa; + } + } + set_images(vframes); +} + +void GWindowColorButton::update_gui(int color) +{ + set_color(color); + draw_face(); +} + +GWindowColorThread::GWindowColorThread(GWindowColorButton *color_button) + : ColorThread(0, color_button->auto_toggle->caption) +{ + this->color = 0; + this->color_button = color_button; + color_update = new GWindowColorUpdate(this); +} + +GWindowColorThread::~GWindowColorThread() +{ + delete color_update; +} + +void GWindowColorThread::start(int color) +{ + start_window(color, 0, 1); + color_update->start(); +} + +void GWindowColorThread::handle_done_event(int result) +{ + color_update->stop(); + GWindowGUI *gui = color_button->auto_toggle->gui; + int ref = color_button->auto_toggle->info->ref; + gui->lock_window("GWindowColorThread::handle_done_event"); + if( !result ) { + GWindowGUI::auto_colors[ref] = color; + color_button->auto_toggle->update_gui(color); + gui->save_defaults(); + } + else { + color = GWindowGUI::auto_colors[ref]; + color_button->update_gui(color); + } + gui->unlock_window(); + MWindowGUI *mwindow_gui = color_button->auto_toggle->gui->mwindow->gui; + mwindow_gui->lock_window("GWindowColorUpdate::run"); + mwindow_gui->draw_overlays(1); + mwindow_gui->unlock_window(); +} + +int GWindowColorThread::handle_new_color(int color, int alpha) +{ + this->color = color; + color_update->update_lock->unlock(); + return 1; +} + +void GWindowColorThread::update_gui() +{ + color_button->update_gui(color); +} + +GWindowColorUpdate::GWindowColorUpdate(GWindowColorThread *color_thread) + : Thread(1, 0, 0) +{ + this->color_thread = color_thread; + this->update_lock = new Condition(0,"GWindowColorUpdate::update_lock"); + done = 1; +} + +GWindowColorUpdate::~GWindowColorUpdate() +{ + stop(); + delete update_lock; +} + +void GWindowColorUpdate::start() +{ + if( done ) { + done = 0; + Thread::start(); + } +} + +void GWindowColorUpdate::stop() +{ + if( !done ) { + done = 1; + update_lock->unlock(); + join(); + } +} + +void GWindowColorUpdate::run() +{ + while( !done ) { + update_lock->lock("GWindowColorUpdate::run"); + if( done ) break; + color_thread->update_gui(); + } +} + +int GWindowColorButton::handle_event() +{ + GWindowGUI *gui = auto_toggle->gui; + gui->start_color_thread(this); + return 1; +} void GWindowGUI::create_objects() { @@ -152,16 +363,26 @@ void GWindowGUI::create_objects() y += bar->get_h() + 5; continue; } - toggles[i] = new GWindowToggle(mwindow, this, x, y, *tp); - add_tool(toggles[i]); VFrame *vframe = 0; switch( ref ) { case AUTOMATION_MODE: vframe = mwindow->theme->modekeyframe_data; break; case AUTOMATION_PAN: vframe = mwindow->theme->pankeyframe_data; break; case AUTOMATION_MASK: vframe = mwindow->theme->maskkeyframe_data; break; } + const char *label = tp->isauto ? auto_text[tp->ref] : other_text[tp->ref] ; + int color = !tp->isauto ? -1 : auto_colors[tp->ref]; + GWindowToggle *toggle = new GWindowToggle(mwindow, this, x, y, label, color, tp); + add_tool(toggles[i] = toggle); if( vframe ) draw_vframe(vframe, get_w()-vframe->get_w()-10, y); + else if( tp->isauto ) { + int wh = toggle->get_h() - 4; + GWindowColorButton *color_button = + new GWindowColorButton(toggle, get_w()-wh-10, y+2, wh); + add_tool(color_button); + color_button->set_color(color); + color_button->draw_face(); + } y += toggles[i]->get_h() + 5; } unlock_window(); @@ -223,46 +444,72 @@ int GWindowGUI::keypress_event() } -GWindowToggle::GWindowToggle(MWindow *mwindow, - GWindowGUI *gui, int x, int y, toggleinfo toggleinf) - : BC_CheckBox(x, y, *get_main_value(mwindow, toggleinf), - _((toggleinf.isauto ? - GWindowGUI::auto_text[toggleinf.ref] : - GWindowGUI::other_text[toggleinf.ref])), - MEDIUMFONT, - !toggleinf.isauto ? -1 : GWindowGUI::auto_colors[toggleinf.ref]) +GWindowToggle::GWindowToggle(MWindow *mwindow, GWindowGUI *gui, int x, int y, + const char *text, int color, toggleinfo *info) + : BC_CheckBox(x, y, *get_main_value(mwindow, info), text, MEDIUMFONT, color) { this->mwindow = mwindow; this->gui = gui; - this->toggleinf = toggleinf; + this->info = info; + this->color = color; + this->color_button = 0; +} + +GWindowToggle::~GWindowToggle() +{ + delete color_button; } int GWindowToggle::handle_event() { - *get_main_value(mwindow, toggleinf) = get_value(); + int value = get_value(); + *get_main_value(mwindow, info) = value; gui->update_mwindow(); // Update stuff in MWindow unlock_window(); mwindow->gui->lock_window("GWindowToggle::handle_event"); - if(toggleinf.isauto) - { + if( info->isauto ) { + int autogroup_type = -1; + switch( info->ref ) { + case AUTOMATION_FADE: + autogroup_type = mwindow->edl->tracks->recordable_video_tracks() ? + AUTOGROUPTYPE_VIDEO_FADE : AUTOGROUPTYPE_AUDIO_FADE ; + break; + case AUTOMATION_SPEED: + autogroup_type = AUTOGROUPTYPE_SPEED; + break; + case AUTOMATION_CAMERA_X: + case AUTOMATION_PROJECTOR_X: + autogroup_type = AUTOGROUPTYPE_X; + break; + case AUTOMATION_CAMERA_Y: + case AUTOMATION_PROJECTOR_Y: + autogroup_type = AUTOGROUPTYPE_Y; + break; + case AUTOMATION_CAMERA_Z: + case AUTOMATION_PROJECTOR_Z: + autogroup_type = AUTOGROUPTYPE_ZOOM; + break; + } + if( value && autogroup_type >= 0 ) { + mwindow->edl->local_session->zoombar_showautotype = autogroup_type; + mwindow->gui->zoombar->update_autozoom(); + } mwindow->gui->draw_overlays(1); } - else - { - switch(toggleinf.ref) - { - case NON_AUTOMATION_ASSETS: - case NON_AUTOMATION_TITLES: - mwindow->gui->update(1, 1, 0, 0, 1, 0, 0); - break; - - case NON_AUTOMATION_TRANSITIONS: - case NON_AUTOMATION_PLUGIN_AUTOS: - mwindow->gui->draw_overlays(1); - break; + else { + switch( info->ref ) { + case NON_AUTOMATION_ASSETS: + case NON_AUTOMATION_TITLES: + mwindow->gui->update(1, 1, 0, 0, 1, 0, 0); + break; + + case NON_AUTOMATION_TRANSITIONS: + case NON_AUTOMATION_PLUGIN_AUTOS: + mwindow->gui->draw_overlays(1); + break; } } @@ -272,12 +519,12 @@ int GWindowToggle::handle_event() return 1; } -int* GWindowToggle::get_main_value(MWindow *mwindow, toggleinfo toggleinf) +int* GWindowToggle::get_main_value(MWindow *mwindow, toggleinfo *info) { - if( toggleinf.isauto ) - return &mwindow->edl->session->auto_conf->autos[toggleinf.ref]; + if( info->isauto ) + return &mwindow->edl->session->auto_conf->autos[info->ref]; - switch(toggleinf.ref) { + switch( info->ref ) { case NON_AUTOMATION_ASSETS: return &mwindow->edl->session->show_assets; case NON_AUTOMATION_TITLES: return &mwindow->edl->session->show_titles; case NON_AUTOMATION_TRANSITIONS: return &mwindow->edl->session->auto_conf->transitions; @@ -288,10 +535,14 @@ int* GWindowToggle::get_main_value(MWindow *mwindow, toggleinfo toggleinf) void GWindowToggle::update() { - int *vp = get_main_value(mwindow, toggleinf); + int *vp = get_main_value(mwindow, info); if( !vp ) return; set_value(*vp); } - +void GWindowToggle::update_gui(int color) +{ + BC_Toggle::color = color; + draw_face(1,0); +} diff --git a/cinelerra-5.1/cinelerra/gwindowgui.h b/cinelerra-5.1/cinelerra/gwindowgui.h index 86045eb9..35a524e8 100644 --- a/cinelerra-5.1/cinelerra/gwindowgui.h +++ b/cinelerra-5.1/cinelerra/gwindowgui.h @@ -23,37 +23,41 @@ #define GWINDOWGUI_H #include "automation.inc" +#include "condition.inc" +#include "colorpicker.h" #include "guicast.h" +#include "gwindowgui.inc" #include "mwindow.inc" -class GWindowToggle; - enum { NONAUTOTOGGLES_ASSETS, NONAUTOTOGGLES_TITLES, NONAUTOTOGGLES_TRANSITIONS, NONAUTOTOGGLES_PLUGIN_AUTOS, - NONAUTOTOGGLES_BAR, + NONAUTOTOGGLES_BAR1, + NONAUTOTOGGLES_BAR2, NONAUTOTOGGLES_COUNT }; -struct toggleinfo -{ - int isauto; - int ref; +struct toggleinfo { + int isauto, ref; }; class GWindowGUI : public BC_Window { public: GWindowGUI(MWindow *mwindow, int w, int h); + ~GWindowGUI(); static void calculate_extents(BC_WindowBase *gui, int *w, int *h); void create_objects(); int translation_event(); int close_event(); int keypress_event(); + void start_color_thread(GWindowColorButton *color_button); void update_toggles(int use_lock); void update_mwindow(); + void load_defaults(); + void save_defaults(); static const char *other_text[]; static const char *auto_text[]; @@ -61,24 +65,72 @@ public: MWindow *mwindow; GWindowToggle *toggles[NONAUTOTOGGLES_COUNT + AUTOMATION_TOTAL]; + GWindowColorThread *color_thread; }; class GWindowToggle : public BC_CheckBox { public: - GWindowToggle(MWindow *mwindow, - GWindowGUI *gui, - int x, - int y, - toggleinfo toggleinf); + GWindowToggle(MWindow *mwindow, GWindowGUI *gui, int x, int y, + const char *text, int color, toggleinfo *info); + ~GWindowToggle(); + int handle_event(); void update(); + void update_gui(int color); - static int* get_main_value(MWindow *mwindow, toggleinfo toggleinf); + static int* get_main_value(MWindow *mwindow, toggleinfo *info); + int color; MWindow *mwindow; GWindowGUI *gui; - toggleinfo toggleinf; + toggleinfo *info; + GWindowColorButton *color_button; +}; + +class GWindowColorButton : public BC_Button +{ +public: + GWindowColorButton(GWindowToggle *auto_toggle, int x, int y, int w); + ~GWindowColorButton(); + + void set_color(int color); + void update_gui(int color); + int handle_event(); + + int color; + VFrame *vframes[3]; + GWindowToggle *auto_toggle; +}; + +class GWindowColorThread : public ColorThread +{ +public: + GWindowColorThread(GWindowColorButton *color_button); + ~GWindowColorThread(); + void start(int color); + int handle_new_color(int color, int alpha); + void update_gui(); + void handle_done_event(int result); + + int color; + GWindowColorButton *color_button; + GWindowColorUpdate *color_update; +}; + +class GWindowColorUpdate : public Thread +{ +public: + GWindowColorUpdate(GWindowColorThread *color_thread); + ~GWindowColorUpdate(); + + void start(); + void stop(); + void run(); + + int done; + Condition *update_lock; + GWindowColorThread *color_thread; }; #endif diff --git a/cinelerra-5.1/cinelerra/gwindowgui.inc b/cinelerra-5.1/cinelerra/gwindowgui.inc index 52b138ac..ac0cc578 100644 --- a/cinelerra-5.1/cinelerra/gwindowgui.inc +++ b/cinelerra-5.1/cinelerra/gwindowgui.inc @@ -22,8 +22,10 @@ #ifndef GWINDOWGUI_INC #define GWINDOWGUI_INC - class GWindowGUI; - +class GWindowToggle; +class GWindowColorButton; +class GWindowColorThread; +class GWindowColorUpdate; #endif diff --git a/cinelerra-5.1/cinelerra/preferencesthread.C b/cinelerra-5.1/cinelerra/preferencesthread.C index 417f41f7..853c7a70 100644 --- a/cinelerra-5.1/cinelerra/preferencesthread.C +++ b/cinelerra-5.1/cinelerra/preferencesthread.C @@ -519,6 +519,7 @@ int PreferencesWindow::set_current_dialog(int number) //printf("PreferencesWindow::set_current_dialog %d\n", __LINE__); dialog->create_objects(); //printf("PreferencesWindow::set_current_dialog %d\n", __LINE__); + dialog->lower_window(); dialog->show_window(0); } @@ -598,12 +599,16 @@ PreferencesApply::PreferencesApply(MWindow *mwindow, PreferencesThread *thread) this->mwindow = mwindow; this->thread = thread; } - int PreferencesApply::handle_event() { thread->apply_settings(); return 1; } +int PreferencesApply::resize_event(int w, int h) +{ + reposition_window(w/2 - get_w()/2, h-get_h()-10); + return 1; +} @@ -616,7 +621,6 @@ PreferencesOK::PreferencesOK(MWindow *mwindow, PreferencesThread *thread) this->mwindow = mwindow; this->thread = thread; } - int PreferencesOK::keypress_event() { if(get_keypress() == RETURN) @@ -631,6 +635,11 @@ int PreferencesOK::handle_event() thread->window->set_done(0); return 1; } +int PreferencesOK::resize_event(int w, int h) +{ + reposition_window(10, h-get_h()-10); + return 1; +} @@ -651,12 +660,16 @@ int PreferencesCancel::keypress_event() } return 0; } - int PreferencesCancel::handle_event() { thread->window->set_done(1); return 1; } +int PreferencesCancel::resize_event(int w, int h) +{ + reposition_window(w-get_w()-10, h-get_h()-10); + return 1; +} diff --git a/cinelerra-5.1/cinelerra/preferencesthread.h b/cinelerra-5.1/cinelerra/preferencesthread.h index ed5c54b9..4de6aa8a 100644 --- a/cinelerra-5.1/cinelerra/preferencesthread.h +++ b/cinelerra-5.1/cinelerra/preferencesthread.h @@ -166,6 +166,7 @@ class PreferencesApply : public BC_GenericButton public: PreferencesApply(MWindow *mwindow, PreferencesThread *thread); int handle_event(); + int resize_event(int w, int h); MWindow *mwindow; PreferencesThread *thread; }; @@ -176,6 +177,7 @@ public: PreferencesOK(MWindow *mwindow, PreferencesThread *thread); int keypress_event(); int handle_event(); + int resize_event(int w, int h); MWindow *mwindow; PreferencesThread *thread; }; @@ -186,6 +188,7 @@ public: PreferencesCancel(MWindow *mwindow, PreferencesThread *thread); int keypress_event(); int handle_event(); + int resize_event(int w, int h); MWindow *mwindow; PreferencesThread *thread; }; diff --git a/cinelerra-5.1/cinelerra/trackcanvas.C b/cinelerra-5.1/cinelerra/trackcanvas.C index 2e21511e..9ec6971b 100644 --- a/cinelerra-5.1/cinelerra/trackcanvas.C +++ b/cinelerra-5.1/cinelerra/trackcanvas.C @@ -2618,7 +2618,10 @@ int TrackCanvas::test_floatline(int center_pixel, { Auto *current; mwindow->undo->update_undo_before(); - current = mwindow->session->drag_auto = autos->insert_auto(position1); + double position = autos->track->from_units(position1); + position = mwindow->edl->align_to_frame(position, 0); + int64_t new_position = autos->track->to_units(position,0); + current = mwindow->session->drag_auto = autos->insert_auto(new_position); ((FloatAuto*)current)->set_value(value); mwindow->session->drag_start_percentage = value_to_percentage(value, autogrouptype); mwindow->session->drag_start_position = current->position; diff --git a/cinelerra-5.1/cinelerra/zoombar.C b/cinelerra-5.1/cinelerra/zoombar.C index 6fee32b1..47dc15d5 100644 --- a/cinelerra-5.1/cinelerra/zoombar.C +++ b/cinelerra-5.1/cinelerra/zoombar.C @@ -176,27 +176,30 @@ int ZoomBar::draw() void ZoomBar::update_autozoom() { char string[BCTEXTLEN]; - switch (mwindow->edl->local_session->zoombar_showautotype) { + int autogroup_type = mwindow->edl->local_session->zoombar_showautotype; + switch( autogroup_type ) { case AUTOGROUPTYPE_AUDIO_FADE: case AUTOGROUPTYPE_VIDEO_FADE: sprintf(string, "%0.01f to %0.01f\n", - mwindow->edl->local_session->automation_mins[mwindow->edl->local_session->zoombar_showautotype], - mwindow->edl->local_session->automation_maxs[mwindow->edl->local_session->zoombar_showautotype]); + mwindow->edl->local_session->automation_mins[autogroup_type], + mwindow->edl->local_session->automation_maxs[autogroup_type]); break; case AUTOGROUPTYPE_ZOOM: case AUTOGROUPTYPE_SPEED: sprintf(string, "%0.03f to %0.03f\n", - mwindow->edl->local_session->automation_mins[mwindow->edl->local_session->zoombar_showautotype], - mwindow->edl->local_session->automation_maxs[mwindow->edl->local_session->zoombar_showautotype]); + mwindow->edl->local_session->automation_mins[autogroup_type], + mwindow->edl->local_session->automation_maxs[autogroup_type]); break; case AUTOGROUPTYPE_X: case AUTOGROUPTYPE_Y: sprintf(string, "%0.0f to %.0f\n", - mwindow->edl->local_session->automation_mins[mwindow->edl->local_session->zoombar_showautotype], - mwindow->edl->local_session->automation_maxs[mwindow->edl->local_session->zoombar_showautotype]); + mwindow->edl->local_session->automation_mins[autogroup_type], + mwindow->edl->local_session->automation_maxs[autogroup_type]); break; } auto_zoom_text->update(string); + const char *group_name = AutoTypeMenu::to_text(autogroup_type); + auto_type->set_text(group_name); } int ZoomBar::update() diff --git a/cinelerra-5.1/guicast/bcwindowbase.C b/cinelerra-5.1/guicast/bcwindowbase.C index c54685a4..b97208fa 100644 --- a/cinelerra-5.1/guicast/bcwindowbase.C +++ b/cinelerra-5.1/guicast/bcwindowbase.C @@ -53,6 +53,7 @@ #include #include #include +#include #include #include @@ -3756,8 +3757,8 @@ int BC_WindowBase::get_cursor_y() int BC_WindowBase::dump_windows() { - printf("\tBC_WindowBase::dump_windows window=%p win=%p\n", - this, (void*)this->win); + printf("\tBC_WindowBase::dump_windows window=%p win=%p '%s', %dx%d+%d+%d %s\n", + this, (void*)this->win, title, w,h,x,y, typeid(*this).name()); for(int i = 0; i < subwindows->size(); i++) subwindows->get(i)->dump_windows(); for(int i = 0; i < popups.size(); i++) @@ -4356,3 +4357,15 @@ BC_Pixmap *BC_WindowBase::create_pixmap(VFrame *vframe) } +void BC_WindowBase::flicker(int n, int ms) +{ + int color = get_bg_color(); + for( int i=2*n; --i>=0; ) { + set_inverse(); set_bg_color(WHITE); + clear_box(0,0, w,h); flash(1); + sync_display(); Timer::delay(ms); + } + set_bg_color(color); + set_opaque(); +} + diff --git a/cinelerra-5.1/guicast/bcwindowbase.h b/cinelerra-5.1/guicast/bcwindowbase.h index 6ac7782b..994da7b0 100644 --- a/cinelerra-5.1/guicast/bcwindowbase.h +++ b/cinelerra-5.1/guicast/bcwindowbase.h @@ -477,6 +477,7 @@ public: void slide_right(int distance); void slide_up(int distance); void slide_down(int distance); + void flicker(int n=3, int ms=66); int cycle_textboxes(int amount); diff --git a/cinelerra-5.1/plugins/svg/svgwin.C b/cinelerra-5.1/plugins/svg/svgwin.C index d5f8b978..702d67b4 100644 --- a/cinelerra-5.1/plugins/svg/svgwin.C +++ b/cinelerra-5.1/plugins/svg/svgwin.C @@ -135,17 +135,6 @@ void SvgWin::update_gui(SvgConfig &config) unlock_window(); } -static void flicker(BC_GenericButton *btn, int n, int clr) -{ - int color = btn->get_color(); - while( --n >= 0 ) { - btn->text_color(clr); btn->draw_face(1); - btn->sync_display(); usleep(100000); - btn->text_color(color); btn->draw_face(1); - btn->sync_display(); usleep(100000); - } -} - SvgCoord::SvgCoord(SvgWin *win, SvgMain *client, int x, int y, float *value) : BC_TumbleTextBox(win, *value, (float)0, (float)3000, x, y, 100) { @@ -182,7 +171,7 @@ int NewSvgButton::handle_event() start(); } else { - flicker(this, 5, RED); + flicker(); window->editing_lock.unlock(); } @@ -290,7 +279,7 @@ int EditSvgButton::handle_event() start(); } else { - flicker(this, 5, RED); + flicker(); window->editing_lock.unlock(); } return 1; diff --git a/cinelerra-5.1/plugins/theme_blond/data/preferences_bg.png b/cinelerra-5.1/plugins/theme_blond/data/preferences_bg.png index 3cd4747fa829251851dc53011eb7555af0d3188f..20b02311d2d69b4a251cec85a229a7b29ff9aca5 100644 GIT binary patch literal 484 zcmeAS@N?(olHy`uVBq!ia0y~yU@ic%eL0wbWJZf%9*|;7@^*J&_z!{$_AZ~yz`!`u z)5S5QV$R!}j=U`n3@naf+{?RJN;w?Pw2IFQQy3UjnuHh{TmqOFCUAH$FbFwvGB_w{Ffw>hPtmc$y0m--hJ?h& uKjSu=Gcas0m<}ZA=m6?@g=mvb^6yq-UA1O%zunhXBxp0t$B+85A6LFf%wb6tFWiFg)Y~nooU&kAGI3+3gPW u-~ZnC&p{S%un3o=vm2=ID{@Wz!Fbw_V|jvw|6gE;FnGH9xvX + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cinelerra-5.1/plugins/theme_blond_cv/data/preferences_bg.png b/cinelerra-5.1/plugins/theme_blond_cv/data/preferences_bg.png index f0b9357ce239225b503f1388a1c396e28b29ae0d..4fd39d5ba182cc4e296d7dfd157cc38723f505e4 100644 GIT binary patch literal 39840 zcmd41^LHk}xBna4eq!5CJh5$0Y))+3wry+TOl;e>?Md#O@4e@I&L42sU3c{l)m^ps z?&_-Q*V@(nj!=}BK!n4E0|5a+l#&!x1_1%L2LS;kf&u$i6W7v2`LBR7l93Pv`TnmX zzq>361cVqwN>oVIJ^QkIs+PVpmXfkI>Bs@^w&?L=fN*`Q=s92fd6bXsT)jZiLUpTY zDJVMr^&z1UBca{#ifn(oNrRR;aX*h*j5^S&#&jSQ5s$-WwccBjMSX}caVQ3I)S>1zy43e|FUm`=*-{zukioJ z*&fzasQte$>i5tt10Da<1B(C8Z|I(^Y*n+vF#Mm#B!U%ve0{n|>sGX;ApKHt3DWJ7 zA!HqC-2yVGFOrOq%SGWQZ>fWbanKYOGG7`wbQw-7t1tF!$%2waU22_Unn^#yf&D9J zEi6*8RnKImOvD0F7P6(;vqv$39{AXks-F#A)3T|7BQVl1dyL$e2{-I2LZFaSs;R7o zlPn^8Silr(4?6{gS#ZDo$K*UsYHDLv3`WU)z7R~W1AuweQqF$UyK&fELD0y@=R*dufR4)d zb+z+#<#o9JKhuBv5D-rI{a*JCM^yBmMNw}Eqpz ziSkY0YhNje0biSLxyt8vaG8Uv`4F?SDtp8US8m6t zvbL~b-LVP(=i>44>FMdU%k#hUZ9@|FL6G4T|KY^7cHQgPa$M}xY#Ix71qc#SDj16j8>j} z#F_ZQAR5ItHREzA$}EyesC3L5*Q;L)m@=#EKmu9eamxeji*4E_WX@qn?|M`QrYH$A zR5OAl^bE;5ym+H#v!R;-%A+e!KG$`h9Hdd>sgUk&RI*yf4K! z#GIfArKL}=GyhSNk@mMsAOU{LhE4%9uPjW{ue`9mg$29UWu^26daSqX0*I_i+g5Pv zR$Trd{d&v$_GtfKFa9ldnBQxdpZh1%_Zv}6-uFY!;H zyX}7l!Vot+JY1Sa-_QGs;Qvn?mV-3yh8IvM&lK=QTU4$h^I#)vm8fY+RkmVK+gp5x z!#s+hWT6u6auIAv^^_8;C1B6wkd4k|&OSj{Qk&}(9@+z{H}z>oIEs;5=3C#gT?0Q$ z5o~F;$P~-4j@C1Uvya?c{GNPuNj`pC8pY1ZG(LE>t-M_m321ncWnyhA^tX;aKxrO) zP?sncB#HWbRj0JDVkr>bOEZ+H(jM86FYA%VXrIre@nTpRIg7VoG{!&^u-nk8S~1Ax zPG?2bR)AuBHDML$SE@!Duw}P$9o01@`z2CF4Gwx5Ehf_WOB9qu;pJ08ppt+-CQ#3`X8LH=j9=P^bH4&vTea6K6Xs|dGPr9Ln8 zvarA2-aC_T`F$>{>BD62KoZv;HE`551z_XaI=}*WWuxFz>6_Cix!8uBB)~<-kwgX6 zeb3_wL=h>511ScY-dMnDuc?wN=Y6Q+Vux62384aEV8L7L-j`6Hfpej(_FfsCUKutg>4S^J-F;BcnIc<89Av?$@Y4L$A zR76{H*1W)&GbtvOHF=^dk~^f$IHjY`ZmS-=_oEq!od7zZkD$p)IVgRJP33f`M9$}< zAVd5Dvx}yZV8`Exszdk0<76pgD&hG$9OjZvl4cMnN;YIuoEE}WjTLFU(OL|Oh;HJ6 z^k*cQ6mzxFCeDVaYG{K^fh#agE1mBN~#4sK4!WBMN z{q2cLa)eVJMVrP~;_m`#e2#Q3LyCV9w0^EH(jcRrg{GxUQ8?bo%hF|(+nM3|dBB;? z5^Fu;d|}3bSK|3vhGTDacK`cvEL3EiOy-PZ_efu6CGywhb4?v{ye!2@a%HD;va!e9 zc|;R^s?+g9#}uYEGykkIT%QjzA9UZL)YeafMsPCW#un0xa3OwbwGOWJ_v}K!Y zn<#PgFCBy9AYRP8C76ly%0eEzkOaI^CZeAj=Xs@+X3?wR{=JbQ(h#)eGIL;bowwAA z6HJh{Jq2WOi)Htf;+$U23Y;a%2JMhKap8obtiOdQYY{t#{wgh^E{X8`z$nog`ve44 zo1Gn3^;0wJh(dQ~V#?yaMRyWaOs~=o7o2;(&xVFQ*+cR^RLTiE7$PESowVw7b)UAucg1@CZ7NlHMEAjG%{+wKu8E zDvNm(mO+lDOp3MSo1QA?Xrc+IgUSgCWrB+;Lfw{%7#1D1-;d@h#M<^qTU~DxQl;#`n-pU*sYOEL!vke67I=#)Eg@z_)?E|7WWNOMgOysom<{BXrNp-+ zSex_AT&L#%LNhL|o~M#0B_R#zn-NsYxs@eAf&$88IbCjN9nauKd`WeVX;WU8h}yr{ zJDz8NKnka`yF_UTvb7507#hqySvk0b?I;#aiL!7;0%TnFJo7C-m`BdNJqY)UOk%xk|%n=c{T zVt{7(pP_Lmofxeq_^C`bN>`=4c}+{#b1Q!^50rn6R~Zcj;gAQ|5h6E547)Vu6sOi8 zVG4QqwcgFn^}@p)a)x5xb6?nrxT0=U_OpErF6}GEzNxK?OC_vjJ2h5@*LX#wz{h*UZe0=NaWE_wg+D~#gpYN zamU=$MWUL#gmsOnx<^YtTvJ=gD=08e9U(MatR>Wkw1@}do^0&0;}g`0rcHUjV=3|K ztguUdCV{zi;BM0AbrrY2lZ~PPt|5(Y^T zej=~=@iLC7M75|vL+XVm-I23XnJU3I;o3_8tzT8b%d2m#Tki2Ul&%UF#)1JnW>fRiH27n|wRfUI#qE3|mR+r)U0|+B3XHGQdFMheHBioj6B% z5V=R|G^2exOiMPpclmkLR~Dx!!|~#kOQEF&`B5jE{EWhVrW8E5pF1QzvY~#uj)BD2 zWcQj8?YyFDW2lN7i`R>rX_)p5dfi>QN7}(SWWF`$}5Hl*sL=42ThExsy_|zEnvP*zyj9{ zQch&q<86`Z#1uC0$0isJuedIog1D$Iqm5`-`Bc=plb|*fD62lvHlv>TZV#=pJ7H|q zo;77e?;#ul?Ght&eq`LeP9o7a?LjQ&{O}U^f~(C|+~h2hcfN(~sj_sUzz^vxi99fO zKq>qT!rb3yHb3Lz_Mw@)ox7EU1Zjzw)DD=o+W~hT<|HYOZZ^413M>ZcxY>D6`>u0w#FQ^xa!ZKANala$ib)k*6b&LeLxRSy+`Kjj5pihr& z9()G(v%WI!#ywO4%814*53Zb+Qc|D}v$?$WW{rlCU z?gX7r)cOa;gja<__x8V0l$pOVm34z44bK;}Q-sz)QA_UXj-TS)Cj9V4@lU9CncBnMRixQ?WDkEkFm7|s-`ZY98 z!dH{j(XNud+&k+Bei^F>qqno&gBSi(nM~XfL|qLiuR;$gFp4k8$u!oV>8b+`M=s{q z`2_erNh@2xa1Dp1dkSOLgH}KF-WypF1YOa{CEPYMg47>j@zBP)T1TtUP*T zQ+t;t>!+RJSVi!YO8h18>b5OCOLLOEIDqcGs^c%g;+?SkOy3~<*V8YM)hhr}4qmUy zr+tTHw50ec1VS=){JJjYw+`}67cNp_TUDRc>n)yqp1>bEs%(1wD8*9XIFoa!Ov3e| zFs0YMddw}E&-{5vF@qFw0Yf%B6HWJ2y0P$z0TXwf=s`kGdo^=8;l5veNJr7{y{Xjj z{@b=3%xRK(Z9ES#?=My%PJbp>M@js|_SE2h=EcAk+4QB0J4x};OvYmFCAo0T1+D3H zBYPxn3=#^>;Z^wniX@BnDQWcNksde|&VQ9 zF+<@IejlK@`SF;@3cn9*W$t%*tO8UJCNhNF61mlzZvBRJA~|o4K}?`d$F>7`GpPIF zYygbneFkho>3$ihCi1sOF6;srQbwbaL$36=G?akGJ8G(Mcdm2aU!t@uKJJ^wCub}} zXK`?zV%fb>Q$7K{bg#{zdTCS&d!55QlWqmZq)^Kd`T+_~T{u{dJ{>l1T(5!&xhU{h z>Z2KJCu;U&2Zn}jKPsa7XHwf&+PYCn+4ATpPV9McwgNi?hBj#8G^9XPUWte5HDtY6 z*{IzcxV;D2op?;#dHPIWx;j;dFONs{&@V}E!4;TJj;iR~yVhN^J?MEtxUD7Psy#oy zU1-(J-JnLfTc~oU?8;}pqa~ob>6kvXy*=V;MU*}C9oI5gw$T=M@&Jrftt{}vFu9I& zvfYSX!2(y48I#Nzga=wQG~1Z^>z4xi8@i7!T!$-D4t7bTAmXQ~3jE zF0D_e1-;p~bkndDvV=e@v|~B-r=)x6t0==EBKCGvGo3raYhzAEa0KcZDOdZ|kQGFN zvr}A_2f}zsNv+Sm%_P7u>1I3tt6Jb%`G)ASntXYyFo^3*1-fR-iCn2&n>0R$gdfyb zf(iCy%dTHRFS(6g)tK0iOY{+BW$%H=4E1#5&t6iyi8Ut!8kx=$1?$q{ zS9K>8Z6{86D}M9#tosH{jEj;2cxEw~p_=ID%ytbZdB_o{X}$n57vmxk({Gs6t<8=h zNYmtVgxOO1oWJ-S%(rBBbi{PwTpl!}%DwioSxj-l&!t>5)u3h6!1!PEzFpC*;5awT zkN5*e8b~dD}oNP2}Pl! zQ=7VYpERh1Z`Q^Kokh=f+LY!u&1tWnkJo?)w%w}LyhI<{6m6nk2w;Rd5aEj`+f>eJ zgc9U)tgQ@zwpDn*M)$V~#ZXcrWP8!DdVVR2qHA|F~T1s;!-u5`M42Q1K z6oD&zPsie=8korFG3^>2-sQ4P#z2)tC>v!+rxf%Jz?Ek07(LbGt+KLf9mNeV(9P(s zoB5Q2YsWn?D+O^fwru8HKR)@ z^+Xf<9^k0sbi`eF_)y(X^YbIRPSKu0WO9Eh*uPUotnX;9#2_@#w3HOm@4c%l%ITwLM+h17)f!Y+kS=gVPw%0Shj8L#HlTxzW!2ky^ui zr0q3EBva~^m$L4>B{ltH!+^oTo2?XB2pGiWm zMmI4{Z`o1~5$Q0z!8u}!HNrON2yrdTPkDmY^(9{;Aod_LFz0SmYtKS7anSa3X6fGFxs=~QFd8vdb~tPIDWl<81rs$n^pB>$sz z?C-NTD3RC)->#nSH1&zc_{ZnoP99IL?%m7h2j{^8XZvninw6hLn?9PItY{2AS6~*B zyA3@gR9aKLQmaC91e5GAa)qS$Cn{J0>AcAB&0|Bf=7c{Oo^ESV%3vAL*Uq&3IvQI` zs#n9_ibj=It#X79?A7#-ctR^tI$4azwly?0R0(bjv!=i%%VG@F0j3BJj_x?V8_l>{ ze3+XU;sRJS@$l&He;6M>6QBj&{<)g;{4&%UK?3h(T9`@WN>-NSvrxT)HumC*wl*Yw zCV`?+iPThiW@ynxP2{3S7_k5s*CyKWcLfF|uC~3O!jsAc{qlG25$)eoQ+I%JQRE_p zrH1pC3PIGTXx*a=Xc57&=HYviJ>-q|(5?hV20q#VFh*kgy&R?hpnV4Ho1xXEjtU4F zb`L$e#R8Mlx%(SKpi#$Ysvw2+_jhG2WH5-pPGM7isU>Y9{l_OU{cVJo#lZCFn8*;> zC;UWQDI&KIja-ycjNd1~;XUkZZy<9=UWmP()|d!sAkZ|>g& z)8fxYI(7DAB{758#0kHLBrpJEAG|eY7=a&g-x*p0hk|dX;e9 zGG0t^1X2(jkysq@gt*e$0w&A^aYX>7uj)$1g@}xwF>Ir-3a>`5rNS;i@GveQbq2}p z<5A7*xrwi*ViZk8 znWHhI;8qJ9mU|qbzq5)sQ2%iPR$3yGH7MKSzF{iufoogWU|56{d@pWy4PrYI#G>=qVLpK$-3)nN!Vz z#L|OXcINB#y{dgjK;9fxGMru_StQ50ZSF~yYVN|i>r9kMXScN#tq7%5w%MLMx{-GE zbj&wqOH>96jWZq$s4z-9>jL3Q_f6MpqGrnZhqmf$8TLa1A9qw-%Z1(QCMWv4_f@tK zqqPR%IO)GHDeRsYK+xWNpOV0`sgtYjH>^D$+p+y|aIIbsAK0$(K+F^eHx31X@A6pi z)z}#Ud+|T8tc-_OlDf{ugcd3n4Ia0@M)w)!g;$uBz%8ijpGcI<*VVIGtYLYVb6 z{Zo$&eUn#oiKburDKcuqD77hD7zNhW{qcW zk$Js1Ou+8P%z}DJqz>}{)pLaBYD;=|?!uP2>{K6k&0{7^yI?>U(%=gH5G$3B0U< z7m%o4w~Y<`ZD^5Mjf@Bk!gs4k>Hg*4t7iAw*F+Flnh?LhD|rVTjmhODRunF}ozuea z3-J*4^NSFXrn7>W#nO}5vum-U$i9L@M|%{nJatE-Rr=9V$l!wV)-TG%?~vS3`QKUq zyCWk5^V|7UGJ1R@a>j7(X#XS`zaVLpO@+pOy%zp|ogeFHwcpSWvXN zb2BIkUTJv94kBR-Fap+lj2K?6(}9Nk6n!VQqI$3u?Yx=ueo#S?>XHyoSHgW{RR%H# zMqu#?>TdV2G7G951`WjN{q!JPLco-X#-{@TAKF7Br)l}2F%|!lBcIU1%=hPqKl9&V zpm8)!_=hiJC>B|0wz~xdfQjto&vePP3)@sHb_~fqSN%ned~uA5$+RJ_C)3a zsp@9*ovb2+U(}&*maKL~>q9W|a>AtDN0zY7B%qu$xdY@2;SoRj*`Tg4+HvF=26qTm z2m%wUb#c$0*PSV-;rm$U4j;wrW^tUeM-ixli(J9CFRF55_UGK6x53Yn`Pcl(uv>7w zT-N6#_UxH?D#Q0ic_Xq}Q)2B46yc_JiF_i9D9~XXeiJb_iq4wFm+-OUcO_O|B9os8 z_iJ#f?GpAii7nYf%}+vDH36sxiUa2C3RA} zfoG%(`|L(IrlF)q2-L`|K?^%%Tqn9SPez$s#ms9Y@PQ^~l(#e%fR=+T%D)!M23cJt zMZ?_&ojJ$gq}oYm00v+~hejovf40y4q5l=@v2d*ILJLC*)IG64SEAG9AQ41ga382HANAz2G+F0+q@<#Sji_ z&eG3KnRek>7J%=HlQ)Be;9zw^XqAtE*rk`hBEr?^M&_xc2a%`t3k4O?kfkUhvRfqOq+%M9`w87 zv(3#>hMF!|2a**za@j0aN*WQ?MgqS2OYk~8giX!vM?@V~Xmfuw@z?dZDCdy?8r^5f}PCT_C;1#O2@Z2Rp&*Cx7 z;3m$%7~qq-!Uuzi^+${o@nm)PiQ51S9pU6-8t3nMxOy`NyPVXrKT>%6K4Y-+i;PPo zdw=>FjF5V746zJEknn({&mc%+J`cx0iqNJ2yz?}K&yl@cc`ZFhAjXRFYY`f;ABpO2 zs(=H`bi&QO)KUNw9v-CMm`vDXcrO7Rq=w?H>pJf{JiWr)c)I=I4@zA7P+*rP!jQOT^b?IQKKqw*s< z_vlJfltO=jBqR@$ueuP+%lFBx&|i!V*At&8MApZz=aoz${Hl`g@Y5AZm57x=f?p-+ z_Z4}Qecc#+ilN4@=kJE9kM(mAvQU1{qI%wnxKWuTc*v(*Blw2(jMgH>x^NTrclhEuoIqTxrOZmkGxN!+a>W^G!I)X| z)7A!@#20`$V_4U1In(sZ4A(*-SQwJG4n;v@YtgFQY?n|qmg&%^c+}d&&Pd4AUdBZw%j|W zTdYeSa~?uBLDZsF=^@HVUhBmXG>m=ik9B^w0UACWihm{js73FMqq}umNFV;VThQdJ zQkbs zdWpoahtaC?W@$;CZ9&AD&nsM)sWCHv8*n@5e&q+@9QvT?28 zW~DQG6twNO$MCbyI>X`Fcwimy)LdE%}mu@gQ&mICmZ-J2(l(qGP-;g|L`7_cME z$F=ok3R(7qjS{ekk*Bcx&m#w*{dNwvHNUW=Uj9< z0t2DCY|}5S9WJLCQ=olcc~ngQz}Qgcq>uneUfLz=wSG+fO$tCG^dPI-V7a-!KCJ#p*`UDxKRgY`+RsV^LjLOID&DOWe3LsMZ;;Oqrz!CyDoATW?tC-c^CWml1D zWB-@(V}^NeV%L)f(~ZTX0);0zX$Glol*}$Fo@TF3^69-|p9AL{LeDbFlKn5=jMP5Q(R`Ni-Wr!QA*J@y3Z;s27HP z5iW4=O@2dH0UPjc_aZ{-sYvp-t(FPe9c|$as!{wpXPSz~n&y5?Cv7ysGWSOXDB1Kh znQiAq+9Jk_Xzq)}d6Up=zzlQ%dSADr{ooB1F&B?g=>hHE^*28DZ$Rur^h+ z+Md=A=1-w7J-=H%6p~ z(a1ZZ>^5S#NA~fP~JDPck)R;vO6=T5o3i9U^)+yUG~Q&21K7 z2IV+%c?A&j$U>Ak&Qt{ps%}vk*PV>HhwM?@#}~u{ zv13ZqY;`L-KWICCn=XH)+$=u|_tU5v>JF zvRVz49bQ~#%j`20IJmT^1+)Ixe4-|22f~_5Q}UuH=+b6RCf4!l+tli3Sr$Pt3Kg82 zSx1ul{_G>y;amZzVZK~Dx`e{DuRscpP_DAgb4cadc31iPfK;p2chO=)= z!S`3u%lgCKg)m9G=W{Dt(X}vY83-SWt|0{CW9so@AN=57DQVq4yC29F!k7haMn9Js z4Il5H&7&lBqD#|-LkUegB(6TGBbo?8(Xl%{AN}oIolWq|C|+ZN#=jzvP|e$K5%Cub zTGw9?;`CW<@CQ7U3MIttnKnfn4fOoKCzY2o(N$GYG0e@L&$R&X%%xT|?=`5^8vJsk zZ*NEx-W%MfGj(WwDV}^ABG2G}BmlCeP=pVcl~RbKtQzczD&LBMtaYvtTn!B_K3%O84f61>%Om^306k)3^v8&hyq75Q!Xi;eV!N>Z`NsBx~EBi3pY zs_qr2;T}WY*PZ1Q12LnP1cM4ox{b*dI^pE7yKRXW4cg)GaL4|QFf`G%gx~CRv{9VA z2!65p%cHF0_qw(AUJ%j)9at5>k!dVF+3(`~G>{JQq(5Xh>J~2Z=GdO7OKQ3D7>iT* z;a*nii%d2V6U{Uv!u{fBqf1HIZ~6v0S*E>anBrhehpq)RLi z;+L99Wp*z7Ko;@tlNAf&ykCO*N=+{hzx00X=*8X!qUq#XHFoLv8ut3+965EDbCKu+>6 zv%+(dmqPJ6UUxy}J6J0#vP4Gh15p;%rsB#1ld4IaYB>T}=c&ZExj8~n)u5H23KFoF zJP_9HYC!Cl4GEWlc|@;Ai2SsNi#U|3MGY1|^J{CEfJ=ge_+8we0FNK(8oW^fZ){U>*2 z@!BW-o09rmOu+{wUQb(ltcq4&Yzx+Uqj=$pTsmNS#PwD1LdZ*RJX9$WCIdXp#vf7z z5I3dVIJt)WYS;MKQc<>F09*L`fx$GEo#th+NkJVVC-#%m+%g^jV(+QdrZ_$lhMVZS=>Vw?41%mQ zkgIT`QY$pBfJd|W2B$mb2m9aj@O$P+RL9m_a})OpDhIwnfR-Z1Nrl@z(yx|^uV@cf zY1|e(rw+I;7#baT_WWDbgEF-Z%e9;&Y5hb83th816=#nc9py0~dA6hV1FElgB9) z?Ubs--R9c->^v2&Zz^bZQt`_7^NYGP1LZ@mLNpN%37Fso4b3Fp3|5zMwe-o^NY;x);OzNfRY3B zYv1*ou_4Ak9umSaf*1?RGiJENgjWTJfi^hSZQU6^1dr$7-Z*%A)=zR@WVW5N?-BK1 zqh?4u)OuK(`{vH?Pa$S+(bvX4JbvREx*OX_q_FX-nX{5avpW%}657Xd`uy^`ZZ2C^ z8a`wlOuscgm8Wk5zf-U80(8hJxcP|s!#gcHkR&Z2)|*AI`I?n>1s}(u5K>lgfl}(q zP>9RpMN~?t&XzzFZBGb6^{ljI7yC0esDr2HEfASY)aJ5maf`PD;5(`}$fyE5LrlE7 z0oOhnq)~_5ul{lPn|*&t5g9P=WJ-wP<<&kJi$7Z5sN8*=(fSdKKtIGJMb#H`ZwLzu z(mp|Pya^AaW4IvQ*1%{3ZfC;#*?UAltQ2?#TyBe`B-xGlI$}xfT)0Y`MdY)x*@Yae zJ?mEc8C9SHqX9AE#oLwE%Vj+_{8L&uFOtaST2MZ^k4{fxide{F9zQ`e*hgTNK(19r_ovC{v>euJrN) zZa91Ar>|Y~IDJ`+0-vPV`WrMP^qR|sAK=CgB*Yi7g*FV@rqg$#e{3)^g`fmPKQA$2 zl)S)?koFBHWb2usfI0%iTj!c|HTq<|`S+umW;3C|3a}0#QoI-aC?B^CRWt}s$P!Wi z!mGOu3|*%4{7A;rgY!d`Q$T!p=1V6kICO)1i-8-f*V_u!!C%(x%;oHlsb0v!pG zf>b*BDd1<$^eX5;EK82F^ZI9(+ZF1M^c5KDhvB5*YZY(ND?bk*m0We%Vb~o&-g|+P zSs5-bB26qe02WRy&gnB^3BRZTL6buKYB+q!@(<|cR7f!8O&&Z(g1O%buiSokjM(h_m3hO1cz=g)gssBv%13d=} zuY;b4Rq9(FaSU^nJiM`+WzB2)W^v`7!mbZwaC)gTW|V>+Q`WDj6A#n+_0QgvUS*c8 z(#p{qDDkLfte$mvn6rR`l8xsjKTa56g2=!MUuZf@tkBfdvNNF|AdN{sa1?J15!`7i z3B<|n-QNat*T4E#c&&tCb-$n3I2(Rx2fe2Z&w3ltO|bIhF2svp2=(Kjb_ScDDW9uc zo3&YqxlIy38bd2zNTJ|SBUo2(;?K>x;a!zlp4FUaMzm^F=Af|H)Yy~NQxmxyLS0vJ zjv}L3h=vuBF;GuP$Gm6st#s8MSkr{GfzEuNn$t01DC3Xn%}gfaQvu7?w|PtBFk+j{ zLtvevW)rE>@pPBgJ93#?QSrLV?9gs-g8lA|#fDqC)9|wcg4~}T^a}BvZw}Awj}6R= zw_~QVPNKUytn>A>A;+uqHZVCz>0W!Qys%FidbKnOUZ_hu+*5KZQev|U`l%w5PEy{Z zxkF3ve}MepO_<-y@4x;`l=cIu%KRg?yR1AO6z&PkGU_Wf3b~S8kl%GBc_^#~VEs-u zxr#U@t0{M#_tUfzT94$=8VLd;%Uo;WW0H?FUq1rO2zu_yfP$ybf1lnqm3wb@g9gv+&&Wg4R}*fRds_lrMF{3){R>(9aFnW`n%KS8RV^ zE{vasSm<9|?a0j&6t9)2nq)?N`+I3_Ts1y?ANj zK3LH{ql7mvB>Zb{63&JnKpg{s_*^hE8Y_t+bhvxB#hYBOTYIcB)waG9-r}>}d5jDb zdJ%`#eLJeeg^l==hHy0$dNc5_uXb6pp5x8^B@H2@qL1UeT^_X}N~lz{ z(u7d?LGk?yc$(%u{2k${lv@Aca&DioE0t>rV9_FSBpogdCvtlc=8XNtfLNjxf9Bf8 z^dovqZ!aYe8+hmS;$#P>Ikx=uz<&*X`*O+RIm?=*G(uNkxn5E{prBbik*qc}|L8C_ zFO%aE-#xzqa&>6rMy}@k_q>?;ix3??cm^Y?bunkEJg?r?J`X{U(tDF#9qn85d4y=7 zNYbbQmy~XjH%i%kEph|8J4}e3B3dH&uk9FpefF@IUz1$8m(vf)HGm!sBgzNe|JyUpBU?%@oTo=` zsyb;OoGECw@3LtzEYPs0rW%9t&2m{18$If}Kk6#BfcuIR+PSypoin!wZ8stvFVIWL z?;dJ*Dy;MRWo|NF9(ui4S;Vp|Nyx&`^dOt_FEw~HKi`MC*Gz|mtny^Kn$HQ8!cvxx zi@FsgA?T>XDRPikm*jbI(E6t^8_Z0`bhy#z76k7eJt~j*-~cPROVG^gF)(cffW!w{ zA%{Y(`X}^G`a`45+F{nW~Rt&Lq{*0{#{EmCLSiszy zc65ekC%iyA8$oJt@X!PH{uu_Vc%HOF^(Lx0At0P>hmrka*F&t$_S-!oh=G8qdu=5Uj2Vw3>t*TmiN^`!2$unEkDq`oI9gg*w5Fev@UD#yBb$ z)XNCglgIU&5zUbu9WFpalIER$xEtYYj2a6Urm?OxV*}NmyTr(&*nUcr$re{JK_}rS zw4w~K#)#?xpZv5Z5UqSYge%_^SVRd!*D4X*8(id|5Q9{8hu#;OO9qmU30pXNKQ89^ zu&_VB8&3y|NkTaUQEkPRvDcd|1#g1WS0Kf55YaHIR8gJc%EVWa7sH$`DqVT+77w7c zI_{EXdy4H(jmAwMQ0%`H)u!XOEiE~!@b?gFT&0p5J1RfN*w0A(vk6%qem3ufS*=;r zdAi3YTX*SnG1XmfFO!nezu1 zd`BJy&Kaxt$Zj>$DM@Em8+vflUXmbAJnr;a$>Ya<2dQK3@4aPMniEsPK>2IJ3hh2# z_wfj_v?o%}-1}u@xZ8Hr!{BAY;##iqCoxnYnG3s<#k4nm?q(&!?S2DJ%jgjvx7#0F zq&6osD@hnqs?kW#gjQsX534p3FqKqe+UohDJ!+Ime=p^l0-i%e-ZNfVJmrD*S*J&J zg+0&|3-)rQ9F8(P?&lQUNh216(G|Jaz>Jv2-Q*n;DXAlI_!d#jOc>eSuPwS)+F=qu z^%QhoWUevoiy<|8Yzf%Z4AbrtiOobI&kuv4^e}O14WB9m0!k7EFC&so_$F95cnbyw zgJx$#4E5jH2CG(6R7BsI%uIynh8n`mheP*4myOLPQtNCY!K(^@SN<#hnj%z8TNuGU z41~90hly2GC3^G6q!vXQWLkYy--1YZCHV;s&S{F8LACkYeixZlDVEs3U?g(%DM&m$KdNszhy+D%dgsb01`~C`yG4?o1|_ z6|Ug)y^qOLb zwzA}uS0pDNT^bJg+$ERb!_8eM+cUs+#GBl->=APiQl-JO-2>8A-h8tj{GLiNg<1M0 zb{cbAc(fl@Lxuc`Qqe;J>ogEQUZ%&$sGl;_l6c|_D95-%MuA;KfhL+&1O;*-6)6r_9{e@V{s}V8 zw;t*$y1mgif}Ql$^=`QSn&MGJM>4akx;-=ylg*0n$}pJatWd`V=BZq&iATNw*PdBT z2Rb`d^^(FIM=vv=V-S_#lO1M1!((I{LE3*ZItk&-fLw+*RTc915US&2!Bmln`gCgT z0vwaSnnTZvBWNn3B0ek#CP!IiFf9RUvLogwTb1O+Dj#xu(y#Iqu&pDZJg&ReszP4b z_%O0g!n}J=jTFusun18Yr-8WYa6%2HLN!=2$d$cOJu~NWG{ZNQ{b-K}C`C=xqf?{h zvK92wFkDbX@`xm8g*x8e!(CSV!v{Oo7S4F4Pey@fYQ(fgN!yaM2PZvJsvo-CU%{-W zWoM3e(}C|oWqZnk)qr1&!E4&1P^2{k}=z|&;ru9MJxw^<1V}?;F&mGGA z5rn`?ZhsClSzvt+xb8bg=BdxGw-2)pUenQm2p~IiaV6tRkP&Q*GTV}VrfhNM=agFV z+Jo>4Yg?K#MU))Q#3XS3o67l##ENRQ#toeI?r?%ogjEU+1oney!_}0ee%t*l4ry|Vdwjz#$w(U%G0M=tMKhrK4H!)@^KW6G;jclz z;geWer)g%p)b0-V42KFm59Q=LG*QIQMF{p{&vv^T;W35#AfE_w7{PF2gex%RJzk0| zdTK|j8VY$;{+G-x4wp2e)NtM-`459T)sZNqCt%rJ7c)Z=&3iL{{6^e$ z?OgWW<&g$#u~2shT4uLup60|bLppatwA(f81v>kCc=riDB(>{#0;@dgxqG(ClBY7WsBh3<$jL<@7V&~@WJq7%=L34;xb^NK2p>l z0c)DO`4-2AfE`Z0kh;K>h#rUoc;3=G(fL!>_{HFywz-%p<0HP8ukj@#v8u>aAHI%?lMJu4Pu9ck_6qa zWCk1lUY5wfln=ZuGXyEl4)B)Dkm)!~9q-Hxuy1B!3aACFY0}D>pisTyIjB0A3ovWz zAzF~@JOT1vk?|IL$-;1QS;!tS4EI;|`$e z&wI+wf+Ig1PJ;z35VOF^s;}JCMg_1{)^h%+SRkB!fwD{D%=T z$PB3*bv|DPi9-l7gMYwOWQJirT+a-(6!Shp8#`%e2?u2cDYg0{w^fCaL^CSFuekhN zGb#ik>Er33);=~qoF+UA7uf&kP$i4ttLbMiOEOBB-mGenF$7-cycIwv_6#GKOO5ku z$<6V4NTCa#XRR+HZ9g#|{T%N}p@2E8y2RXf`>+v{x}-&cy%0cNR!EzaJ*Jvq<~f}M zCznU$$vEE4b?%W2_N4#`p(Vay(Wa3uTTx%nc1YzK+1QVR2YCIYT*VwK^BAc?!3l(M zFIGnVatcXGojXq`93fiEl8=Cf6FaK1mzf8<`)M4}@t6$oBHLyLZz6whX7J&Z!k(=k zeM*;O!qymP;40iJn`xYgQ%>kHLYcv6PEYOw7RW<@b9SoW9R^$;10F{uVUQUR1uruQ z7Qs{G{&>X*oBTOoM5S-Xz5oqk8-{?2vg+!f^oxm z3cg9N?az2o$MAUtl>Nx{I!5;7_|{GAfy_8>w0SMym;(xb&UPO(!aP)2n++>VNO+NB zD64PG$r%`!OMlVTKe7F-OlXDOi~V93hS|-@tXlS;7)b z&KU8m)yW2^Gnv7iMg<1~^Ug?&kqFLpQTCicr=^i}oVZKp*wO|zw0P!fv=T~*mB&g$ zMIj9HY8lMSahO<$CTp*tqT|Kp!>#iKOijEqQSP95N{u`A#r$}hj-520l1nN2j?sJI z$~<|(z)}e{x*~WR_lfTJN9}z?ai}STS%M2<>+)6;&U<4RF;2ZAh5=JX~}oqZtO zwI2UDQg?=F&tDPY;WbQi8vF{~toS%1#xRo^B7l4@L%R5yQyr_a{4zgJa`;^bhmx2; zQ?jQ}(^4D*Td~^fveK0HeEWvMqpBdKQ50~^d)mM~MIkzYCM*;@^{DRbkp01dn zJ2XKf{c0bdE}}xHWxQ}$-ohDj&aHB;a>`J9oB8f!aG&?y#mK;IQ>P^4<`49=(}O>% z4?#b6dZt11nK+4N+J_G>=P|zvyfIEvxkD6>w%Ra>ACtI+qepO+%S1+9b{NNpXC)x^ z7drDXDV3$~t?|*>o%cg48_u&_M;>}jX6TGQ5Uyv27Y>XUuI)j#_hg2-3)e}X*O#J$ zm%$gq3i<UDR=?{N0n!}u4D%21}-Cs z6GYJU%rFd-esz=?GLaitw2L*$4MBS{lxSAQ*Fxah3Vp!aH8d^I;{HtYPpa zqVbE(-Al3iko?!^z)rR%>;OCRuSfS?<$PtMSym@V3h(xfRDu?O?dN*_Yo9an=FG8; zCT5}9E0Ja?$B3Y7D3+%&)>2C;>Qs|fk@6o#1mq3qKY@^U?MpUliM|-cRi;s&w*t$3 z`_31Id4jw&BnuGY94Rlk5oEdt;n^q<>!4NQWd;+fnaqI0!MZCPSHn22Rw@L&5juG` zGcb`%=ILL4cNrD^Y@3@If+cAnr|-$|XDy>w9i4c@x>PpyOlGJ>n#mbL3?{H9yQuC- zG3?yBP;s!x4U$l61g^+4GxXKC20%>RsYFtXLsGXZ?z3rsv^Gt@IRebuD~B(O<0`|H z-cnq~D4Fu3ltP6bM+(jY+bv*?GSz~b*R#FT3bf&ic!&fKjj3M#Pj3~@TS4aM%PBkG zkn?u{vx&g;)dM*jf!oB&@nXlQ0^8jVL|uyz5W#0l?yFyZCPcM`0ho~8OfqjWwxq+o zRoRTHq*B~dl36ajH+GT~2pK|~a?ENFpk3g%t)Yjvw#KESF^}!s{m;{@tAiQD&kX%v zS1nE;_>5LCdCl}}kb@n&baIk$Y^}MB0-qb*^D8*Tv=)z7kmNII!Sdx~VV<0YL}qXq zLHoMB3=vQWK|k@GLE(6Dnwe^Ci&iq4yN@dgcXhURe5uY}ARk831Z(MzBlicY*IwsBD$ zYkEXY2Kcf-$FB9{g~Sf!v@K_^bI=Ua``A5|W_o=QyMadt0(e`m_HmVh%nm}ghSG`W zrAL=j%HB)b)$e`}P!l8fRu}KYb}Z7Yz+^q4M~&lj>P`4FyoynR<>442mGOe2D9Cih z_^)ygsEEtHF^uUO=#g`Ep7-e%{%0Vr=;!qI7OL%nEhpfl>{E^}C%)r=Yl0m249sQ* z{bdA~tOc!J{<_{;_4~!`z`-mdCY9%mKiK36r$2!&W=!dKFqvR-&Tx{z7@fK@PfyZQ z4K0bNZ*ypBTD(L`AE>m^OU#A=ml1$37!)F+#}`p0sx6pcDmn+^S5JYZ_>{xd?+PD> zDcf+6h6=l(dr0J8@<@fV)F{0m#|rI=1I@2_&YBCQJvCTvh=|}+t$+mOKd{Suntb=fU9B>PEhCAL!;yb!^CZaSR>3C(ZW#c9B(Skt_V5B z|6cza(W6poea^m1j9U`9TWmo#N=ps(0vlrne#_jW9ej-BGXMS?)*28pCYWb5j(e}Q z6$$cD-8nk?k{AH4&W7HStdhp4oDt5Jgc=8MC6BsDYg>&-323cvFsPK{J(N7N1ohC2 zRAactXk6@F5a7xJ=H(D_nVBWWmv2~rU+MfFeZBzhPa;!{UZA&d(QyH8rI;o5Qio3v z_UI?L-zMOTYQdibT?1OH(adn4-mbgrbpk2ByouL)h%Vo+UG4M1a9|1H%vM@8)EWwZ|kf(niZ!9yF3j<8#s7d0LN~t8CLFf;3d70sS^k+); z6$r))&v(KYcSmu8n;8(o8(_+U=Qbkl0^1iS>r#fkw+uXAd2VILLSk~7kg5--JWByD z>UHCFFi*eTtW2e)@%*T85~sZ11!sjj+hw|!AduWXCjAq#&J1B{nAZlF=`}@}xlaG# zQXu)CmqJ?e=bsug9>pbu?*m?`h<`bXL537OP`B)pckmZrc=$B#k_7M|O_~MB67%w` z#bXlM6K1zbLItQxMg(vP=b5sXz)Zef3xVqhFM9*3KEY&ys; zJ_kOG`lM8Aa4%)~sML5|K$v>o^6rf>kUgtun61VRS*_$rMM?#K*Kn1F?c7W4Z2%#bnYI4y)- zAg`crB$YgNz^&=#w^4-J(FK<}g7nfL#2`SXnUF8eV67M)EQm*rsv#{%Kgc}gQ3@S8 zC2YvJldWr!CIzyEh zoq@hInoXO&;q^NQ*f>nehj}bEC?AE8_3VElkY-`Ocz=4J&P7E$XYzD2F$yslUll&Y znR)2_p7N;CIuct}F5!`ZFury28jy(^LE?~jDZ`b=LS~SE*MYP8AF|@gto#y`#ud?g z$IBQLd!Y9>ZV>{qpn$5YRlZGLb#~A+(^G8oxvx3>oTT~TNfU-o zf0k|3Shx`E#S8Ln)3V%CT(mEc`P&L$u6n{@jWXHhz1?a&p50m?oWHQ}#&6M$nxVAv zr4LeoQuJG&M6V(Bb~!y^u(jZFRxz>#(Hj?^(orvOztA0*Fpw|X zl1%N>i`B*OE{wc@)D@)iWEDe`e|L^yVjB$2S9|lvmcQ>x(w?o8^!c=z3yww58TvZK z4AbOJ)q%CjW$Ef7yV2x!i&9@|nS2lpyV$Mh;dGQAT3l0LI(Ins>%&6wdP^_{RlTM5?-`Juz){N!F?FKT!%ytN+pB}+K&aKhtqJsB!aB$ zF>`Of6!J0@$l`cl2`cd>bZJ^L0=yc?C^?o2V&=Q2g}Rdp6p3FQxv1!39~)2vA!Iz6 z{7W(YDV>wAkQ*H`%nV2Sy_q5Dx9$z`G$}}Mfr2Hq(DxOv5E=z10lGUgXhs()+?yF1 zSfBT5tf2M^wjhJdpa{ zH1CA4yGA3Tekg~vp196uo!B#;#D0=OfO6O^3HvN_H7}Er5BX|&%+<4*VZn!~)j-VE zbMQ__Pso!UvA?5^G5Ak3yPzJaR%!t>QFpFDbwVf-PZNod18pED^t$K~$%m%B^oQ+2 z?AcZOQnTRHg?aE9a16wDpOi;p2U6MZi1H`~PovxV`OMoO4=rbgla^Onc0%kQdAxuq z9J^IGf4P?q0Xk5%)rxJO$PAu8OTCFa*@iot8Qi!#=s8!Q2vHNqH zaxUhLyskU@F>&Qz&XF&fC)NCQU@)dF@3o6=%97QKo4}Pc=upntQJp~n%+8-y8Z0G* zboYwfgNtVcW;Q`*g^ltBf;W6e4299ffT1 zaA^FbMTNBvLgSvmSQHj{X$W=h$zxqN#JA<((TWFRTMQTYf@hahV>g`{Jm(FKc`Y-D zW&Ig~TDLMDnY=5RA(s~VkSkGNv^X3~5g}%O7B)dNa!3y8JS2V#CHTU_6xx`3M5;dG z7HjFLnd2|XFBI#*%eTHcybW6b*J47%|n~B;$U9z ztFCf+W&d+AK~jM>KUu1LyteAq&J7%qG>$~E`Y)wVrhtYR(dk2jeSw`oW zSZv8iUP6i`^T(J^fcjLnR|o`6;xbyz1T~k}mgsU6P3B(9Ac01-Wma+1W7fhLPk7g} zWyXJW@~)22v|Tb1Vf_zl4=w(qeHm;Zly2uj1_H-ua0XHHnpy*;c-fiPj~G{ygzLmU z=58B|ygKEyBcz2Y2v6vrbM!PkNWLaqC~ayy|eiXEQe;IKU{Nv z#6lFqRNB0A9G7XmI^o~PuDv#h(_oMM1{H)ze{lCS=u*{{jHoV!lmgD~x^K+!e6U*x zIm?>kI@=O?A|dsY2>hF4d1ei^(Db7{2+iKAg5ueqYXJ8u;+l8Wc2{A@D^p1soX8wW zB33ZZ4XV7$o7{@1-df6$Cr4G`)zUoy9Bv5&fDRn;azXW-_bwXVM_+JM@_n9qljdk0 zV02$jTp@AMO`b7}wWyq>_U)OWalAD%^v0RV4)k(Vfz6$))UIpQnVz1PhIa#^gPnI+ z9Oua^Yvr@Advb39Vyk(HC=`H7d7M4Z;Zqg&z@6MyOa1B^tA%9IMIG&IkZFs+)pE>P zK|1YB3!!2UHp&49gR<-(A$2?Okl7j0fCY8@bEgGihoE3vtW6a=X|r z7VWA3Ct~F&E?clTsYQe!uj6O|ucpTOH?o*6a;}9VNcoNvV!cI# z1*RwxA2Cw!ASkiu^M%B^HOM$p!a=dWtqA8$`g(|JKfB3;$kY7bjP!ZY8oD5*q0Arx zL%lqO&bUFf4Ly}vtf7H@_4nrMQ2vbqBzA?~vUg0`v ze_J}8HR5p|=9729EfQm;d7*|My?@m*Ku)1^l@9kq|88 zJ_n|R{N54W&izLi=oWZSWcj&Rz=9-i&J1CB1CVEB`~4j6lMS>?|7|1sWOi?pEzd|f z+pL6d3)mqeMfQ)cKOTi>ax6zB?@~=NkGeVG7BgyBRo#62Oa4{1Q6OJC=5T5p!*9pQ zZ8yZ-8A3rXVTYLBO3^NVhop+Z=g(CgqsRz0Dg1I~Xm3hKUONg%rQY|R1tG=$l~@C*@X2yUSZV+Myf;0Qgj%B7QS_2ViliJ3e{BgTYz-h zYpqs{VAm)cT>4GS5UDX@qYiorxzC-DbE`u{oP=(fq;E|6pA}rb=$T~A(~C&xh^M|S`^I-Pt1C1G#hV*QBFQa!1DnDKcA&F$q1S&SlrKz zD7+pT_>GT9Jntum9-E69O$0a3Hp5w_b?-srdIDyb6>ef^xEi!`hgvzFXu*Qc1udR@ zL22lawRI>7r6kdE?}P=!f&pmA33hB~1hF9#m1IU}>;#87Z!X&_7s z55c_&c(>w3hc_+ zi>}YYFJ1~pzS?dztlNl6d6a@~dJ`jz)|hHLw90m!Lgi1};{7Z|d~q2L6cSIWB&M7M zO~gKAz<0L$wBouB++^_Xf_ajo2N@#B(6mx1=%VK1?F_1HNT z$Nk_pvpF5a%PKj@47N)ENmaZmGf->C6k=UL!2$ug>MmynEr9xLJlZwAk{N<%9o}L0 z_iqJ$HWs9@l^bM&aqM#F8DW?ryuMy{E`v}DB6UV_`)P1SUNm-2gXtxKOb+aWf=Pg$ z{{e0s%wHny6FrDL#WO`Ag2b@+WzskVFR_lDzI}YiP`2_Mjhxq9RigQ32mt)JPaC^~ zX0?R#tlQ0q=iiALBoJw)0V``$$cv%L0w$2dF*N5D3}4A(F_B2K&^g&g}@N!D4h0 zcL_toi=8MlIIiWgLii%~4cba(Ako;{;5SsE%=SxuXBCEjjcgl7s zle_wdIbFF@DL%8QXhn6#I-YEjsvJiAMp@> ziB5>xHx=Xeg(}}>qZ$Nb zyQ{!663z_BMr-p?5Ow_ZiMW6Wk16+T+?xP0p&a589R*IWShQ^X^|tuUmjhk3H)r^G zW5a2J-X&BTwyz1Qn+)ea!T!6iPr)ca>sMt2m7<4`%?ze*)Y0)Y-SkvZt>r;Pr1VtF z=+F^c=Jt%in2Fx!%|_NJZdUP}BYs*^3DEda_00t6QUUb=87lQ`T8Y3TfYM;zFx+h_ z!B_m@zmbGr6k_nY0I#Q&03@5aP8=n|yAZM?b}HWYSw;<#2k(2(uU2ohP?5=jZwVZd zBnt};U}l+hQANt1j{=gs!ttpDk|C2Bbm#8qV5o!XyItZr)lKo?vO6;`Ndo#dxxNos z_+Z6H0!SrAS1@=lvCp@FBl}USY|eO<3SM_DqDqp(#peB%C7EHYw$e!GUDuBe0kFz? zwj^ZEh4xwMgo#VEXK5~|wevWl8x>y%O62Pe!5~SWpL)tD(x+N>>KRD5b6h%cIuYyY zNe7pP&nN^kw=HD=eU;k zb_SEe5EY<=mE1pc(F;?_q!@9K#z;Yynz)ce$N7Kkw?$bhB}&p9PQdEr8vhF=${A4- z9nJc0o=Yx>7S>XL;h0ULWr6P){E}mpVitx`nKtXRbf8L^o!nPo(k{5ilu!xedl)Tp znViTLL>hF#&I7kKQMO?f9UKbJ0J7Vo5X~l+0K29CK9!APXkM9@mw*>xk^kg0@vSgU ziba=^?;90Ztc)=sq-FkAms?`~QBLM2H}7JK0wj2K+@GMgPmtlK!)NO7ol;3&FUVjz zf>SK~RB*Fy-nXv*IWWJ#O%L#N2K3sX-e9+4DcYZfQn<@mbwf7~w;PcYoE)9_9rt~k z?^#9}4X2fm-KSX-Ls39o^g0`sCRI0F0=P*9qrR9m>KRG#Vwg3=$Ob1_d`6Wi<#lN{9bgx&`Xk3Qmq9b85xqsEk-%F`)7~< z7udo2C(~tU@L|;U;)QUU;Y@xU9sLRzs^GE!e3{`J>8d|oJLkdJi<_WSY zH-CdJ!{t~qM?!GO&Mq_H5s^8Wk-ef)G`M#V>mNQwof)#10)xaR@pW$|C*Je-Il3>} zfMNtf4E;Y@5%XV7Y`8USq@8pd)6rU zjw(ERtVpq54cY1g)VaU~Dr(h2>T?Uy*6yoOd6yu-$&x;&)w2jlJjOpYM^zokUwqb8+|e8nNfI?n zr}fRBnfwPh(ln%$>8#<}@F8(Ir8}8HCl;o5<`rbJhs_L}T`DsaW8`r-Ke^eoX2N_( zO1||G7C0Okv@@4m$qXc4yxdjobn}h}tC9NtpwQgRz;y|;ZY0csG3y>meknu$N63r_ zN;h*{-8)8$Qp6zSPyJ*wLzIxsoXAb-S^*_XR4v$SfW(}^HM9vsciseVX6b|KZx|7i7c=ycubib5l8>JM`@jC5|MSmZ ze>(C<;4P}|!f(CGe8V9+8W&-99XIHF}YTflt3>2LRcC%Ay}A(1J0W=uwpuv3Dsd$%!5APa9=Q92A1_ty!tLOH~? zYnkWI?^>bf!Ih8z&c&U~JPg-^rJ(y|*Tf2;>`{sfVPG>kXq*M1aqcwup75Kp>_%ygbxm~7pS)_-4wfroziz|*i ze6OS4vf;46=w5=?Hx1qi841b!@oJdgHdzE7ZZD0p45KUDuh9JNo!D>uab zk53Z4!+3O%h*Pk`lQ2c$Qh|^84midmD()lTF+r%AUhhLzo=WyE%x)XQ9lcq(?g>GvFwT2g^}s>;wZ|dICDlZ zD}#U9P5j)MVU5}puOO(sju!K3W^gbg8IXYhzW8TOb=IGU5_%zUCFy0l1oZ#8Prr_(cnP7h`> zL)L%%Jmyk}y**}}F{L4bbvx8UCRfJg zl51CkdDt)_+r-+|Yt_*Qbh(GQIC9`hc@DmEU5Vzu`(!v$a{kthmHo8JW!53z*;OZr zNf2kyltHLWXroC}0eRM-fd+IZEK8(ez|uw2iCohiyNCPQ8B8c+4%TozGw9l+DOC>* z5CL3Lv7gd}2d5-qW*E>4GXv;NaQIRxX@YDH^wW(=Zb4jBsd=0koQyYN=2 zGq@AS&J5OF6Lw4&nJ<7_GDDxZZ<2aMWw?Iyeu6oUv~SN1A%h(&8K$NME(UYBA6$a) zNzfU%`Ya4z7qHA|(w)vz-r;LpW%uV5wRfI)mo@@;2f-(lOoR3Kk6eVLy=4VPt{(W+ znj|TLnC_gh5)x(!W@j-=HmA%0;YN#JBDK^l&rxHh*v$v;1a?F`x`76_>T6V3a4KfFtSP5yc=yS zQx1QU zPpoC$MsUtpHxis2Y-RzNMYz%8pW{4NFnOm}jwm9&T5FA14hY^o-g}p)qg&rYxFE>4 zWrj)kw%PMw|1%h6wDhKl`%15i+I~@ziMia~E68cz8w=8f=!+gR<>Xsn`jF~|RhT;( zH-kJQME^JV?Ax43=aS+t?mw?G**C$54(HzV`5DRh6EZ_E5sW#~@${G2=-o5R8zFw1 z!_oFzTj63{c<&eZVArL>UmJ8b4dBEJZdl>FScbPxyCIP!Vu|yXfHgtM*$*%TUn$Z3 zI>Rvo?yh<5GT#My%RF4DP9bNAaOfJUr4V5Y4mo;HY)JpAw|IP0q}(K} z1+xSV!%_-=tlN-2|GrvW$)kbNRY?BnvQti?ZEB+e>c|fV>)W$yG4C3WS?~#ij6p~C z)(SzHAqd`bXJ!!0s%(a=t>iihz=Jyjaib2BKA&d@3@D`Vyc%Z)Z)O>Tk;WlK@;?#G zX9lE_rOW`B+ROkIznU5J_gAePPNUI@aPXD2SeTYMp4 z+sMtx$?Xe6Ni!vTNmB3;&IjYf^xi8A2_4AZ^{3&o!5%^Qs$s1zkA?H-I&lO}{QT)E%3MluWMd)5&L!nP zac>PxoPJ!x8y3L0TovuDvm*5s&sR|D9vMjTviV?06M~y|>T?~chocjwr+@jNJ*P`W zCSb)Kgjl>eCa(=LLqsYWcgEpsCyX)}jshAWIS-CF}0Mw&$PA7uz9BWV*$#})x4 zRH2eQr{+y$2X2@d#EeRg1BVB3tTVWoAr2!iGw?70nL&x+HI8~I7l5za1GCck&uGHz zT2g+YGlLJc|07eCblR#@1Qfi$R&X@RMjvxa!9B%MaChGC%~_L-4}c!CILHVC1zkX* z5QPWy&xQ)(AT?N`bF6ZZM-kOGf-q0Xdq- zlc3xf62%8>MGKn=$)hPe!BDeG)|sJ-NeV<@l@8`O)nIN7UkJ;&8Hy#y41>u($PAd# zePE31SFWZP*LKuJ?R7Cm3Guo^jmjZ?eMp}zZpYJw$7R4#Pc#Q&rZ|a3ilNP|Q%|Z% z@C~F(cipAlF$9;9(Walfh$E0Mm2&>m;rffsLjisH{W8h#lSIg)-$?307lXsAuOuIQ zo5W?orVBAI%`wfvlE1^m_KGb33V?DtWXmA#V-KN z->)U_T~c$Dn;Cqknsf##CHRbjpO$i7t(IB?3VFG|DKqE_A{P{+-Ehz=-KA#+SlxvC z6S&u0w1&hLmjXxRGaJ=wlM~HdK9e>7RqAWkuQBq<#z`^>%q-3v`*mT1;KrIh$N4}P= zX0xpNyO*oHv6vB7&`i>~7cDQLN5}3KB-wfT%**3-k14P5{hi=O4Sc3DGg1Ya z;Yt(-ES6~|mHb_q!6UMqY;Va7vM(u|Ps$7*RCfI6%+Pk1lVNiE7?}Wz?96w1=0x;D z`}yg>DQYLFRIk|tmCQ~Vni+Oih!iT1uP-XUz!R@l*0q=I2ECTw-fP~_pQ3Xw+IO+L zDBiL;?o!Log&Q^SnaW)A*t??mcA9x2@5~IZ<8?*6E3yBX&iqdJ(V5}R)1oEi9FLu4 zN9Dq513oP_Pi?N(D>VPk9A)9Fd_DNF$M^^&K4vBU5t!<1!OT~lI4wY5T;f*|FOQ=u zPZhL}t2gb+_aj}w6a5WSwS?N{AOx1f8QUuqUZJTIo$;5}f)}!CB1}k26P*bKyfVXS zj3&PxDSzT$T0-ZPqHCa)f#(5t z#Xpx|;DJ)%Du=WUACi_DWQNjl;+#L58T3mwp1Es2Gg$wRvrP|>_7C#pRAwOXcPVOO z82M*a|FW)9R~FC<6C9BoLr=Yvo)ekPtI0QQ&zYqD9^uW;0%NTU_W&FrSoUPt5>0q%vNAzqXjf@%Eo zGlQ-+6T~@-h0HM3<(ACwB1g?+hU@a*3wc8$k>0PBwrdJz_{BM(9`LmB|cv{V4o-$l$qBdOsX< z$wl7Oh$rNCdM*3g>m2o>JKfH%l${wcd{<_;VvEJh5Kl6{MP?Z1#%0zw!IV4QCdRd; zbH3l53O6!eio`JcEr@-CY3kh>CfCIcSSsaFN+l|leMI9Gq3{W-Bo96st@$ppX#X49Y0XNe-Zfovcmzt+jxEwyfmC&K>RmLKi?A5 zMD!r~Dy5bRo~&)63?I5x^TN2}TSjSTt87Oj-ZCkVPD~_V7gJDIr#2e%R$dl^H}VK%pisazoYQR%y)|i-b-pWxMtaT znV}Y;`S)aoVX$1cOA^*H!_?!e*E54H4qmFCE0dkN(YfB;k%6aun4Fh=HGkXqUgfWm z4cv?j!s}*XOZ8D|eSVISo=ntPFSP|yrP#zIB6fj){M9>1cKnHsCvgE3eR$>#bkSPk z(z(9V7}*1F{6p8G(GaXmTmq6Qu-!{d>%e-{i=lZ?o;V^ckc$)7qF3h#}Ig&<_jEnG{>%VY-TlX{N!Eh)UJ zc|FylN7Mx{mwdir2u^0uEj-DXSv6LUb`RXn!YNl;_?dx}@SfXPQc?!vB<$0|jC=RL zs^mGlsP?lv=|rIgFu*>PDbA3W*4#6LkcpA!Av3(AFqIkX(eA0^&22<}*cOu+s9iES zZQvNi*j*c)QS8BTnv>Z76;0q;gq;Ts@I)ZtJeCnozmgFX!z}=k;H2f}CEz5r>M-l_6qBKpVw{*S-vFDC()GAdw) zXgEdrmlV#B(bM@kDY$Uq?YXHV5=Ma~m>D3XZ--+sl`0m7GZdpBg%i?)p4Jgrh!c-7 z=+4oCONxTd{OG3wcoizac8R45oY{8C*w@zWo-kJVfhx$fc$gLzGD9Xp0}qT%Tpaf< zX(cD+vGlKiiuYt@m}T*Vq}ri8KQ1#QvuKek(=%yvl4jVFVglLxfqJLaJkE;qm6v(Gp~<+?!HQ;6Fm`z79zo%1PV} zyCiw$rLy;Syc@nnh#OK`Vy7#-duQwfeH>e*}_ z4eE-mr4;$Chu&RhhW?}XIt$O^PhoUwm`5AZ8w7hddkD3NI$0Kg({tP*XFVHvJ&1P8 zrD|e^8dozgFwPH%slKBEoQgP_vS|$Z4ta?^p>W#hR!{FNZnksTN-3p0O8KAdozb%7 zwvC3#seb9C2vTZw_y1kYoR&xc1VM6{65NHYZbuh4q6j2BbwtbSU(T>jxUz9~(Q1l2Hi zm7Mb>r_7JB5<&@Q{ydpMwThWxy1Ep~4A%X>$7TlW znh7W~o*8fe*SEQC30(ni?HxSCBugW-^h66s3t7lEXJZUhH->L|- zj|-Qaw^u0biWp_LoYjzie!6K;CGynj>DJV}_Q+y-_kYH0w7# zUY0kn?`u|B8iahkUyMjwvgn{Jv}e5^>mE$Xdo3CP<}m)cRi)Y2a<7#cWSPA)10F1e z0dSSnHs&jPe3?OC*tPAr+JIHEva2&QsD*=>q3)5T{Dnt))lE3GHo~_;Rts9y{h8su zcuiO(R+eq5$Rm3$s}!9mrQr`k0qsbJ?Py9S6w$Dgb+dqA&^h`(9XjvX?43_tg2|%Gpw}pUD$kf1Mrs`+ zt*I*=dzhZZIg{Jy%V$IY02?JqL_t*E`NKFlrAx{$IHg?M10JHnZMK)LDxy3F9Dvm#x%fXI zQ&y~Yb-AU>9%+BCdmqvr$1t~PBcbvXSV5aY?JcEwMD?oMJ1>s}k5yN;@smRfGs9~z z=>M~I$Ew+K_2nx%Wy32=@I<(|%VJ+R) z+w#zXL!JFP)3RPHe2B{GpC3=UZ8qj&*S5TJsiJ<)Ot;Z|NLltTL@rASN1Zw$@l03L z9_T$cQCuWOu`0Y{&u%G@AieH|i!WCoSGfjp^1F`)wCO z&31!jwi+PIwo$^iT7wZvn@F`%j;G-e-53#(mJ(+H)MRG>$XSVMBzQkc7R9o$zZ4?7 zvWUHVDQn28{?v|j*08#7bB-4mqpE{m}n7 zJ$nY70+Tj~r<)8(TJW|QI1ck=l;3)B_sZRR)zHUv@p#0>eiX30xg~?%*R2>PNY4GW5Nsw8htDb{q{}kxUZMQr9i^(Gc)~-l3!0 zKjK_Q<5k1)Z9RLKH^tCJD|q6YtW;Ui9`l0T!sF4BZ`g;1BVkN5XEC8?IE!x5l23yB zikSTIP=+T!bju-6QA)?jkwolaibO_K4=_L#`6*&jI=Tz`NqC-y;8nXZM;`bg=c-Uj z$%hnT-G7|Pm=-n|hQ5b<^w-_cMLwKX3mx_ z3#95Kf3QF>e7sKHba5+}6_RispC*%U;@{2Y)*Nn3Vpc z5m)5XO%Cp{4xVFJAaUbq16|zUQ?d*A#H+dZ`r+3)N^OQ2v}Uh!q(#=gxyk~vr$XqT zRjQvX_KUdg17>EoWdh@)i&j#Tl)%V)^Ch>1mlO8q1P;D36TDa%`#DBcM^0+|@Aow( zd2tdvC1wO}Ss}ge?#nuwY^IJ*pp|wb_dey}=s{mu(Zv-PMEW}iZ}rQdTVW4po$ua( z>(n$g0Ql=Fc(}{sM{Fo3Qi09gkP=s>m(cUF#_Om&&BBCXKpIrTk(V@Oj7zzi#L9{D zDG%$ny+n0zHv_&rLsG5fpKWRGD5Ca&is8-+kCxWix6p=A0$3+^LU3T*Z@VW)&$Q;x4VGIn@dWz%NaM6D?g2?%5BZxqk#9gDJJ+?| zN;}ouQ*2-bi<0|w-ib5UR1yGBD(j^_{s~Rl!~!(6r#u`v!EeLIe%jXM`M|4eEz~cL zh|ed$J>D@W>OlZOnucw2LR5Lo7fRNUx}FjzU^MjVIc%&k0;M+?AjXfWc~nu)JUmb( zXHDbZD|Zvb_tWBsm0X*FqlRNs&Vst&dblDqR-B?>R!BDR#av;G?A(t>9E#Gs3%wEN zakI&CXht_e6{@wQVIdf|hxy6n+IaH#u?A+!<%9lU$mvdpU=fO!?k_&rPe!!6z{l^r zq+2(CxmVVc!a$yaSO_g1Hz@i(11O4s&#A^mBfZ2y)S=sJqw}FG08S9%C6lpD5r7v8 z`)57y>Zc%~y}rY3;)7Gq6~o8ke!}1_+6~=F0rz3)Pay%|a2~9J;aIGtW*u+T?qLYi zC&uU9wB;3f)ngHSOGcAS>8Ne)epqMx)G;*n`m9YB(+zkcWoT`Gafui|6K|W`<}~W^ zLO#SY&5p`^p671^a(g~<;(3Z+xlGZsHFd&bqPaIOP(pk=ior8d>34dtGN zto0(F4r)KfNL7BvlYyMQP1{ldyEZ~UBZvV_H)Z8%4my`sHd@IK_kQrCm{BXb0U_JQ zo5Z$O1yuPtEfRKp*<(Tv(mHNI>@~07a z+;-vs*1Iz11m7oip>Y1K%$>L0UJlw`k zffSz`{e+AG#hb&x5Xc5Z3^Eb#u$XRVHArlG)^O)nFibQcm|*?qoc41FnZzatX zu3?~H365#53Tl-PNU>$qc{cN@-~==>&H3GFb3j9_oXJux5eKMlv5zvpXbOZo$nAv| zC@wjIz<#I@J(Ortq08J5Hn$)$@1+~Of6gN1lLqdXUiFcRHv@lW?^XE~*f8oX&BHY} zG5Vdy+ZYeulcnsdX?4lncnjBL$Zup}Uo?5z1q%ud=@F_-?t5PZwbvEVGd`x z*UF%Vs|S|>d8PGg<*(gDGQ^3o_kZQKEPhH7yliD!gyZvNR@mgSG@J}9-#n|i{%40@ zyqwTDGEr+L;~Nw@&Ul&x3{sv6V(WsaIZ2_V&7kA|=M@cnAg`OV(n6qA;l}&!fb#9~7liwtS3Y)3v*R<^ z3`_^BUrw|#Hyz{8k`xZPWrRjpsI}*?;XjGdwA;aZJxD^%;U)_ZfO&UEOZMB76qRml zNuBg4m(g6YVFM%BG|&!`qOHa1>_H0 zH5QnNymEzbE?gV_1v?rDu5@{iwC1~fz49vGiya(F8P1en@=6F+dc*oSqI0lWPqH}m zsYB|tVg6?RJr+)@_Jy*kvOIWH#xp*kug=|Yff88#FG{(o!WBs#xzgJLSMsHBikWvz z?k%i41nlQ#hbUD9<4&Sai<0`)^h~3qCNH%%MC_ovAJ(C=hsvJj5pyw$UsQg);dNTk zYF{c+M5MYs_nhOHed7C%VDZ3!u7y1Oaqi+st-R&I4bQ>!Y|p+otw$ouVY8zHj<1w@ ze5M=*WXk7!*JRD&rOKZ>%mm*L>%=sjyBr>jui+@g4{L+lgEahUW0(Jizp%Z%dwQzNPw!$~mwyZ~Istt_qw}6Zy<*$5Q0?|^n z9%ep+fMYgGOjs~vZN3Z3PHwe>6~0?BKnqYv*|4H#4$t84%$9h&=S7z8VyNCLe2qc% z-K#~v$vBZqtLmC~o`%r+VsAkt?s$-I2Nj8Jq&*AVM1@HfAF@* z$(6l9s$I86&RUN8OtSb!byxW{8n9<9x&f%mepZ##Dcr=`zt=eAmf;0sv;ze|w23Fy zNNZv2Gm4~*q+UMc$5M=iB-nW1`>Z4iXrr39F$mDI1@VxFyzWMqbPA_dX+mX4C!AAF z3!QVH^d+T~+@WE?&hQItnot-kxr|=*ZXaUrX3`~=ot@OE^KB^UH$ntC~r~h$k$E&3-C_CNs;e&@BI`nA)Zmd@F@xSR~E-x0~QvJ%~oWWSN|5a z>U@EBhp!&|$HQU>fWIVGd}%D;F^w#WX#4psus3%)bt*?cLq%zC_1ZdO#%gr7`_tJk@?W$W2PdG z{d+__UvcfX)MX~}tzMPi0mwe;`@XE1*4qyfEF5k#FO;}F{lAjnOzR*jH3&ZP#0m2| z%M#oGi(iXnk~Mm>RK;v*fb30k$1=3@p)TTKt)&4**to{FX)krU6!0uZzY(z}4_4M6 zQiK0u{h}3S47b|)zyn@na2e)+xk)UoW#k6A^=q-LwB@9_s4hJn+rpDTxDd_`lIe4U zZ$hhLQV=5x=LbKN884$v_G4QJEnUqI^U|Q5e-60jh2(YTE*#1e*Du$LHt?x-v1g{O zmIKofi*AZWFZY7-7#%!M}ivQ7!|ISY706@U6K4)4g!HC;;CuajxrRdnTTN`)R-%qw0)L?}!=n_n0_d)h-+- z6Be$%aO};rM+`u1Tm`Md1C#LDnwv*uh<~&O0Qy0qvS4GaT?3DGsQo})YoYG#&=+2+ zh^H%F2FrWu@7-Z6VG6qHl83t>GRO~6Z;b3lcF6I`sohx+?&C3af(Wv$$3c3S{Fos` z!?-%?39s-sYM!HQQ|@>!RH{icBSa)o01}zT1O9A4dFNYWt7WeJqS^IKOzN)GL51#Z zmwo$5s9M>M#x9l3L_u`hqDwm%!G_G-_4}uHo28KDRB zoL8L&FTOiL+oGB`D6(Ve)Nt*Fzj_9+AlrTbFqH#KfYP;`UVl_nN@c|d?WDeV;#0&~ z^!Z9CA%h2Cl4Ek4)YGEZC_>C1=@8O`)tOzXb+w@zS&t`yX;t0qJKNowA3E`zrH=m} zBNmak|6ae{V1J;3dggS>ShPzOe=fdQnI*BU`^4va+>oz`igqRS`GYFz8FAf4uECR^ z;>26-zaiftYYgrXVYI^1W&-jrOhKX03EGaM?Rs_*;`@rr$sh z#w%oC>v?rgs+Q*7BE3+@#YWt|P*r63$9IA*y--AG;GgCa`hFuWuhbuv3HNcHgYp-D zIKJup$HV$}n9bvmA3(V?s}Ntu!Ov)4SMO-cv0%d!-AcNn>D0Srx5UHnl+#oP))iTK zLhJ?pR1eHyfqv$xi}jGopMS1vT+uP4&$>}aYomv3MxilAyROX{x1qow3DG$42V*8~ z!4A@m2LpzAJXlRe$39~X#sgX*;>cZX9B~`ZG^tfafh}- z_MF^PbULGXbs7KZ^^}3bG;&i{e+W$&^$sflOkQ!CsGXe*9Qo=C>#0XdCp#E%A$CS; zS_AI7z41>ummK|&Ho=TUjL5$_aV#2Gg)FubM2uGYxzfPq+kTSaazExm!;yhqq2~S- zSohs8tq9MkRev;gcUE|3Tk+y-4WSV|#7p(J&&DMj>8#s_kly{@>V`i}7E{(y#cFC@ z=P7+zI<24KkPSH~KHT`ZlyREawj{6`<}}LCI=vM0>7UL8V#>s#o4@fE9brYc3xI6Mus&8$ zVP_Aj>sR!%Q45pC&m{R>3_YVjJ(D*lc=Q{Zc~^XGwW z;~Ng?8^vQ!Mm_qm9cPD#+1D^8&2DsY3+CM5kT-`o=WsH4 zZK)U!wo&2u?Sm}l1GYE{SPbHE|KSQO+CDU45HKQQ){R{hvswcnyTH~jQF>p5Xty$f z&Dv^H+oOu&b$1BOk^g;`Z1UqWZQD zxLLq?=WuzaizYe_CNs8fHMrmWJBSPYRtk`Ngj55`vlrblL$^ndT;lr?+-dzPq37lJ zi#yUm2~EY1z?XmK9>aWS3H356ceyG*XD+sAw`OxaAM&GXekmPKkC@jqkL$2K1Q;TP ztaZlNcx1K6&opvgZIsBVkO@tLq$JMx36&k^$;WU1CDfxmk&vuwqw47| z_Q&S~5{y`TPnJGkYr8*36E)_Wv*T+tP} z4Fx((Uf1JryxusX-a4!4Pa6zj%>Enh1YmE27d)UGlDsL=|~(D3suKd6f03upMqS zr*G+|BS9gDFvwATo$lgqaqAn%Hr4CqHPNE4MAzC~2o59__Bff?-mSB}Fry-=d3^>S zq>e7qtw{GK#=VBaWb`uU-tQtX-qctCK`9`jd>B3l)f4XRt5?7 zSyDo|%NwRt9q_8D7*jV?R9%-%7Q)EwZNn$w!$+wyA*SoGw zJCC2rsD+;t6mm2P^p=g_ZfD8%hn$`C?V0|qlKn&OfxPw}vLY`@amx~0p@LI~p*V}P zN<+tKSGiJof<{sWQ>5|TGq;${8h)31en7>ENsl)NHdjhU5U82=U9{T2{?G zcbQW@Ic(PSm5c=3GSlF@JlXj0fVm*M&ijHt-Jtilsae*gX{$~_o~_r)_JL3c ze?B={&|_5U+m!r!D-7Rgc=aF zN$bA@n?-0gV%;VAFDi)J-5jI%7awdy(P{h-DA0&r<4O6;-n_V>{cr2(r^)`WM?aMO zFR7H>|3lwVixK~B1?ZyU`kNNO*Zf0rcSu6 literal 57406 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ÚVpThxwSDuzr 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 E0fTnPoB#j- diff --git a/cinelerra-5.1/plugins/theme_blue/data/preferences_bg.png b/cinelerra-5.1/plugins/theme_blue/data/preferences_bg.png index 9fd7d11e8a8aa83a45c7f2af802056eb8dab8ba2..d16f5a833eefe9712c2b6e6a999cfe94c0f37505 100644 GIT binary patch literal 487 zcmeAS@N?(olHy`uVBq!ia0y~yU@ic%eL0wbWJZf%9*|;7@^*J&_z!{$_AZ~yz`!`i z)5S5QV$R!}8+i{oFt9l8e<~z%QDCXig-PB8ZcZNjIUlMrmo;&R@A_ylUz&m8PxgFU z28M>MoL&qJLXMma4oVt~3?3}13=EwMSQr!pr!X+6Gzl>@xCAgUOyHoJqMqx&XYFNV xXlRxF{@l8nnSp`3xRRNg7EsTr)HCT1L#8#G=$m3;V8k&nc)I$ztaD0e0swgpXQ}`I literal 582 zcmeAS@N?(olHy`uVBq!ia0y~yV0s5+`*N@W$)8*g7XvAlVkgfK4j`!ENa+CbISV`@ zi-GE|gD|6$#_S59pk#?_L`iUdT1k0gQ7S`udAVL@UUqSEVnM22eo^}DcQ#TC42*|8 zT^vIy=DfYNQLrh1!Nsvq + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cinelerra-5.1/plugins/theme_blue_dot/data/preferences_bg.png b/cinelerra-5.1/plugins/theme_blue_dot/data/preferences_bg.png index ebc187edf734d58e2226598806576acb53e66d09..fdfb4bff171f60797937da188c4315093ea8ee6f 100644 GIT binary patch literal 1855 zcmeAS@N?(olHy`uVBq!ia0y~yU@l-_VASSd0*VO4eVYrU*pj^6T^Rm@;DWu&Cj$k( zc)B=-RLpsM=V0FD2#JQk-G$ux4O$=noo~Cck0CSZ_qjt2i?Y~Ce~7Ubo;$U1&yLv| z@pZS$<&u3E7(T3icdwd}f#J_h7F7m@&IK$C3W8G@7*v{s7#dsxm>4E-crh>tIdU>M zC}}VYAFExY#Z0UQ0ZVy~fUPAU|*3^U8VOYwZ^m-v6#2zi$uUsmxj5YOhcEAbi~A{&kjy z{TE)A%vzQidwu%!>9zN#r|#Up|Nry_EOmK3g@5d4r>HX2&on%?E%*87pRcd4zid+b zWONWm${K?&xyE|^ZzP|qS)2Z{G|Ni~kux&w0e7X(if&0&91jyw-IrF*Z zkI1cdU`YLce$~Sj7+N2~j&E~Z@5hB4W)-XDrJvsw0tV`ysp-Hl{89RUYy7+c2xvOT z>!@|~&Pk&oJ{sbr6yK-cwi_N>&CI}H(PNlbTsZIfQGd|D#;{`bsT;35%N9>!jO%)`KNM=E*E>#8S@UY1z3O}XDxbbH(Br$u)2 z&p-dXYu)?3Aq)(4`o}#!?dae8{telF{r5}E*~FYJT> literal 2372 zcmdT`YfMvT7=D{VVOX>XqSk`S#Ckuu|mK!oXcZaRYBqDffzES+T=Su0ouM z3>5(dF;YRLpeqF&0xD9fu#Qo&6%&XnP~8MXf$lpPlc9K>z2tPIx~XCRfI!wtV>@;7 z?c3*{>ALYNK)~5bcMdP)*6F-bNqAydn$srU!M#P>3d@HDRtK*319UE-$;PA41^ZI- zcVuw1yYYrYZ35x9RlkQWe5?-Hh=ZcF+?eJvNv$l7IMn`Z`c|Znbeoga_0U4yxUbF| zn)pT?Qyu2j4s|-2c;2!oGeao)Eo}uDFYcN6@fe@jTrJb>PF}Mdn!1ckt3$QRq1lls z-@9&QQyu|Gw5H{$9}m_GiQ{Xz6g3fy$r@6iGtnb2s5UyHoCcy|+}v%Zg`;tz9l@-f z01W(4s4q3hH_$gDD8=fl%hq)xaRBQTkd|Jkq8{8cvxTyXJ938Be(~Bx`xg*7W-d$F zJ0ry}R%1(PS~IyeBZ8->QTBi57V;5jN*4G*TW(>Z?Xi!rkIQwLJCe>}U;aZf6az{us8yP$BGQL4`R06bzJreC;A?nLy+ez2(7v3}hs zs~aGd;L7T*JY1-n7t@>R zw}iO6$<}_5YvnS2xKP9I@I zEUKrjuZ94w+Z7d-0Ab_Gw3>bH>Ff~2-2g7??J-Mdt#X3H!&>aVB_ z`|;SArTf0=Z0#snwntrp3pC$KfF2p@v7*6(a;l9@YrF-m>3KB{dd_ip-JDaBv61PP zd}ja+$xUEvhe(M$TCP6aH`ORBks3Vm5_{yU7%VwG zL9RDoixZ!(*pAMW`A}ONiHG<(0Vmx&u|I^s)kpn4IobKyAf+tt>Er}I`vF(F80n+5 zB3QbE(v~C?vTbep6Rw=@df43-pBqL%nt?kLrZ4rT_1L$VAE z0zfB$1Q;IjF)(nHLj)QM*bxFCrCwfx*D$&hFbl{~OF%4dj7L zC&Mtf%W&(3xeTln*&%SfAaBAw0dojA0I=%C9wH#6Fuezs>#g=?7SVCPPzVfG22WQ% Jmvv4FO#mQfbEyCT diff --git a/cinelerra-5.1/plugins/theme_bright/data/setformat_bg.png b/cinelerra-5.1/plugins/theme_bright/data/setformat_bg.png index 01e0e2da401f9a2b353ff4c98c44252041eac807..55ecc580ece60e271c96d1d510ef755ce3b123eb 100644 GIT binary patch literal 3653 zcmcgudsI_r5}$i>NiHG4MIoS~T(M{nl~A@AeC2|OAlAn2wuoAdmV)(!6~(iF54Z$W z1YPy$!LU+|)wQnMx^&r6UCSXv|BXCaB2zSO```H^iNr_^zn^r<}uqZ{{~M zzi;l$e6v7&=+5YZy>Js&4+O}TK-JH#(F;` zU@`$I0^S|32bfVnOMu$%!}WQaFYThQHC3OOm|0CM>MS*8=k&{6%}%Sx;6nEE**QMv z6X0YN2V)dOMFtN`HKeK;h&CgIaPoAFyG19WjD>wn=fyN93E`_e8QyCOqz_-gzHUEkX7HoY& zinfkD8D-cUrUm?_y{3a?Ua0Ox{3waNsCyB=#7g)gzlPOIC_G&p&r$ictX@Ll`SN{= z;cHsWSz@CPq&HVjbR4S5_V&jns1jei_+@oQ^I>%|i<9q)sd4Ps>OnoZ4?NsJM(g~ZE%$7AtNfye7+mAHl4$c`+xP3f+ajU;?VJw4H-_ci}7lqiO z9Sr3|8~rI~ z|7emC%brv!?Yf>yPl^L^{iU3HrD~msVEEECJH80I8{5&9MFLrwV_(1Zo9@eVs3tKI z^QYCb)N|bHnooHHZ3?!Hp3~a0AvyST6tbJ~8;9ir<6D6IY-?!br%LKxt3FxG4W@ah zc*F5s(oFl}RF|J&rD|0eH3>Or?1M>6SBW}~eQc<3Fa>zA`k-LpV%-xdj9ecyb)ZW) z&!_D{fRM#}D&BG@J>Vfk5EOGjdpe`@#)n6#>sX1$H!$82iE%ys@rqWW*o#Z9-M!dP z#w`_s8)=Fi;fkmyPq&K9B*YMH*ZrH+kt|8f7=tQw{w>liC>Pavq?FGKLK^l$KKr|5@f8Doa@kWJhL{r*c@8I}6?)U52cP&8|swz&m-Wa&)8= z#nyf9t*KE2B@C&K@%zh+;wltpUoCNOO^bJlh4I-_on$5rj}7|%36?(xHu z-95_ZZ0aA7&8!ul(F-H0o*j4h`$V5jTaDVJ73F~o-#qlRmK_Z%a|6$5%TT?c`ysIR zd3l!RYE|-c^YM}~6srcy47=d!!|GWY#b~>P zV&5iF7DAC5reY`2He8A|i+v`QI!jg6n82rqgzgG9nF%b#LagNop&zigg=$wdYWVY{ z02pdo=LBFogbIMwu7*)H&frr7z|lS5mU?upRX3|)iVkWjO(UG}k*r~$0BCim@#Q=Uzsx}R1nW;|BI6Jy+c)<2j!BLqz7apY?0+iUI^`O&8;eLLy zOGkIy3WDQeoFFy{r-fzKf)rqtAeqIzd+(-*>BsNaCvFhzTSyHR>=1M{bmEmrZ*B#6 zRr8;pOb^7A*1x9=wWa@0f@7=zH?{^(&ZoFr#G714TGq=kF#Ly$hv+yv!NTUbmCogq zm@OG1EUCeaupetEy|Ap7aL&cohZdGr1sNk4gvA?~D-9jE3DTxxIKwv%x!m5BB?dC{ zQyk-ge)%|qC$Yi~X<6r^pmIa(g2T!MIKn%p*e~Se;mRnN)!F9z>womXcL8zpeHIL8 zsOdh`Q-M7)TR|Q5m`l&UftQk%aLt^q2WjmbtcvC6v{m@X;0rX4%n((zw0B+e!h?#M z%+hsl9X@r=oBw{)pt@Wih5Y)OOSeu5?{KW9o8Tdima5T7tme^Q9ql|bRtY*7Nx2=1 zK65QvgimNNwdg~Q@n%ro_E3DKKmPFa`bo3a(b3ZU{>78+ z2l1|{KX4RWzxNaE+M6E^f>+E5L2dcl@#>82q^2ax!!kao<}U8$z^)0?ItR&X*gxrJ q9J?=GPan^M7ps4{)k_AMy-YoB&_AkH!KQtHKZ%p3#qE#P>i-WAPQ)ev literal 3662 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 xzz}i6VqW$)HUa+EVLa0mb$E}%elg$8oJKhLmb wVqn-|7Pr42Wc%#msf_e>1ND7Hu89r8`VAb0ix|TG0i%V%)78&qol`;+0Kb`t!~g&Q diff --git a/cinelerra-5.1/plugins/theme_hulk/data/preferences_bg.svg b/cinelerra-5.1/plugins/theme_hulk/data/preferences_bg.svg new file mode 100644 index 00000000..10cdadff --- /dev/null +++ b/cinelerra-5.1/plugins/theme_hulk/data/preferences_bg.svg @@ -0,0 +1,405 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cinelerra-5.1/plugins/theme_pinklady/data/preferences_bg.png b/cinelerra-5.1/plugins/theme_pinklady/data/preferences_bg.png index ab1ca8817e908f3dbd3c45e810d525085fdccfe0..7fff7ced0048ced7d2af5fa4639f93cf4d136695 100644 GIT binary patch literal 487 zcmeAS@N?(olHy`uVBq!ia0y~yU@ic%eL0wbWJZf%9*|;7@^*J&_z!{$_AZ~yz`!`i z)5S5QV$R!}hP;Oz7+4(lrz+(gQk6NRxHfa9r-Z7^rlYTyO0tBnD|uX9Z^ppz7Wypj_N}Ro28K9;r>mdKI;Vst01c^VQvd(} literal 582 zcmeAS@N?(olHy`uVBq!ia0y~yV0s5+`*N@W$)8*g7XvAlVkgfK4j`!ENa+CbISV`@ zi-GE|gD|6$#_S59pk#?_L`iUdT1k0gQ7S`udAVL@UUqSEVnM22eo^}DcQ#TC42*|8 zT^vIy=DfXSDA*jpzOR4V-YMJ?~ljh6rb diff --git a/cinelerra-5.1/plugins/theme_pinklady/data/preferences_bg.svg b/cinelerra-5.1/plugins/theme_pinklady/data/preferences_bg.svg new file mode 100644 index 00000000..12ec8c38 --- /dev/null +++ b/cinelerra-5.1/plugins/theme_pinklady/data/preferences_bg.svg @@ -0,0 +1,405 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cinelerra-5.1/plugins/theme_suv/data/preferences_bg.png b/cinelerra-5.1/plugins/theme_suv/data/preferences_bg.png index 64cee16ae7e4e39373d363905f6783f6312490e4..43a1fa18aeb8c2925b1cc70a1236eaaf2c4106fd 100644 GIT binary patch literal 613 zcmeAS@N?(olHy`uVBq!ia0y~yU@ic%eL2{Gu@&wI zfIJrt3kHS;4n}qc1_8wfKw%{o83qQ2mIk1b4grvZ1)2C57!;gnrufn3YgT)KE@=>d uXZhUDmI=tZAEN;jpu0Y zhW{YAVDIwDKoQOYkH}&M2C)(lX4F-fyd5aWUgGKN%6^YsL_k~OLnChn(3DP37srr_ zTW@bU@-is!usAAItZLo0qF(fAcZ*$`%ANelw*@b9GcY7fNM>SSa99B}ghLcBgJB_1 zAxI4&hC&Eb4Gu=#_El?uDta~b^GZ>tJ4hKo$V>H|7Td*20{_s@=sE)zY)z4*}Q$iB}4GLRM diff --git a/cinelerra-5.1/plugins/theme_suv/data/setformat_bg.png b/cinelerra-5.1/plugins/theme_suv/data/setformat_bg.png index f0b95fc5f89a9f552166861e52134458a91615e7..29cb20ceaae5c569c57016e84c0fb1fc08ec4106 100644 GIT binary patch literal 3840 zcmb_fc~p~E7Jmr|goGvFe6g|_sHn#T#06AD4K(0FvDlGpjS>{p5u`-4IJ8Q_q7X*G zwxk_8Q&Bs$2Lgr&G*zjIK&>($ZO05QAR=2qK@mpBDl_*5BC)mY^ql!4@7(*ndw+L% z@7;To7rl0+Bi)UT5OQ3-ivK!7WD)!VXtwZ0Vk8C-a=NgZAG&_ewYzP`bsiU4`@hN0 zJjj(@y_UDkWoPJ8X(6eVy&xX>%c4%%yj*4C&fFfckh)&DRj{>Z*#*UkJ%OsOw=;S+ z`+u47pRrlUw)*DK?f(8t2T;)H#aXDHP#DNe;pBqI44#xUxzM=4(zr-YH7{%}P_Wb! zlM5(Y!vF$PXazHYV1cn9Si@Kl>WlPb3QM6UGewgN>ZJ2zq{$_hgOt=CE$j+JVNEWR z$`;QtgGEd2!gx_-pogCG4J zjtn%E;b-hzMz);0dEv^HB4_2PgS(_IWCYjDl8%Y&z}Z={gL8)2-y&p{=buNi60%r_ z!}yW87YpG7wDRfyBs5|D1sBB1oRyGOM({2ARUxa~V$~NT{Z^rgJ8VgTl}}bk6GFTT z{(H&or*00FJ?Y&T8~cME4t3b}9}ga+ezPL=^Xq#b_0j{ttqm8}f3FA*Y;C6pd;{+( z>{Y_SOdQMmtl#_7H4z`Q!pmG2@>xWF>E>gJ$+ujkfFlTx`Lsmh_C~7Fw+7zW*=aFT zr%t^;GSYS2!$rD@fs_qNB5~=Z3+fh7_WjeGxR|*$8VRCl;^TZvYZ&Eqt**dv8qKYJQ#X*Tq>J|$dMxND%5v#){&Bp z(q$`FZGrA^g9ei8>(wqJV~3mNHmmPq(3Hz|KkVL zfFOp+UEW-aa>ZRHRG*=+;-Acd{gh` zBYPbn5fvrz@ohJ5)Ze{ZUI4YQo_K%wLGR^Un%O$>{;ssNSvo{f>&fFEa=DlRpRgz} z$}0=x;c9Fmrgu^7dj|<{V~4BI#L=b1(4NV-%ftVLWr*8t#FIu9IIa4sXjFAaN|3=_ zD)zm4jnw!KhCS5NMx4EjWdsdHqx7CH=1`cTvRsac1+i(Izi`XGEviHm(=oknqj7!( zokTJDbka@X5bOXU%t~?NuoQ;kgxbvA8WH|9K)fH<0NrVB=cRP&iTfR%JXtNfq9iGv zRJd3xbqw+t0V%R@(MegNc^5Ycx_lX}x4W1rGZ<7UKz5o* z-NsONFla-?cAA?&Pll_cCQRxa_J(u{*?}o?sjxdrRM?YjY2ZQCMHRJ0j-g8e0UG)} zlrW+*oq4UNm|0S1hA!V3MFSZN%yfX+^*b}nZh#4P7_Za3kCfd{iIIk-T!j;vbN&ZT zUrw3`c~ZxVXGxP`c#QtI%ag^cQxdm8@GG<6c*Vq(;B|`HZm?yMa~sLcK|^!Caa8Da z+Ge50WM3@w(T1cPn760TsU=z#zNf>f_CbqhiE*NNzNp01HqM=vQ~4<2IC7*2vSa7d zkKb#IAi2@U9kvuF2-&LATNg}d#y>9vdB1k|tuGfkbo}#V>~b=Xq1?T9?_EwE&&$i} z9f~5=?&rJ4!0dfjXOA?^okrcp)jrX!dnpTigP_LS8B}22CBtxw=i@HrQr>Z8_tB*z zO*Ux?TN|rn*{Tl=woG-tL2`5EI=3Bt%}f6*SBmB2#--f8tcODMSBg4K)G~GGBnqC$ z4{y4%+mlt*^aDrH{7h{8kV@+Vy{j&cvUw+zaILQOq~r6)lSz?&W_FFr>~6KCS;#K1LdZX9JBWM+_#bf&DtP%NtK2+;^pmaUp# zG{aMvxRh(8Q_j}_oP(FB!v0nWrp&-eb?MZ?8Cs1<>o-8~GO>P%KTtY@Zj&(xfbz(R zn;J5Mfm&??4}Z7#B)lwBy^5Lu)Vp?IrC+;|G{Z@gM=&k{MbqRy%4l#EN6)MP9r8eU zJn4iBCI}8ob9+0JCu;)aKbZHT1l+}kMq$#dZOlp&O@*R^l-09!iUd5`O8%~*4y6V{ z4La0W%2eZ0!jqM&xU!G&s9Gkj?C=$40q%?ndfalet;l#K-YSn^#lzG`5y%Bx-S8l2 z#oQ__ydzJjg-ss@#_spiu^D(64%*zXX;=FO@H*;?IWr=q5EBK8A>QJ%@OY~JIt)*k zW=83&Gmo2m79M6}mgtg`lb<+w*As|b_Q}n28Rs66Y|T4{k*vsgZ#>QVfE9(oRgA}E zGcIPvaluG{Ch|zf?)bL$_OXXqLxY3OE00P)Ix=i)${-JYQp`@%o>Z|*V z5JGD>?5l$@nA_!OI{)>sfBx_5)<{WRamHXDXgr#OoS|~Gvr<-0^Gjq!LVH?j!}Dip zilEbV9*6cs>Pj#M&#TgiJ@#K2NwZO$<%+02jm0@v=!$b$2&pgoblwwmjsGrj|VSQ#Yi(2FG5x ze~Ua-*nMqA=k4pkG3$F4=*WX#Ej-h=!tVNtCy&r&r*-Sr?VKk1^1SlZbKXnovcG&g zlf=~`GDl^=CIm}@EQ|>ul94P75WDzN_C|Ra_L67ojQd@I*`HDd0SP~sj7A=*2u-YJ4CVs zt7;NOEf;GNK8F!EV?N6WIL@<-xMv$ilWhHoNCD{ZWw3;l)jDVzOZx2f0*blBGVyN&9x*?N%rZu;~`+)mvE? z9=~zt(eT2jQW8~VJbdfG1-G#D+ySYoZ~@$jM9(B^BQh|O`I2VQ88ZiAMYsK1Vk53Q z$7Q-MFu`3-437w698FJ3Utl2AC&C{L4(@&T>63x5x9JNiafGm3esrk5q!|;*D0@5; zA{SK2Pr(f|)rLf5%!rwt6q*JpAdmfGQh)sivjdn&?NQ$F=Hp)Vxo+-Bz}4<{etC|# z076a(O3ie#zZJz7wb z!9kgFolm`{BC@(ce-XPe$F=;`1m7LkoR^%GpFjt$$x?RlWBDteWXldxSO*^3(&=qBos+sr(D4bp|1BX{j`w;ek@(5?vJyE3-&RNnaJ3 z3|Ug?p=CuQ!3~Gje4Vp+|8BuuJ$js)yK%0z`t;$fWFV%OE0mPj{E`MpY!*f!J|!tn z53{u}_Q9Gti@CO)T>?ZdG2{sLJs2I%E`ZfCvwQZG*VotI9~rsrP3WZWjy~3`4{>LT zWQF{OTfMzOL?9IF07L^(@iy&Fsr_U_UhPXNw0H#tNY2i(@X?U@FY)rqvLBe`;5pDWyt+u=H?g`|G9^;(TaM zRZ`l5aBZlT+AYMj{YMS@nw)-vCz&M?PZjF~_&h%~xa4h=S0Zw&po1?t&w)woNZdx* zaxD=SDqESdjncn)(2=X_nkwGAM33k*C0c6PlvshvsMdTq!0t&cqOg|gFB)=);`=w5`HHNw5KAg7H5op~gIECUJyh+6q-v#pn?$tV9o`?oP z^!p#lPY+NzVvP?OKO_UWf*?OtS%>uzDIjXDmR9yQkh>7%0Tt3|*y5S^(}cTirncoF z2k-!(O$5lAs6~g=y`$`tb;|`RDopF{@ltkI0%`Gd>yxJPvuhmYr+t(yL2O!7NLRdn zdi6OhZ7k*Bj~+Krw&jLn#=T~@(pqE4*LK-ynu0q3wkB>ojpWeOqa|D zaD^3YeK((%9pidJUnyJom3(?>4p4r)Ct%_B_IaY9|29A3(fxK3&3ZvHJleHp747x- zcsESspx(H2=HGm>dIknA@=)jUvG@CVFUOJ}Q$A}J#``eBqGdnp!~1d>5{PrxnreAPudg;7;>gr%sZmTtOmCLqk8^pzh>&-+?j0v=@hpkfzHF_Q zMsjg1FZAMEH9cgMeq_|w<(#?pIw^}-zhkVnJUFg2k{?shmKR2A%Y`%AYUVKSoCEL` z96YSA!Qcc#(G$hf+9$-~U?%`8X5%e_Sq@-su&g~1?#XeuCpf_cFr#xMRT7;;2VW&p z`&QQF_<%NtTH?jo57!4S+uSP2-j4^^qCwmbuEc1#>5#4lvfTX7pPrVuGl$HY0Vp%K z&WJYp;lF)bGq@rl96WK!Eys7U+Ys*))F zddwei)5Q6TI7l{-B!c!)nx=s^{iRsJ=6|(tRmPaQNM2Jt;mkQ2ual!H_E9bu0>9>v z7bkp6HdL;=6_LUBAs<0_?o7O5ealPFW#HwkFsUf$ZuMDE9NZ8Yyx$f>u;B)HscNN$ zG;ZzSrDs%k!`AKF@4E#MowYlkjBI&CqT)5G#&qB0p(m=~efb7F7Yp$6Iy6~r?cl{O z(dlbFcjd~J`1--Fd-v|`d^$2TWD(8dMAg){EG>TX1?tNRk?hB1Cj&Vi7SGz&5E&`_ zAMVvg4G;H0@JATg-J0sg#0*K$9=>S%1tq(-P7>bTE-JFsi&6BC&_eA30B-7gY_f83xHYV|t7`{}rh{ zAHGF&!eT*L%R7=nqLas|g?Q+KGI;nP+cV2N%Hd#Qp=rEw_|!2v$IuBFE5-^tYVTEf z>a_?fQO^02<_oi<4qFL4s(b=9R+37Oqqwo<@0ILjhLu#!5uCcn-PE#8-o73Wt}ZU= z*n_@LI>HJ)@rYP)i3ErHYVp@-`HV1Yk9>`R!SH?g_jFbO+S|5dH5xDef4_c$Yb{DX wtDJcV3av{0Yr@C#{d8T diff --git a/cinelerra-5.1/plugins/theme_unflat/data/preferences_bg.png b/cinelerra-5.1/plugins/theme_unflat/data/preferences_bg.png index 3e6b298d854355e6dee85f19c79ef500bfc8f86a..6ab007ff817dddc4de35f4710d439127d5d2e49e 100644 GIT binary patch literal 485 zcmeAS@N?(olHy`uVBq!ia0y~yU@ic%eL0wbWJZf%9*|;7@^*J&_z!{$_AZ~yz`!`m z)5S5QV$R!JhP=#%3@it0zG(Oyp5b%X;*er=#I!Vln4L#$i_h^hF#LI4T?I6uTzCot zgG!SSLxW2I6T<`!F9rr7M@|L@B@IRf4;EDhhRy{n3<`o&Q&f39YPmTBL&3)MbCp%h t3=HDc$0fi5tM_i_r@nR6b2!B&)w$`i{*#qn_Zt}M44$rjF6*2UngD4QX8-^I literal 572 zcmeAS@N?(olHy`uVBq!ia0y~yV0s5+`*N@W$)8*g7XvAlVkgfK4j`!ENa+CbISV`@ zi-GE|gD|6$#_S59pk#?_L`iUdT1k0gQ7S`udAVL@UUqSEVnM22eo^}DcQ#TC42(NH zT^vIy=DfYNk(XJKf#u-$?!FbBLMzYfH43aZ2|m~=eJB0g&sqkChW+2}$pHN1-iGz8t6n0sw?c-dhIPQ1H*xXH>&U7 p1G+_K$0-K7Sx$ZLP-Nl({#JI@7PFHxSbzb+;OXk;vd$@?2>>|xi3I=v diff --git a/cinelerra-5.1/plugins/theme_unflat/data/preferences_bg.svg b/cinelerra-5.1/plugins/theme_unflat/data/preferences_bg.svg new file mode 100644 index 00000000..2d7ab169 --- /dev/null +++ b/cinelerra-5.1/plugins/theme_unflat/data/preferences_bg.svg @@ -0,0 +1,404 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cinelerra-5.1/po/ru.po b/cinelerra-5.1/po/ru.po index b6e7b598..f5f19e6a 100644 --- a/cinelerra-5.1/po/ru.po +++ b/cinelerra-5.1/po/ru.po @@ -1,13 +1,14 @@ -# Cinelerra 5.1 -# Copyright (C) 2016 -# This file is distributed under the same license as Cinelerra 5.1. +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. # msgid "" msgstr "Project-Id-Version: Cinelerra 5.1\n" "Report-Msgid-Bugs-To: cinelerra@lists.cinelerra-cv.org\n" -"POT-Creation-Date: 2016-07-29 12:30+0300\n" -"PO-Revision-Date: 2016-07-29 23:54+0300\n" +"POT-Creation-Date: 2016-09-22 12:30+0300\n" +"PO-Revision-Date: 2016-09-22 23:54+0300\n" "Last-Translator: Igor Vladimirsky aka igor_ubuntu \n" "Language-Team: \n" "Language: ru_RU\n" @@ -16,14 +17,14 @@ msgstr "Project-Id-Version: Cinelerra 5.1\n" "Content-Transfer-Encoding: 8bit\n" #: guicast//bcbutton.C:268 guicast//bcbutton.C:276 guicast//bcbutton.C:492 -#: cinelerra//preferencesthread.C:613 +#: cinelerra//preferencesthread.C:614 msgid "OK" msgstr "ОК" #: guicast//bcbutton.C:324 guicast//bcbutton.C:332 guicast//bcbutton.C:340 #: guicast//bcbutton.C:519 guicast//bcbutton.C:521 guicast//bcbutton.C:528 #: cinelerra//confirmquit.C:107 cinelerra//confirmquit.C:109 -#: cinelerra//preferencesthread.C:637 cinelerra//preferencesthread.C:639 +#: cinelerra//preferencesthread.C:638 cinelerra//preferencesthread.C:640 msgid "Cancel" msgstr "Прервать" @@ -40,7 +41,7 @@ msgstr "DISPLAY' environment variable not set.\n" #: guicast//bcdelete.C:69 msgid "Really delete the following files?" -msgstr "" +msgstr "Действительно хотите удалить файлы ?" #: guicast//bcdisplayinfo.C:239 #, c-format @@ -104,15 +105,15 @@ msgstr "Обновить" #: guicast//bcfilebox.C:1301 cinelerra//newfolder.C:37 msgid ": New folder" -msgstr "Новая папка" +msgstr ": Новая папка" #: guicast//bcfilebox.C:1316 msgid ": Rename" -msgstr ": Переименовать" +msgstr ": Переименование" #: guicast//bcfilebox.C:1331 msgid ": Delete" -msgstr "Удалить" +msgstr ": Удаление" #: guicast//bcfilebox.inc:42 cinelerra//mainmenu.C:99 #: plugins/reverb/reverbwindow.C:239 @@ -140,7 +141,7 @@ msgstr "Введите имя папки:" msgid "Untitled" msgstr "Безымянный" -#: guicast//bcpopup.C:36 guicast//bcpopup.C:54 cinelerra//canvas.C:1223 +#: guicast//bcpopup.C:36 guicast//bcpopup.C:54 cinelerra//canvas.C:1195 msgid "Fullscreen" msgstr "Полный экран" @@ -160,7 +161,7 @@ msgstr "Выбрать из недавно использованных" msgid "Enter a new name for the file:" msgstr "Введите новое имя для файла" -#: guicast//bcresources.C:1492 +#: guicast//bcresources.C:1493 #, c-format msgid "Conversion from %s to %s is not available\n" msgstr "Конвертация из %s в %s недоступна.\n" @@ -180,7 +181,7 @@ msgstr "BC_Theme::check_used: Images aren't used.\n" msgid "%s: opengl initialization failed failed\n" msgstr "%s: opengl initialization failed failed\n" -#: guicast//bcwindowbase.C:210 +#: guicast//bcwindowbase.C:212 #, c-format msgid "" "BC_WindowBase::~BC_WindowBase window deleted but opengl deletion is not\n" @@ -227,7 +228,7 @@ msgstr "Футы+кадры" msgid "Hours:Minutes:Seconds" msgstr "Часы:Мин:Сек." -#: guicast//units.h:71 cinelerra//interfaceprefs.C:224 +#: guicast//units.h:71 cinelerra//interfaceprefs.C:229 #: cinelerra//patchbay.C:93 msgid "Seconds" msgstr "Секунды" @@ -275,54 +276,54 @@ msgstr "" msgid "Device path:" msgstr "Путь к устройству:" -#: cinelerra//adeviceprefs.C:318 cinelerra//adeviceprefs.C:384 -#: cinelerra//adeviceprefs.C:569 cinelerra//adeviceprefs.C:586 -#: cinelerra//adeviceprefs.C:588 cinelerra//assetedit.C:415 +#: cinelerra//adeviceprefs.C:318 cinelerra//adeviceprefs.C:385 +#: cinelerra//adeviceprefs.C:570 cinelerra//adeviceprefs.C:587 +#: cinelerra//adeviceprefs.C:589 cinelerra//assetedit.C:415 #: cinelerra//fileformat.C:89 cinelerra//formatwindow.C:48 msgid "Bits:" msgstr "Биты:" -#: cinelerra//adeviceprefs.C:365 +#: cinelerra//adeviceprefs.C:366 msgid "Device:" msgstr "Устройство:" -#: cinelerra//adeviceprefs.C:396 +#: cinelerra//adeviceprefs.C:397 msgid "Stop playback locks up." msgstr "Предотвращать воспроизведение аудио после остановки" -#: cinelerra//adeviceprefs.C:423 +#: cinelerra//adeviceprefs.C:424 msgid "Server:" msgstr "Сервер:" -#: cinelerra//adeviceprefs.C:441 cinelerra//adeviceprefs.C:492 -#: cinelerra//interfaceprefs.C:199 cinelerra//performanceprefs.C:202 +#: cinelerra//adeviceprefs.C:442 cinelerra//adeviceprefs.C:493 +#: cinelerra//interfaceprefs.C:204 cinelerra//performanceprefs.C:202 #: cinelerra//vdeviceprefs.C:347 msgid "Port:" msgstr "Порт:" -#: cinelerra//adeviceprefs.C:472 cinelerra//vdeviceprefs.C:329 +#: cinelerra//adeviceprefs.C:473 cinelerra//vdeviceprefs.C:329 msgid "Device Path:" msgstr "Путь к устройству:" -#: cinelerra//adeviceprefs.C:512 cinelerra//channeledit.C:1037 +#: cinelerra//adeviceprefs.C:513 cinelerra//channeledit.C:1037 #: cinelerra//vdeviceprefs.C:365 msgid "Channel:" msgstr "Канал:" -#: cinelerra//adeviceprefs.C:536 cinelerra//vdeviceprefs.C:388 +#: cinelerra//adeviceprefs.C:537 cinelerra//vdeviceprefs.C:388 msgid "Syt Offset:" msgstr "SYT сдвиг:" -#: cinelerra//adeviceprefs.C:554 cinelerra//adeviceprefs.C:556 +#: cinelerra//adeviceprefs.C:555 cinelerra//adeviceprefs.C:557 #: cinelerra//vdeviceprefs.C:217 cinelerra//vdeviceprefs.C:219 msgid "DVB Adapter:" msgstr "DVB адаптер:" -#: cinelerra//adeviceprefs.C:562 cinelerra//vdeviceprefs.C:224 +#: cinelerra//adeviceprefs.C:563 cinelerra//vdeviceprefs.C:224 msgid "dev:" -msgstr "" +msgstr "dev:" -#: cinelerra//adeviceprefs.C:577 cinelerra//adeviceprefs.C:596 +#: cinelerra//adeviceprefs.C:578 cinelerra//adeviceprefs.C:597 msgid "Follow audio config" msgstr "" @@ -340,7 +341,8 @@ msgstr "" msgid "Plugin %d" msgstr "" -#: cinelerra//apanel.C:89 cinelerra//mainmenu.C:233 +#: cinelerra//apanel.C:89 cinelerra//keyframepopup.C:582 +#: cinelerra//mainmenu.C:232 msgid "Mute" msgstr "Глушение" @@ -348,17 +350,17 @@ msgstr "Глушение" msgid "Play" msgstr "" -#: cinelerra//apatchgui.C:246 cinelerra//apatchgui.C:253 -#: cinelerra//vpatchgui.C:202 cinelerra//vpatchgui.C:209 +#: cinelerra//apatchgui.C:244 cinelerra//apatchgui.C:251 +#: cinelerra//vpatchgui.C:192 cinelerra//vpatchgui.C:199 #: plugins/bluebanana/bluebananawindow.C:2005 msgid "fade" msgstr "фейд" -#: cinelerra//apatchgui.C:310 cinelerra//mainmenu.C:235 +#: cinelerra//apatchgui.C:330 cinelerra//mainmenu.C:234 msgid "Pan" msgstr "Панорама" -#: cinelerra//apatchgui.C:320 cinelerra//apatchgui.C:328 +#: cinelerra//apatchgui.C:340 cinelerra//apatchgui.C:348 msgid "pan" msgstr "панорама" @@ -397,7 +399,7 @@ msgstr "Аудио:" msgid "Compression:" msgstr "Сжатие:" -#: cinelerra//assetedit.C:374 cinelerra//fileformat.C:77 cinelerra//new.C:290 +#: cinelerra//assetedit.C:374 cinelerra//fileformat.C:77 cinelerra//new.C:289 #: cinelerra//setformat.C:354 plugins/livevideo/livevideo.C:226 msgid "Channels:" msgstr "Каналы:" @@ -490,19 +492,19 @@ msgstr "Автоматическая коррекция ч." #: cinelerra//assetedit.C:989 msgid "Detail" -msgstr "" +msgstr "Подробнее" #: cinelerra//assetedit.C:1006 msgid "Asset Detail" -msgstr "" +msgstr "Подробная информация о ресурсе" #: cinelerra//assetedit.C:1051 msgid "no info available" -msgstr "" +msgstr "нет доступной информации" #: cinelerra//assetedit.h:109 msgid ": Path" -msgstr "" +msgstr ": Путь" #: cinelerra//assetedit.h:110 msgid "Select a file" @@ -520,13 +522,13 @@ msgstr "Переиндексировать" msgid "Sort items" msgstr "Упорядочить" -#: cinelerra//assetpopup.C:224 cinelerra//mainmenu.C:228 +#: cinelerra//assetpopup.C:224 cinelerra//mainmenu.C:227 msgid "View" msgstr "Вид" #: cinelerra//assetpopup.C:258 msgid "View in new window" -msgstr "" +msgstr "Вид (просмотр) в новом окне" #: cinelerra//assetpopup.C:295 cinelerra//mainmenu.C:870 #: cinelerra//swindow.C:555 @@ -631,84 +633,84 @@ msgstr "В конец ( End )" #: cinelerra//awindowgui.C:400 msgid ": Resources" -msgstr "" +msgstr ": Ресурсы" -#: cinelerra//awindowgui.C:495 cinelerra//awindowgui.C:1251 -#: cinelerra//awindowgui.C:1278 cinelerra//channelinfo.C:340 +#: cinelerra//awindowgui.C:495 cinelerra//awindowgui.C:1242 +#: cinelerra//awindowgui.C:1269 cinelerra//channelinfo.C:340 #: cinelerra//dbwindow.C:591 plugins/titler/title.C:1128 msgid "Title" msgstr "Титры" -#: cinelerra//awindowgui.C:496 cinelerra//awindowgui.C:1252 +#: cinelerra//awindowgui.C:496 cinelerra//awindowgui.C:1243 msgid "Comments" msgstr "Комментарии" -#: cinelerra//awindowgui.C:594 +#: cinelerra//awindowgui.C:588 msgid "Visibility" -msgstr "" +msgstr "Обзор" -#: cinelerra//awindowgui.C:744 +#: cinelerra//awindowgui.C:735 msgid ": Remove plugin" msgstr ": Удаление плагина" -#: cinelerra//awindowgui.C:769 +#: cinelerra//awindowgui.C:760 msgid "remove plugin?" -msgstr "удалить плагин ?" +msgstr "Удалить плагин ?" -#: cinelerra//awindowgui.C:797 +#: cinelerra//awindowgui.C:788 #, c-format msgid "remove %s\n" msgstr "удаление %s\n" -#: cinelerra//awindowgui.C:1277 +#: cinelerra//awindowgui.C:1268 msgid "Time Stamps" msgstr "Отметки времени" -#: cinelerra//awindowgui.C:1828 +#: cinelerra//awindowgui.C:1824 msgid "New bin" msgstr "Новая корзина" -#: cinelerra//awindowgui.C:1842 +#: cinelerra//awindowgui.C:1838 msgid "Delete bin" msgstr "Удалить корзину" -#: cinelerra//awindowgui.C:1860 +#: cinelerra//awindowgui.C:1856 msgid "Rename bin" msgstr "Переименовать корзину" -#: cinelerra//awindowgui.C:1873 +#: cinelerra//awindowgui.C:1869 msgid "Delete asset from disk" msgstr "Удалить ресурс с диска" -#: cinelerra//awindowgui.C:1886 +#: cinelerra//awindowgui.C:1882 msgid "Delete asset from project" msgstr "Удалить ресурс из проекта" -#: cinelerra//awindowgui.C:1899 +#: cinelerra//awindowgui.C:1895 msgid "Edit information on asset" msgstr "Редактировать информацию о ресурсе" -#: cinelerra//awindowgui.C:1913 +#: cinelerra//awindowgui.C:1909 msgid "Redraw index" msgstr "Переиндексировать" -#: cinelerra//awindowgui.C:1926 +#: cinelerra//awindowgui.C:1922 msgid "Paste asset on recordable tracks" msgstr "Вставить ресурс на дорожки, доступные для правки" -#: cinelerra//awindowgui.C:1939 +#: cinelerra//awindowgui.C:1935 msgid "Append asset in new tracks" msgstr "Добавить ресурс на новые дорожки" -#: cinelerra//awindowgui.C:1952 +#: cinelerra//awindowgui.C:1948 msgid "View asset" msgstr "Показать ресурс" -#: cinelerra//awindowgui.C:1990 cinelerra//channeledit.C:600 +#: cinelerra//awindowgui.C:1986 cinelerra//channeledit.C:600 msgid "Edit..." msgstr "Правка..." -#: cinelerra//awindowgui.C:2073 +#: cinelerra//awindowgui.C:2069 msgid "draw vicons" msgstr "" @@ -746,8 +748,8 @@ msgstr "Временной" #: cinelerra//batch.C:141 cinelerra//batchrender.C:939 #: cinelerra//ffmpeg.C:2167 cinelerra//ffmpeg.C:2277 cinelerra//file.C:1359 -#: cinelerra//file.C:1387 cinelerra//interfaceprefs.C:842 -#: cinelerra//loadmode.C:93 cinelerra//new.C:858 cinelerra//record.C:725 +#: cinelerra//file.C:1387 cinelerra//interfaceprefs.C:871 +#: cinelerra//loadmode.C:93 cinelerra//new.C:857 cinelerra//record.C:725 #: cinelerra//vdeviceprefs.C:752 plugins/motion2point/motionwindow.C:801 #: plugins/motion2point/motionwindow.C:872 plugins/timefront/timefront.C:419 msgid "Unknown" @@ -848,7 +850,7 @@ msgstr "Стоп" msgid "Close" msgstr "Закрыть" -#: cinelerra//batchrender.C:1051 cinelerra//new.C:57 cinelerra//new.C:140 +#: cinelerra//batchrender.C:1051 cinelerra//new.C:57 cinelerra//new.C:139 #: cinelerra//recordbatches.C:489 msgid "New" msgstr "Новый" @@ -987,7 +989,7 @@ msgstr "" #: cinelerra//bdcreate.C:600 cinelerra//dvdcreate.C:708 msgid "Audio 5.1" -msgstr "" +msgstr "Аудио 5.1" #: cinelerra//bdcreate.C:611 msgid ": Create BD" @@ -1012,7 +1014,7 @@ msgstr "" #: cinelerra//bdcreate.C:662 cinelerra//dvdcreate.C:782 msgid "Media:" -msgstr "мультимедиа:" +msgstr "" #: cinelerra//bdcreate.C:673 cinelerra//dvdcreate.C:793 #: cinelerra//recordgui.C:223 @@ -1037,7 +1039,7 @@ msgstr "Масштаб" #: cinelerra//brender.C:153 msgid "BRender::fork_background: can't open /proc/self/cmdline.\n" -msgstr "BRender::fork_background: невозможно открыть /proc/self/cmdline.\n" +msgstr "BRender::fork_background: can't open /proc/self/cmdline.\n" #: cinelerra//brender.C:263 #, c-format @@ -1053,80 +1055,80 @@ msgstr "BRender::set_video_map %jd: attempt to set beyond end of map %jd.\n" msgid "Look for file" msgstr "Поиск файла" -#: cinelerra//canvas.C:1062 +#: cinelerra//canvas.C:1033 msgid "Windowed" msgstr "В окне" -#: cinelerra//canvas.C:1097 +#: cinelerra//canvas.C:1069 msgid "Zoom 25%" -msgstr "Zoom 25%" +msgstr "Масштаб 25%" #msgstr "Zoom 25%" -#: cinelerra//canvas.C:1098 +#: cinelerra//canvas.C:1070 msgid "Zoom 33%" -msgstr "Zoom 33%" +msgstr "Масштаб 33%" #msgstr "Zoom 33%" -#: cinelerra//canvas.C:1099 +#: cinelerra//canvas.C:1071 msgid "Zoom 50%" -msgstr "Zoom 50%" +msgstr "Масштаб 50%" #msgstr "Zoom 50%" -#: cinelerra//canvas.C:1100 +#: cinelerra//canvas.C:1072 msgid "Zoom 75%" -msgstr "Zoom 75%" +msgstr "Масштаб 75%" #msgstr "Zoom 75%" -#: cinelerra//canvas.C:1101 cinelerra//recordmonitor.C:852 +#: cinelerra//canvas.C:1073 cinelerra//recordmonitor.C:858 msgid "Zoom 100%" -msgstr "Zoom 100%" +msgstr "Масштаб 100%" #msgstr "Zoom 100%" -#: cinelerra//canvas.C:1102 +#: cinelerra//canvas.C:1074 msgid "Zoom 150%" -msgstr "Zoom 150%" +msgstr "Масштаб 150%" #msgstr "Zoom 150%" -#: cinelerra//canvas.C:1103 +#: cinelerra//canvas.C:1075 msgid "Zoom 200%" -msgstr "Zoom 200%" +msgstr "Масштаб 200%" #msgstr "Zoom 200%" -#: cinelerra//canvas.C:1104 +#: cinelerra//canvas.C:1076 msgid "Zoom 300%" -msgstr "Zoom 300%" +msgstr "Масштаб 300%" #msgstr "Zoom 300%" -#: cinelerra//canvas.C:1105 +#: cinelerra//canvas.C:1077 msgid "Zoom 400%" -msgstr "Zoom 400%" +msgstr "Масштаб 400%" #msgstr "Zoom 400%" -#: cinelerra//canvas.C:1128 +#: cinelerra//canvas.C:1100 msgid "Zoom Auto" msgstr "Авто масштаб" -#: cinelerra//canvas.C:1158 +#: cinelerra//canvas.C:1130 msgid "Reset camera" msgstr "Сброс камеры" -#: cinelerra//canvas.C:1171 +#: cinelerra//canvas.C:1143 msgid "Reset projector" msgstr "Сброс проектора" -#: cinelerra//canvas.C:1184 +#: cinelerra//canvas.C:1156 msgid "Reset translation" msgstr "Сбросить перемещение" -#: cinelerra//canvas.C:1211 cinelerra//plugintoggles.C:77 +#: cinelerra//canvas.C:1183 cinelerra//plugintoggles.C:77 msgid "Show controls" msgstr "Показать управление" -#: cinelerra//canvas.C:1213 +#: cinelerra//canvas.C:1185 msgid "Hide controls" msgstr "Скрыть управление" -#: cinelerra//canvas.C:1244 +#: cinelerra//canvas.C:1216 msgid "Close source" msgstr "Закрыть источник" @@ -1211,7 +1213,7 @@ msgstr "Ничего" #: cinelerra//channeledit.C:163 msgid ": Channels" -msgstr "" +msgstr ": Каналы" #: cinelerra//channeledit.C:481 msgid "Select" @@ -1245,7 +1247,7 @@ msgstr "Изображение..." #: cinelerra//channeledit.C:642 msgid ": Scan confirm" -msgstr "" +msgstr ": Подтвержд-е сканир-я" #: cinelerra//channeledit.C:661 msgid "Set parameters for channel scanning." @@ -1274,7 +1276,7 @@ msgstr "" #: cinelerra//channeledit.C:994 msgid ": Edit Channel" -msgstr "" +msgstr ": Правка канала" #: cinelerra//channeledit.C:1055 msgid "Fine:" @@ -1282,11 +1284,12 @@ msgstr "Подстройка:" #: cinelerra//channeledit.C:1390 msgid ": Picture" -msgstr "" +msgstr ": Изображение" #: cinelerra//channeledit.C:1449 msgid "Device has no picture controls." -msgstr "" +msgstr "Устройство не имеет настроек\n" +"изображения." #: cinelerra//channeledit.C:1458 cinelerra//channeledit.C:1523 #: plugins/brightness/brightnesswindow.C:54 @@ -1456,12 +1459,12 @@ msgstr "Идёт процесс записи\n" #: cinelerra//channelinfo.C:1682 #, c-format msgid "capture driver not dvb\n" -msgstr "" +msgstr "драйвер захвата не dvb\n" #: cinelerra//channelinfo.C:1752 #, c-format msgid "cannot open dvb video device\n" -msgstr "" +msgstr "невозможно открыть dvb видеоустройство\n" #: cinelerra//channelinfo.C:1791 msgid "Scan..." @@ -1511,7 +1514,7 @@ msgstr "Комментарии:" #: cinelerra//colorpicker.C:83 msgid ": " -msgstr "" +msgstr ": " #: cinelerra//colorpicker.C:87 msgid "Color Picker" @@ -2105,7 +2108,7 @@ msgstr ": Удалить все индекс. файлы" #: cinelerra//devicedvbinput.C:403 #, c-format msgid "** %scarrier, dvb_locked %s\n" -msgstr "" +msgstr "** %scarrier, dvb_locked %s\n" #: cinelerra//devicedvbinput.C:404 msgid "no " @@ -2176,7 +2179,7 @@ msgstr "" #: cinelerra//editlength.C:132 msgid ": Edit length" -msgstr "" +msgstr ": Длина объекта" #: cinelerra//editlength.C:155 cinelerra//transitionpopup.C:119 msgid "Seconds:" @@ -2200,11 +2203,13 @@ msgstr "Предыдущая метка ( ctrl <- )" #: cinelerra//editpanel.C:767 msgid "Next edit ( alt -> )" -msgstr "" +msgstr "Переход курсора вправо\n" +"к границе редактирования ( alt -> )." #: cinelerra//editpanel.C:794 msgid "Previous edit (alt <- )" -msgstr "" +msgstr "Переход курсора влево\n" +"к границе редактирования ( alt <- )." #: cinelerra//editpanel.C:818 msgid "Lift" @@ -2244,11 +2249,11 @@ msgstr "Копировать ( c )" #: cinelerra//editpanel.C:1044 msgid "Append to end of track" -msgstr "" +msgstr "Добавить в конец дорожки" #: cinelerra//editpanel.C:1062 msgid "Insert before beginning of track" -msgstr "" +msgstr "Вставить в начало дорожки" #: cinelerra//editpanel.C:1081 msgid "Paste ( v )" @@ -2339,6 +2344,34 @@ msgstr ": Задать название" msgid "User title" msgstr "Собственное название" +#: cinelerra//edl.inc:58 +msgid "Audio Effects" +msgstr "Аудиоэффекты" + +#: cinelerra//edl.inc:59 +msgid "Video Effects" +msgstr "Видеоэффекты" + +#: cinelerra//edl.inc:60 +msgid "Audio Transitions" +msgstr "Аудиопереходы" + +#: cinelerra//edl.inc:61 +msgid "Video Transitions" +msgstr "Видеопереходы" + +#: cinelerra//edl.inc:63 +msgid "Labels" +msgstr "Метки" + +#: cinelerra//edl.inc:66 +msgid "Clips" +msgstr "Клипы" + +#: cinelerra//edl.inc:67 +msgid "Media" +msgstr "Медиаданные" + #: cinelerra//edlsession.C:253 plugins/crossfade/crossfade.C:46 #, c-format msgid "Crossfade" @@ -2476,7 +2509,7 @@ msgstr "" #: cinelerra//ffmpeg.C:1676 #, c-format msgid "get_encoder failed %s:%s\n" -msgstr "" +msgstr "get_encoder failed %s:%s\n" #: cinelerra//ffmpeg.C:1692 #, c-format @@ -2586,7 +2619,7 @@ msgstr ": Сжатие аудио" #: cinelerra//fileac3.C:357 msgid "Bitrate (kbps):" -msgstr "" +msgstr "Битрейт (kbps):" #: cinelerra//file.C:281 msgid "This format doesn't support audio." @@ -2608,7 +2641,7 @@ msgstr "Hi Lo" #: cinelerra//file.C:1608 msgid "UNKNOWN" -msgstr "" +msgstr "Неизвестно" #: cinelerra//filedv.C:191 #, c-format @@ -2616,15 +2649,19 @@ msgid "" "Raw DV format does not support following resolution: %ix%i framerate: %f\n" "Allowed resolutions are 720x576 25fps (PAL) and 720x480 29.97fps (NTSC)\n" msgstr "" +"Формат Raw DV не поддерживает конфигурацию: %ix%i частота кадров: %f\n" +"Поддерживаются: 720x576 25 кад./сек. (PAL) и 720x480 29.97 кад./сек. (NTSC)\n" #: cinelerra//filedv.C:194 msgid "Suggestion: Proper frame rate for NTSC DV is 29.97 fps, not 30 fps\n" -msgstr "" +msgstr "Предложение: надлежащая частота кадров для NTSC DV\n" +" 29.97 кад./сек., а не 30 кад./сек.\n" #: cinelerra//filedv.C:201 #, c-format msgid "Raw DV format does not support following audio configuration : %i channels at sample rate: %iHz\n" -msgstr "" +msgstr "Формат Raw DV не поддерживает эту конфигурацию аудио:\n" +"%i каналов, частота дискретизации: %iHz\n" #: cinelerra//filedv.C:396 #, c-format @@ -2781,8 +2818,8 @@ msgstr "" #: cinelerra//fileffmpeg.C:920 cinelerra//fileffmpeg.C:1319 #: cinelerra//pluginfclient.C:208 cinelerra//pluginfclient.C:471 -#: cinelerra//pluginfclient.C:497 cinelerra//preferencesthread.C:593 -#: cinelerra//preferencesthread.C:595 cinelerra//setformat.C:891 +#: cinelerra//pluginfclient.C:497 cinelerra//preferencesthread.C:594 +#: cinelerra//preferencesthread.C:596 cinelerra//setformat.C:891 msgid "Apply" msgstr "Применить" @@ -3134,12 +3171,12 @@ msgstr "" #: cinelerra//filempeg.C:598 #, c-format msgid "Unsupported aspect ratio %f\n" -msgstr "" +msgstr "Неподдерживаемое соотношение сторон %f\n" #: cinelerra//filempeg.C:623 #, c-format msgid "Unsupported frame rate %f\n" -msgstr "" +msgstr "Неподдерживаемая частота кадров %f\n" #: cinelerra//filempeg.C:670 cinelerra//filempeg.C:716 #: cinelerra//filempeg.C:734 @@ -3212,7 +3249,7 @@ msgstr "II" msgid "III" msgstr "III" -#: cinelerra//filempeg.C:1956 cinelerra//new.C:387 cinelerra//setformat.C:457 +#: cinelerra//filempeg.C:1956 cinelerra//new.C:386 cinelerra//setformat.C:457 msgid "Color model:" msgstr "Цвет. модель:" @@ -3584,7 +3621,7 @@ msgstr "RGBA uncompressed" #: cinelerra//filetiff.C:607 msgid "Colorspace:" -msgstr "" +msgstr "Цвет. пространство:" #: cinelerra//filevorbis.C:140 #, c-format @@ -3597,7 +3634,7 @@ msgstr "" #: cinelerra//floatauto.C:422 msgid "Smooth" -msgstr "" +msgstr "Сглаженная" #: cinelerra//floatauto.C:423 plugins/gradient/gradient.C:347 #: plugins/gradient/gradient.C:437 @@ -3608,11 +3645,11 @@ msgstr "Линейная" #: cinelerra//floatauto.C:424 msgid "Tangent" -msgstr "" +msgstr "Связанные направляющие" #: cinelerra//floatauto.C:425 msgid "Disjoint" -msgstr "" +msgstr "Несвязанные направляющие" #: cinelerra//floatauto.C:427 msgid "Error" @@ -3709,7 +3746,7 @@ msgstr "" msgid "Video is not supported in this format." msgstr "" -#: cinelerra//gwindowgui.C:40 +#: cinelerra//gwindowgui.C:41 msgid ": Overlays" msgstr ": Вид" @@ -3762,199 +3799,224 @@ msgstr "Правка со скольжением" msgid "No effect" msgstr "Не использовать" -#: cinelerra//interfaceprefs.C:89 +#: cinelerra//interfaceprefs.C:88 msgid "Time Format" msgstr "Формат времени" +#: cinelerra//interfaceprefs.C:91 +msgid "Flags" +msgstr "Флаги" + #: cinelerra//interfaceprefs.C:123 msgid "Frames per foot:" msgstr "Кадров на фут" -#: cinelerra//interfaceprefs.C:145 +#: cinelerra//interfaceprefs.C:150 msgid "Index files" msgstr "Индексные файлы" -#: cinelerra//interfaceprefs.C:150 +#: cinelerra//interfaceprefs.C:155 msgid "Index files go here:" msgstr "Расположение индекс. файлов:" -#: cinelerra//interfaceprefs.C:158 +#: cinelerra//interfaceprefs.C:163 msgid "Index Path" msgstr "Путь к индексным файлам" -#: cinelerra//interfaceprefs.C:159 +#: cinelerra//interfaceprefs.C:164 msgid "Select the directory for index files" msgstr "Выберите каталог для индексных файлов" -#: cinelerra//interfaceprefs.C:164 +#: cinelerra//interfaceprefs.C:169 msgid "Size of index file:" msgstr "Размер индексного файла:" -#: cinelerra//interfaceprefs.C:171 +#: cinelerra//interfaceprefs.C:176 msgid "Number of index files to keep:" msgstr "Сохранять индексных файлов:" -#: cinelerra//interfaceprefs.C:184 +#: cinelerra//interfaceprefs.C:189 msgid "Editing" msgstr "Редактирование" -#: cinelerra//interfaceprefs.C:188 +#: cinelerra//interfaceprefs.C:193 msgid "Keyframe reticle:" msgstr "Визирные линии\n" " ключев. кадров:" -#: cinelerra//interfaceprefs.C:204 +#: cinelerra//interfaceprefs.C:209 msgid "PIN:" msgstr "PIN" -#: cinelerra//interfaceprefs.C:227 +#: cinelerra//interfaceprefs.C:232 msgid "Clicking on edit boundaries does what:" msgstr "Поведение кнопок мыши на границах редактиров-я:" -#: cinelerra//interfaceprefs.C:229 +#: cinelerra//interfaceprefs.C:234 msgid "Button 1:" msgstr "Левая:" -#: cinelerra//interfaceprefs.C:238 +#: cinelerra//interfaceprefs.C:243 msgid "Button 2:" msgstr "Средняя:" -#: cinelerra//interfaceprefs.C:246 +#: cinelerra//interfaceprefs.C:251 msgid "Button 3:" msgstr "Правая:" -#: cinelerra//interfaceprefs.C:256 +#: cinelerra//interfaceprefs.C:261 msgid "Min DB for meter:" msgstr "Мин. шкалы дБ:" -#: cinelerra//interfaceprefs.C:262 +#: cinelerra//interfaceprefs.C:267 msgid "Max DB:" msgstr "Макс. дБ:" -#: cinelerra//interfaceprefs.C:270 +#: cinelerra//interfaceprefs.C:275 msgid "Theme:" msgstr "Тема:" -#: cinelerra//interfaceprefs.C:656 +#: cinelerra//interfaceprefs.C:661 msgid "Use thumbnails in resource window" msgstr "Показывать миниатюры в окне 'Ресурсы'" -#: cinelerra//interfaceprefs.C:673 +#: cinelerra//interfaceprefs.C:678 msgid "Show tip of the day" msgstr "Показывать совет дня" -#: cinelerra//interfaceprefs.C:688 +#: cinelerra//interfaceprefs.C:691 msgid "ffmpeg probe warns rebuild indexes" msgstr "" #: cinelerra//interfaceprefs.C:704 +msgid "EDL version warns if mismatched" +msgstr "" + +#: cinelerra//interfaceprefs.C:717 +msgid "Popups activate on button up" +msgstr "" + +#: cinelerra//interfaceprefs.C:733 msgid "Scan for commercials during toc build" msgstr "" -#: cinelerra//interfaceprefs.C:718 +#: cinelerra//interfaceprefs.C:747 msgid "Android Remote Control" -msgstr "" +msgstr "Удалённое управление с Android" -#: cinelerra//interfaceprefs.C:769 +#: cinelerra//interfaceprefs.C:798 msgid "Shell Commands" msgstr "Shell - команды" -#: cinelerra//interfaceprefs.C:773 +#: cinelerra//interfaceprefs.C:802 msgid "Main Menu Shell Commands" msgstr "Главное меню shell - команд" -#: cinelerra//interfaceprefs.C:783 +#: cinelerra//interfaceprefs.C:812 msgid "Import images with a duration of" msgstr "Длительность импортир-нных изображ-й" -#: cinelerra//interfaceprefs.C:838 +#: cinelerra//interfaceprefs.C:867 msgid "Never" msgstr "Не показывать" -#: cinelerra//interfaceprefs.C:839 +#: cinelerra//interfaceprefs.C:868 msgid "Dragging" msgstr "При перетаскивании кл. к." -#: cinelerra//interfaceprefs.C:840 +#: cinelerra//interfaceprefs.C:869 msgid "Always" msgstr "Всегда показывать" #: cinelerra//keyframegui.C:50 msgid "Parameter" -msgstr "" +msgstr "Параметр" #: cinelerra//keyframegui.C:110 msgid "TEXT" -msgstr "" +msgstr "Текст" #: cinelerra//keyframegui.C:135 #, c-format msgid ": %s Keyframe" -msgstr "" +msgstr " %s Ключ. кадр" #: cinelerra//keyframegui.C:261 msgid "edit keyframe" -msgstr "" +msgstr "редактир-ь ключ. кадр" #: cinelerra//keyframegui.C:301 msgid "Keyframe parameters:" -msgstr "" +msgstr "Параметры ключ. кадра:" #: cinelerra//keyframegui.C:307 msgid "Edit value:" -msgstr "" +msgstr "Редактировать значение" #: cinelerra//keyframegui.C:389 msgid "Apply to all selected keyframes" -msgstr "" +msgstr "Применить ко всем выделенным кл. к." -#: cinelerra//keyframepopup.C:169 +#: cinelerra//keyframepopup.C:100 +msgid "Show Plugin Settings" +msgstr "Показать настройки эффекта (кл. к.)" + +#: cinelerra//keyframepopup.C:177 msgid "Delete keyframe" msgstr "Удалить ключевой кадр" -#: cinelerra//keyframepopup.C:181 cinelerra//keyframepopup.C:183 +#: cinelerra//keyframepopup.C:189 cinelerra//keyframepopup.C:191 msgid "delete keyframe" msgstr "удалить ключевой кадр" -#: cinelerra//keyframepopup.C:196 +#: cinelerra//keyframepopup.C:204 cinelerra//keyframepopup.C:548 +msgid "Hide keyframe type" +msgstr "" + +#: cinelerra//keyframepopup.C:222 msgid "Show keyframe settings" msgstr "Показать параметры ключ. кадра" -#: cinelerra//keyframepopup.C:314 +#: cinelerra//keyframepopup.C:353 msgid "Copy keyframe" msgstr "Копировать ключевой кадр" -#: cinelerra//keyframepopup.C:437 +#: cinelerra//keyframepopup.C:471 msgid "smooth curve" msgstr "Сглаженная кривая" -#: cinelerra//keyframepopup.C:438 +#: cinelerra//keyframepopup.C:472 msgid "linear segments" msgstr "Линейные сегменты" -#: cinelerra//keyframepopup.C:439 +#: cinelerra//keyframepopup.C:473 msgid "tangent edit" msgstr "Связанные направляющие" -#: cinelerra//keyframepopup.C:440 +#: cinelerra//keyframepopup.C:474 msgid "disjoint edit" msgstr "Несвязанные направляющие" -#: cinelerra//keyframepopup.C:442 +#: cinelerra//keyframepopup.C:476 msgid "misconfigured" msgstr "" -#: cinelerra//keyframepopup.C:457 cinelerra//keyframepopup.C:463 +#: cinelerra//keyframepopup.C:491 cinelerra//keyframepopup.C:497 msgid "change keyframe curve mode" msgstr "" -#: cinelerra//keyframepopup.C:477 +#: cinelerra//keyframepopup.C:511 msgid "Edit Params..." -msgstr "" +msgstr "Редактировать параметры..." -#: cinelerra//keyframepopup.C:514 -msgid "Hide keyframe type" -msgstr "Скрыть тип ключевой кадр" +#: cinelerra//keyframepopup.C:600 cinelerra//keyframepopup.C:603 +#: cinelerra//mwindowedit.C:1182 +msgid "mute" +msgstr "заглушить участок" + +#: cinelerra//keyframepopup.C:663 cinelerra//keyframepopup.C:666 +msgid "speed" +msgstr "скорость" #: cinelerra//labeledit.C:79 msgid ": Label Info" @@ -3982,7 +4044,7 @@ msgstr "Открыть файлы ..." #: cinelerra//loadfile.C:174 msgid ": Load" -msgstr "" +msgstr ": Загрузка" #: cinelerra//loadfile.C:175 msgid "Select files to load:" @@ -4026,7 +4088,7 @@ msgstr "Только создать новые ресурсы" #: cinelerra//loadmode.C:39 msgid "Nest sequence" -msgstr "" +msgstr "Вложенная последовательность" #: cinelerra//loadmode.C:82 cinelerra//loadmode.C:102 msgid "Insertion strategy:" @@ -4040,7 +4102,7 @@ msgstr "Программа" #: cinelerra//main.C:148 #, c-format msgid ": Could not set locale.\n" -msgstr "" +msgstr ": Could not set locale.\n" #: cinelerra//main.C:191 #, c-format @@ -4058,7 +4120,7 @@ msgid "" "\n" "Usage:\n" msgstr "\n" -":\n" +"Использование:\n" #: cinelerra//main.C:278 #, c-format @@ -4087,12 +4149,12 @@ msgstr "-n = Значение для количества заданий при #: cinelerra//main.C:282 #, c-format msgid "-c = Configuration file to use instead of %s/%s.\n" -msgstr "" +msgstr "-c = Запуск с другим конфигурационным файлом вместо %s/%s.\n" #: cinelerra//main.C:284 #, c-format msgid "-r = batch render the contents of the batch file (%s/%s) with no GUI. batch file is optional.\n" -msgstr "" +msgstr "-r = пакетный рендеринг содержимого из пакетного файла (%s/%s) (без GUI). Опция `пакетный файл`- дополнительная.\n" #: cinelerra//main.C:286 #, c-format @@ -4117,7 +4179,7 @@ msgid "Building Indexes..." msgstr "Создание индексов..." #: cinelerra//mainmenu.C:136 cinelerra//shbtnprefs.C:152 -#: plugins/svg/svgwin.C:244 +#: plugins/svg/svgwin.C:258 msgid "Edit" msgstr "Правка" @@ -4125,163 +4187,163 @@ msgstr "Правка" msgid "Keyframes" msgstr "Ключевые кадры" -#: cinelerra//mainmenu.C:179 cinelerra//new.C:278 cinelerra//setformat.C:336 +#: cinelerra//mainmenu.C:178 cinelerra//new.C:277 cinelerra//setformat.C:336 msgid "Audio" msgstr "Аудио" -#: cinelerra//mainmenu.C:188 cinelerra//new.C:306 cinelerra//setformat.C:388 +#: cinelerra//mainmenu.C:187 cinelerra//new.C:305 cinelerra//setformat.C:388 msgid "Video" msgstr "Видео" -#: cinelerra//mainmenu.C:195 +#: cinelerra//mainmenu.C:194 msgid "Tracks" msgstr "Дорожки" -#: cinelerra//mainmenu.C:203 +#: cinelerra//mainmenu.C:202 msgid "Settings" msgstr "Установки" -#: cinelerra//mainmenu.C:232 +#: cinelerra//mainmenu.C:231 msgid "Fade" -msgstr "Фейд А./В." +msgstr "Фейд" -#: cinelerra//mainmenu.C:234 cinelerra//vpatchgui.C:272 +#: cinelerra//mainmenu.C:233 cinelerra//vpatchgui.C:285 msgid "Overlay mode" msgstr "Режим наложения" -#: cinelerra//mainmenu.C:237 plugins/denoiseseltempavg/seltempavgwindow.C:66 +#: cinelerra//mainmenu.C:236 plugins/denoiseseltempavg/seltempavgwindow.C:66 msgid "Mask" msgstr "Маска" -#: cinelerra//mainmenu.C:238 +#: cinelerra//mainmenu.C:237 msgid "Speed" msgstr "Скорость" -#: cinelerra//mainmenu.C:239 +#: cinelerra//mainmenu.C:238 msgid "Camera X" msgstr "Камера X" -#: cinelerra//mainmenu.C:240 +#: cinelerra//mainmenu.C:239 msgid "Camera Y" msgstr "Камера Y" -#: cinelerra//mainmenu.C:241 +#: cinelerra//mainmenu.C:240 msgid "Camera Z" msgstr "Камера Z" -#: cinelerra//mainmenu.C:242 +#: cinelerra//mainmenu.C:241 msgid "Projector X" msgstr "Проектор X" -#: cinelerra//mainmenu.C:243 +#: cinelerra//mainmenu.C:242 msgid "Projector Y" msgstr "Проектор Y" -#: cinelerra//mainmenu.C:244 +#: cinelerra//mainmenu.C:243 msgid "Projector Z" msgstr "Проектор Z" -#: cinelerra//mainmenu.C:247 +#: cinelerra//mainmenu.C:246 msgid "Window" msgstr "Окно" -#: cinelerra//mainmenu.C:256 +#: cinelerra//mainmenu.C:255 msgid "Default positions" msgstr "Стандартное расположение" -#: cinelerra//mainmenu.C:256 +#: cinelerra//mainmenu.C:255 msgid "Ctrl-P" msgstr "Ctrl-P" -#: cinelerra//mainmenu.C:257 +#: cinelerra//mainmenu.C:256 msgid "Tile left" -msgstr "" +msgstr "Окна на левый монитор" -#: cinelerra//mainmenu.C:258 +#: cinelerra//mainmenu.C:257 msgid "Tile right" -msgstr "" +msgstr "Окна на правый монитор" -#: cinelerra//mainmenu.C:564 +#: cinelerra//mainmenu.C:563 msgid "Dump CICache" msgstr "Выгрузка CICache" -#: cinelerra//mainmenu.C:574 +#: cinelerra//mainmenu.C:573 msgid "Dump EDL" msgstr "Выгрузка EDL" -#: cinelerra//mainmenu.C:588 +#: cinelerra//mainmenu.C:587 msgid "Dump Plugins" msgstr "Выгрузка списка плагинов" -#: cinelerra//mainmenu.C:603 +#: cinelerra//mainmenu.C:602 msgid "Dump Assets" msgstr "Выгрузка ресурсов" -#: cinelerra//mainmenu.C:614 +#: cinelerra//mainmenu.C:613 msgid "Undo" msgstr "Отмена" -#: cinelerra//mainmenu.C:626 +#: cinelerra//mainmenu.C:625 #, c-format msgid "Undo %s" msgstr "Отмена %s" -#: cinelerra//mainmenu.C:632 +#: cinelerra//mainmenu.C:631 msgid "Redo" msgstr "Повтор" -#: cinelerra//mainmenu.C:632 +#: cinelerra//mainmenu.C:631 msgid "Shift-Z" msgstr "Shift-Z" -#: cinelerra//mainmenu.C:647 +#: cinelerra//mainmenu.C:646 #, c-format msgid "Redo %s" msgstr "Повтор %s" -#: cinelerra//mainmenu.C:653 +#: cinelerra//mainmenu.C:652 msgid "Cut keyframes" msgstr "Вырезать ключевые кадры" -#: cinelerra//mainmenu.C:653 +#: cinelerra//mainmenu.C:652 msgid "Shift-X" msgstr "Shift-X" -#: cinelerra//mainmenu.C:666 +#: cinelerra//mainmenu.C:665 msgid "Copy keyframes" msgstr "Копировать ключевые кадры" -#: cinelerra//mainmenu.C:666 +#: cinelerra//mainmenu.C:665 msgid "Shift-C" msgstr "Shift-C" -#: cinelerra//mainmenu.C:679 +#: cinelerra//mainmenu.C:678 msgid "Paste keyframes" msgstr "Вставить ключевые кадры" -#: cinelerra//mainmenu.C:679 +#: cinelerra//mainmenu.C:678 msgid "Shift-V" msgstr "Shift-V" -#: cinelerra//mainmenu.C:692 +#: cinelerra//mainmenu.C:691 msgid "Clear keyframes" -msgstr "Очистить ключевые кадры" +msgstr "Удалить ключевые кадры" -#: cinelerra//mainmenu.C:692 +#: cinelerra//mainmenu.C:691 msgid "Shift-Del" msgstr "Shift-Del" -#: cinelerra//mainmenu.C:707 +#: cinelerra//mainmenu.C:706 msgid "Change to linear" -msgstr "" +msgstr "Преобразовать сегменты в линейные" -#: cinelerra//mainmenu.C:722 +#: cinelerra//mainmenu.C:721 msgid "Change to smooth" -msgstr "" +msgstr "Преобразовать сегменты в сглаженные" -#: cinelerra//mainmenu.C:736 +#: cinelerra//mainmenu.C:735 msgid "Create curve type..." -msgstr "" +msgstr "Задать тип кривой..." #: cinelerra//mainmenu.C:794 msgid "Cut default keyframe" @@ -4309,7 +4371,7 @@ msgstr "Alt-v" #: cinelerra//mainmenu.C:833 msgid "Clear default keyframe" -msgstr "Очистить станд. ключевой кадр" +msgstr "Удалить станд. ключевой кадр" #: cinelerra//mainmenu.C:833 msgid "Alt-Del" @@ -4347,7 +4409,7 @@ msgstr "Выделить всё" #: cinelerra//mainmenu.C:920 msgid "Clear labels" -msgstr "Очистить метки" +msgstr "Удалить метки" #: cinelerra//mainmenu.C:931 msgid "Cut ads" @@ -4493,23 +4555,27 @@ msgstr "Окно 'Cоставитель (Вывод)'" msgid "Show Overlays" msgstr "Окно меню 'Вид'" -#: cinelerra//mainmenu.C:1433 +#: cinelerra//mainmenu.C:1420 +msgid "Ctrl-0" +msgstr "Ctrl-0" + +#: cinelerra//mainmenu.C:1438 msgid "Show Levels" msgstr "Окно 'Уровни звука'" -#: cinelerra//mainmenu.C:1464 +#: cinelerra//mainmenu.C:1469 msgid "Split X pane" -msgstr "" +msgstr "Разделить монтаж. стол по X" -#: cinelerra//mainmenu.C:1464 +#: cinelerra//mainmenu.C:1469 msgid "Ctrl-1" msgstr "Ctrl-1" -#: cinelerra//mainmenu.C:1477 +#: cinelerra//mainmenu.C:1482 msgid "Split Y pane" -msgstr "" +msgstr "Разделить монтаж. стол по Y" -#: cinelerra//mainmenu.C:1477 +#: cinelerra//mainmenu.C:1482 msgid "Ctrl-2" msgstr "Ctrl-2" @@ -4553,19 +4619,19 @@ msgstr "Выберите переход из списка" #: cinelerra//menueditlength.C:31 msgid "Edit Length..." -msgstr "" +msgstr "Длина объекта редактирования..." #: cinelerra//menueditlength.C:52 msgid "Shuffle Edits" -msgstr "" +msgstr "Перемешать объекты" #: cinelerra//menueditlength.C:67 msgid "Reverse Edits" -msgstr "" +msgstr "Расположить в обратном порядке" #: cinelerra//menueditlength.C:85 msgid "Align Edits" -msgstr "" +msgstr "Выровнять расположение объектов" #: cinelerra//menueffects.C:58 msgid "Render effect..." @@ -4595,7 +4661,7 @@ msgstr "Не выбран эффект." msgid "No selected range to process." msgstr "Не выбрана область для обработки." -#: cinelerra//menueffects.C:324 cinelerra//mwindowgui.C:611 +#: cinelerra//menueffects.C:324 cinelerra//mwindowgui.C:608 #: cinelerra//vwindowgui.C:101 #, c-format msgid ": %s" @@ -4654,74 +4720,74 @@ msgstr "Messages::write_message" msgid "Show meters" msgstr "Показывать уровни звука" -#: cinelerra//mwindow.C:582 +#: cinelerra//mwindow.C:589 #, c-format msgid "MWindow::init_plugins: can't create plugin index: %s\n" msgstr "MWindow::init_plugins: can't create plugin index: %s\n" -#: cinelerra//mwindow.C:643 +#: cinelerra//mwindow.C:650 #, c-format msgid "MWindow::init_ladspa_index: can't create plugin index: %s\n" msgstr "MWindow::init_ladspa_index: can't create plugin index: %s\n" -#: cinelerra//mwindow.C:922 +#: cinelerra//mwindow.C:930 #, c-format msgid "MWindow::init_theme: prefered theme %s not found.\n" msgstr "MWindow::init_theme: prefered theme %s not found.\n" -#: cinelerra//mwindow.C:926 +#: cinelerra//mwindow.C:934 #, c-format msgid "MWindow::init_theme: trying default theme %s\n" msgstr "MWindow::init_theme: trying default theme %s\n" -#: cinelerra//mwindow.C:936 +#: cinelerra//mwindow.C:944 #, c-format msgid "MWindow::init_theme: theme_plugin not found.\n" msgstr "MWindow::init_theme: theme_plugin not found.\n" -#: cinelerra//mwindow.C:942 +#: cinelerra//mwindow.C:950 #, c-format msgid "MWindow::init_theme: unable to load theme %s\n" msgstr "MWindow::init_theme: unable to load theme %s\n" -#: cinelerra//mwindow.C:1225 +#: cinelerra//mwindow.C:1233 msgid "multiple video tracks" msgstr "" -#: cinelerra//mwindow.C:1237 +#: cinelerra//mwindow.C:1245 msgid "crosses edits" msgstr "" -#: cinelerra//mwindow.C:1239 +#: cinelerra//mwindow.C:1247 msgid "not asset" msgstr "" -#: cinelerra//mwindow.C:1258 +#: cinelerra//mwindow.C:1266 msgid "no file" msgstr "" -#: cinelerra//mwindow.C:1264 +#: cinelerra//mwindow.C:1272 msgid "db failed" msgstr "" -#: cinelerra//mwindow.C:1268 +#: cinelerra//mwindow.C:1276 #, c-format msgid "put_commercial: %s" msgstr "" -#: cinelerra//mwindow.C:1333 +#: cinelerra//mwindow.C:1341 #, c-format msgid "Loading %s" msgstr "" -#: cinelerra//mwindow.C:1351 +#: cinelerra//mwindow.C:1359 #, c-format msgid "" "%s's resolution is %dx%d.\n" "Images with odd dimensions may not decode properly." msgstr "" -#: cinelerra//mwindow.C:1362 +#: cinelerra//mwindow.C:1370 #, c-format msgid "" "%s's index was built for program number %d\n" @@ -4729,27 +4795,46 @@ msgid "" " Using program %d." msgstr "" -#: cinelerra//mwindow.C:1408 +#: cinelerra//mwindow.C:1416 #, c-format msgid "Failed to open %s" msgstr "Ошибка открытия %s" -#: cinelerra//mwindow.C:1441 +#: cinelerra//mwindow.C:1449 msgid "'s format couldn't be determined." msgstr " - не удалось определить формат." -#: cinelerra//mwindow.C:1692 +#: cinelerra//mwindow.C:1519 +#, c-format +msgid "" +"XML file %s\n" +" not from cinelerra." +msgstr "" + +#: cinelerra//mwindow.C:1521 +#, c-format +msgid "Unknown %s" +msgstr "Неизвестно %s" + +#: cinelerra//mwindow.C:1529 +#, c-format +msgid "" +"Warning: XML from cinelerra version %s\n" +"Session data may be incompatible." +msgstr "" + +#: cinelerra//mwindow.C:1722 msgid "load" msgstr "загрузка" -#: cinelerra//mwindow.C:1769 cinelerra//mwindow.C:1802 +#: cinelerra//mwindow.C:1799 cinelerra//mwindow.C:1832 #, c-format msgid "" "The %s '%s' in file '%s' is not part of your installation of Cinelerra.\n" "The project won't be rendered as it was meant and Cinelerra might crash.\n" msgstr "" -#: cinelerra//mwindow.C:1835 +#: cinelerra//mwindow.C:1865 #, c-format msgid "" "MWindow::init_shm: /proc/sys/kernel/shmmax is %p.\n" @@ -4757,45 +4842,49 @@ msgid "" "as root, run: echo 0x7fffffff > /proc/sys/kernel/shmmax\n" "before trying to start cinelerra.\n" "It should be at least 0x7fffffff for Cinelerra.\n" -msgstr "" +msgstr "MWindow::init_shm: /proc/sys/kernel/shmmax is %p.\n" +"Выполните с правами суперпользователя:\n" +"echo 0x7fffffff > /proc/sys/kernel/shmmax\n" +"прежде чем запустить Сinelerra.\n" +"Для Cinelerra значение должно быть не менее 0x7fffffff\n" -#: cinelerra//mwindow.C:1865 +#: cinelerra//mwindow.C:1895 msgid "Initializing Plugins" -msgstr "" +msgstr "Инициализация плагинов" -#: cinelerra//mwindow.C:1871 +#: cinelerra//mwindow.C:1901 msgid "Initializing GUI" msgstr "Инициализация GUI" -#: cinelerra//mwindow.C:1879 +#: cinelerra//mwindow.C:1909 msgid "Initializing Fonts" -msgstr "" +msgstr "Инициализация шрифтов" -#: cinelerra//mwindow.C:2893 +#: cinelerra//mwindow.C:2947 #, c-format msgid "Couldn't open %s for writing." msgstr "Невозможно открыть %s для записи." -#: cinelerra//mwindow.C:3054 +#: cinelerra//mwindow.C:3108 msgid "remove assets" msgstr "удалить ресурсы" -#: cinelerra//mwindow.C:3276 +#: cinelerra//mwindow.C:3340 #, c-format msgid "Using %s" -msgstr "" +msgstr "Использование %s" -#: cinelerra//mwindow.C:3413 cinelerra//mwindowedit.C:234 -#: cinelerra//mwindowedit.C:300 cinelerra//preferencesthread.C:232 +#: cinelerra//mwindow.C:3477 cinelerra//mwindowedit.C:234 +#: cinelerra//mwindowedit.C:300 cinelerra//preferencesthread.C:233 msgid "" "This project's dimensions are not multiples of 4 so\n" "it can't be rendered by OpenGL." msgstr "Размер проекта не кратен 4.\n" "Невозможно выполнить OpenGL-рендеринг." -#: cinelerra//mwindow.C:3543 +#: cinelerra//mwindow.C:3610 msgid "select asset" -msgstr "" +msgstr "выберите ресурс" #: cinelerra//mwindowedit.C:92 cinelerra//mwindowedit.C:120 #: cinelerra//mwindowedit.C:141 @@ -4804,7 +4893,7 @@ msgstr "'добавить дорожку'" #: cinelerra//mwindowedit.C:259 msgid "asset to all" -msgstr "" +msgstr "`соглас. и размер, и частоту`" #: cinelerra//mwindowedit.C:316 msgid "asset to size" @@ -4816,19 +4905,19 @@ msgstr "соглас. част. кадров" #: cinelerra//mwindowedit.C:359 msgid "clear" -msgstr "очистить" +msgstr "удалить" #: cinelerra//mwindowedit.C:411 msgid "clear keyframes" -msgstr "очистить ключевые кадры" +msgstr "удалить ключевые кадры" #: cinelerra//mwindowedit.C:426 msgid "clear default keyframe" -msgstr "очистить стд. ключевой кадр" +msgstr "удалить стд. ключевой кадр" #: cinelerra//mwindowedit.C:442 msgid "clear labels" -msgstr "очистить метки" +msgstr "удалить метки" #: cinelerra//mwindowedit.C:461 msgid "concatenate tracks" @@ -4872,11 +4961,11 @@ msgstr "по размеру вывода" #: cinelerra//mwindowedit.C:1026 msgid "move edit" -msgstr "переместить ресурс" +msgstr "переместить фрагмент" #: cinelerra//mwindowedit.C:1049 msgid "paste effect" -msgstr "" +msgstr "вставить эффект" #: cinelerra//mwindowedit.C:1065 msgid "move effect" @@ -4906,10 +4995,6 @@ msgstr "переместить дорожку вверх" msgid "move tracks up" msgstr "переместить дорожки вверх" -#: cinelerra//mwindowedit.C:1182 -msgid "mute" -msgstr "заглушить участок" - #: cinelerra//mwindowedit.C:1244 msgid "overwrite" msgstr "заменить" @@ -4940,7 +5025,7 @@ msgstr "удалить переход" #: cinelerra//mwindowedit.C:1947 msgid "detach transitions" -msgstr "" +msgstr "удалить переходы" #: cinelerra//mwindowedit.C:1967 cinelerra//mwindowedit.C:1996 #: cinelerra//mwindowedit.C:2017 cinelerra//mwindowedit.C:2039 @@ -4958,23 +5043,23 @@ msgstr "Переход по-умолчанию (станд.) %s не найде #: cinelerra//mwindowedit.C:2057 msgid "shuffle edits" -msgstr "" +msgstr "перемешать объекты" #: cinelerra//mwindowedit.C:2076 msgid "reverse edits" -msgstr "" +msgstr "объекты в обрат. порядке" #: cinelerra//mwindowedit.C:2095 msgid "align edits" -msgstr "" +msgstr "выровн. располож. объектов" #: cinelerra//mwindowedit.C:2114 msgid "edit length" -msgstr "" +msgstr "длина объекта редактир-я" #: cinelerra//mwindowedit.C:2134 cinelerra//mwindowedit.C:2153 msgid "transition length" -msgstr "" +msgstr "длина перехода" #: cinelerra//mwindowedit.C:2242 msgid "resize track" @@ -5005,27 +5090,27 @@ msgid "" msgstr "%s\n" "Создан из главного окна" -#: cinelerra//mwindowedit.C:2449 +#: cinelerra//mwindowedit.C:2451 msgid "label" msgstr "метка" -#: cinelerra//mwindowedit.C:2465 +#: cinelerra//mwindowedit.C:2467 msgid "trim selection" msgstr "обрезать выбранный участок" -#: cinelerra//mwindowedit.C:2561 +#: cinelerra//mwindowedit.C:2563 msgid "new folder" -msgstr "" +msgstr "новая папка" -#: cinelerra//mwindowedit.C:2598 +#: cinelerra//mwindowedit.C:2600 msgid "map 1:1" msgstr "сопоставить 1:1" -#: cinelerra//mwindowedit.C:2598 +#: cinelerra//mwindowedit.C:2600 msgid "map 5.1:2" msgstr "сопоставить 5.1:2" -#: cinelerra//mwindowedit.C:2675 +#: cinelerra//mwindowedit.C:2677 msgid "cut ads" msgstr "" @@ -5033,17 +5118,17 @@ msgstr "" msgid ": Program" msgstr ": Программа" -#: cinelerra//mwindowgui.C:2402 cinelerra//mwindowgui.C:2413 -#: cinelerra//preferencesthread.C:218 +#: cinelerra//mwindowgui.C:2279 cinelerra//mwindowgui.C:2290 +#: cinelerra//preferencesthread.C:219 msgid "Try FFMpeg first" msgstr "" -#: cinelerra//mwindowgui.C:2402 cinelerra//mwindowgui.C:2413 -#: cinelerra//preferencesthread.C:218 +#: cinelerra//mwindowgui.C:2279 cinelerra//mwindowgui.C:2290 +#: cinelerra//preferencesthread.C:219 msgid "Try FFMpeg last" msgstr "" -#: cinelerra//mwindowgui.C:2415 +#: cinelerra//mwindowgui.C:2292 msgid "Changing the base codecs may require rebuilding indexes." msgstr "" @@ -5125,7 +5210,7 @@ msgstr "Cinelerra: Подтвердить выход" #: cinelerra//mwindow.inc:71 msgid "Cinelerra: Could not set locale.\n" -msgstr "" +msgstr "Cinelerra: Could not set locale.\n" #: cinelerra//mwindow.inc:72 msgid "Cinelerra: Create BD" @@ -5145,7 +5230,7 @@ msgstr "" #: cinelerra//mwindow.inc:76 msgid "Cinelerra: Delete All Indexes" -msgstr "" +msgstr "Cinelerra: Удалить все индекс. файлы" #: cinelerra//mwindow.inc:77 msgid "Cinelerra: Edit Channel" @@ -5153,7 +5238,7 @@ msgstr "Cinelerra: Правка канала" #: cinelerra//mwindow.inc:78 msgid "Cinelerra: Edit length" -msgstr "" +msgstr "Cinelerra: Длина объекта" #: cinelerra//mwindow.inc:79 msgid "Cinelerra: Effect Prompt" @@ -5347,7 +5432,7 @@ msgstr "Cinelerra: Shell" #: cinelerra//mwindow.inc:126 #, c-format msgid "Cinelerra: %s Keyframe" -msgstr "" +msgstr "Cinelerra: %s Ключ. кадр" #: cinelerra//mwindow.inc:127 #, c-format @@ -5408,103 +5493,103 @@ msgstr "Cinelerra: Просмотр" msgid "Cinelerra: Warning" msgstr "Cinelerra: Предупреждение" -#: cinelerra//new.C:231 +#: cinelerra//new.C:230 msgid ": New Project" msgstr ": Новый проект" -#: cinelerra//new.C:263 +#: cinelerra//new.C:262 msgid "Parameters for the new project:" msgstr "Параметры для нового проекта:" -#: cinelerra//new.C:282 cinelerra//new.C:309 +#: cinelerra//new.C:281 cinelerra//new.C:308 msgid "Tracks:" msgstr "Дорожки:" -#: cinelerra//new.C:298 cinelerra//recordgui.C:232 cinelerra//setformat.C:342 +#: cinelerra//new.C:297 cinelerra//recordgui.C:232 cinelerra//setformat.C:342 msgid "Samplerate:" msgstr "Част. дискр.:" -#: cinelerra//new.C:324 cinelerra//recordgui.C:245 +#: cinelerra//new.C:323 cinelerra//recordgui.C:245 msgid "Framerate:" msgstr "Част. кадров:" -#: cinelerra//new.C:350 cinelerra//setformat.C:406 +#: cinelerra//new.C:349 cinelerra//setformat.C:406 msgid "Canvas size:" msgstr "Размер холста (Размер вывода):" -#: cinelerra//new.C:369 cinelerra//scale.C:270 cinelerra//setformat.C:474 +#: cinelerra//new.C:368 cinelerra//scale.C:270 cinelerra//setformat.C:474 msgid "Aspect ratio:" msgstr "Пропорции:" -#: cinelerra//new.C:397 cinelerra//setformat.C:501 +#: cinelerra//new.C:396 cinelerra//setformat.C:501 msgid "Interlace mode:" msgstr "Чересстроч.\n" "режим" -#: cinelerra//new.C:910 +#: cinelerra//new.C:909 msgid "Auto aspect ratio" msgstr "Автоматически" -#: cinelerra//new.C:936 cinelerra//resizetrackthread.C:192 +#: cinelerra//new.C:935 cinelerra//resizetrackthread.C:192 #: cinelerra//setformat.C:924 plugins/photoscale/photoscale.C:198 msgid "Swap dimensions" msgstr "Поменять местами значения" -#: cinelerra//patchgui.C:382 +#: cinelerra//patchgui.C:358 msgid "Play track" msgstr "Разрешить/запретить\n" "воспроизведение и вывод в файл" -#: cinelerra//patchgui.C:407 +#: cinelerra//patchgui.C:383 msgid "play patch" msgstr "'разреш./запрет. воспр-ние ...'" -#: cinelerra//patchgui.C:435 +#: cinelerra//patchgui.C:411 msgid "Arm track" msgstr "Разрешить/запретить правку" -#: cinelerra//patchgui.C:460 +#: cinelerra//patchgui.C:436 msgid "record patch" msgstr "'разреш./запрет. правку'" -#: cinelerra//patchgui.C:487 +#: cinelerra//patchgui.C:463 msgid "Gang faders" msgstr "Связанные регуляторы\n" "громкости/непрозрачности (fade)" -#: cinelerra//patchgui.C:512 +#: cinelerra//patchgui.C:488 msgid "gang patch" msgstr "'вкл./выкл. связан. регуляторы'" -#: cinelerra//patchgui.C:539 +#: cinelerra//patchgui.C:515 msgid "Draw media" msgstr "Включить/выключить показ миниатюр" -#: cinelerra//patchgui.C:564 +#: cinelerra//patchgui.C:540 msgid "draw patch" msgstr "'вкл./выкл. показ миниатюр'" -#: cinelerra//patchgui.C:590 +#: cinelerra//patchgui.C:566 msgid "Don't send to output" msgstr "Включить/выключить глушение" -#: cinelerra//patchgui.C:630 +#: cinelerra//patchgui.C:606 msgid "mute patch" msgstr "'вкл./выкл. глушение'" -#: cinelerra//patchgui.C:697 +#: cinelerra//patchgui.C:652 msgid "expand patch" msgstr "'развернуть/свернуть'" -#: cinelerra//patchgui.C:721 cinelerra//patchgui.C:725 +#: cinelerra//patchgui.C:676 cinelerra//patchgui.C:680 msgid "track title" msgstr "название дорожки" -#: cinelerra//patchgui.C:750 +#: cinelerra//patchgui.C:705 msgid "Nudge" msgstr "Смещение начала" -#: cinelerra//patchgui.C:761 cinelerra//patchgui.C:767 +#: cinelerra//patchgui.C:716 cinelerra//patchgui.C:722 msgid "nudge" msgstr "" @@ -5518,7 +5603,7 @@ msgstr "Секунд предрендеринга:" #: cinelerra//performanceprefs.C:112 cinelerra//performanceprefs.C:117 msgid "(must be root)" -msgstr "" +msgstr "должны быть root" #: cinelerra//performanceprefs.C:134 msgid "Background Rendering (Video only)" @@ -5589,11 +5674,11 @@ msgstr "Принудительно использовать один проце #: cinelerra//performanceprefs.C:525 msgid "trap sigSEGV" -msgstr "" +msgstr "trap sigSEGV" #: cinelerra//performanceprefs.C:541 msgid "trap sigINT" -msgstr "" +msgstr "trap sigINT" #: cinelerra//performanceprefs.C:558 msgid "On file open, ffmpeg probes early" @@ -5699,7 +5784,7 @@ msgstr "Воспроизведение с приоритетом реально #: cinelerra//playbackprefs.C:324 cinelerra//recordprefs.C:308 msgid "Map 5.1->2" -msgstr "" +msgstr "Сопоставить 5.1->2" #: cinelerra//playbackprefs.C:342 msgid "Interpolate CR2 images" @@ -5786,7 +5871,7 @@ msgstr "Общие дорожки:" #: cinelerra//plugindialog.C:761 msgid "Attach single standlone and share others" -msgstr "" +msgstr "Применить как общий на остальные треки." #: cinelerra//pluginfclient.C:146 cinelerra//pluginfclient.C:465 #: cinelerra//pluginfclient.C:494 plugins/bluebanana/bluebananawindow.C:1373 @@ -5869,41 +5954,41 @@ msgstr "Параметры программы" msgid "Shift-P" msgstr "Shift-P" -#: cinelerra//preferencesthread.C:318 +#: cinelerra//preferencesthread.C:319 msgid "*Playback A" msgstr "" -#: cinelerra//preferencesthread.C:318 +#: cinelerra//preferencesthread.C:319 msgid "Playback A" msgstr "" -#: cinelerra//preferencesthread.C:321 +#: cinelerra//preferencesthread.C:322 msgid "*Playback B" msgstr "" -#: cinelerra//preferencesthread.C:321 +#: cinelerra//preferencesthread.C:322 msgid "Playback B" msgstr "" -#: cinelerra//preferencesthread.C:323 +#: cinelerra//preferencesthread.C:324 msgid "Recording" msgstr "Запись" -#: cinelerra//preferencesthread.C:325 +#: cinelerra//preferencesthread.C:326 msgid "Performance" msgstr "Производительность" -#: cinelerra//preferencesthread.C:327 +#: cinelerra//preferencesthread.C:328 msgid "Interface" msgstr "Интерфейс" -#: cinelerra//preferencesthread.C:329 +#: cinelerra//preferencesthread.C:330 msgid "About" msgstr "О программе" -#: cinelerra//preferencesthread.C:362 +#: cinelerra//preferencesthread.C:363 msgid ": Preferences" -msgstr "" +msgstr ": Параметры" #: cinelerra//question.C:33 msgid ": Question" @@ -5927,7 +6012,7 @@ msgstr "Сохранить список редактирования перед #: cinelerra//recconfirmdelete.C:34 msgid ": Confirm" -msgstr "" +msgstr ": Подтверждение" #: cinelerra//recconfirmdelete.C:49 #, c-format @@ -6000,7 +6085,7 @@ msgstr "Зациклить" #: cinelerra//recordgui.C:62 msgid ": Recording" -msgstr "" +msgstr ": Запись" #: cinelerra//recordgui.C:159 msgid "Start time:" @@ -6016,7 +6101,7 @@ msgstr "Управление:" #: cinelerra//recordgui.C:189 msgid ": Record path" -msgstr "" +msgstr ": Запись в файл" #: cinelerra//recordgui.C:190 cinelerra//recordwindow.C:57 msgid "Select a file to record to:" @@ -6156,12 +6241,12 @@ msgstr "Перемотать пакет и переписать ?" msgid ": Video in" msgstr "" -#: cinelerra//recordmonitor.C:639 +#: cinelerra//recordmonitor.C:645 #, c-format msgid ": Video in %d%%" msgstr "" -#: cinelerra//recordmonitor.C:709 cinelerra//vdeviceprefs.C:285 +#: cinelerra//recordmonitor.C:715 cinelerra//vdeviceprefs.C:285 msgid "Swap fields" msgstr "Поменять местами поля" @@ -6219,7 +6304,7 @@ msgstr "Запись с приоритетом реальн. времени (т #: cinelerra//recordprefs.C:334 msgid "Realtime TOC" -msgstr "" +msgstr "Создавать TOC в режиме реального времени" #: cinelerra//recordprefs.C:494 msgid "Presentation Timestamps" @@ -6522,7 +6607,7 @@ msgstr "Сохранить проект" #: cinelerra//savefile.C:113 cinelerra//savefile.C:220 #, c-format msgid "\"%s\" %dC written" -msgstr "" +msgstr "\"%s\" %dC записан" #: cinelerra//savefile.C:133 msgid "Save as..." @@ -6625,7 +6710,7 @@ msgstr "%d градусов" #: cinelerra//shbtnprefs.C:90 msgid ": Shell" -msgstr "" +msgstr " Shell" #: cinelerra//shbtnprefs.C:112 plugins/overlayaudio/overlayaudio.C:174 #: plugins/piano/piano.C:820 plugins/synthesizer/synthesizer.C:1356 @@ -6772,31 +6857,31 @@ msgstr "Где расположен %s?" #: cinelerra//timeentry.C:51 msgid "Sun" -msgstr "" +msgstr "Вскр." #: cinelerra//timeentry.C:51 msgid "Mon" -msgstr "" +msgstr "Пнд." #: cinelerra//timeentry.C:51 msgid "Tue" -msgstr "" +msgstr "Втрн." #: cinelerra//timeentry.C:51 msgid "Wed" -msgstr "" +msgstr "Срд." #: cinelerra//timeentry.C:51 msgid "Thu" -msgstr "" +msgstr "Чтв." #: cinelerra//timeentry.C:51 msgid "Fri" -msgstr "" +msgstr "Птн." #: cinelerra//timeentry.C:51 msgid "Sat" -msgstr "" +msgstr "Суб." #: cinelerra//tipwindow.C:37 msgid "Shift-click on a curve keyframe to snap it to the neighboring values." @@ -6887,8 +6972,8 @@ msgstr "Аудио -> Сопоставить 1:1 сопоставляет каж msgid "" "Alt + left moves to the previous edit handle.\n" "Alt + right moves to the next edit handle.\n" -msgstr "Alt + стрелка вправо - переход курсора влево к границе редактирования.\n" -"Alt + стрелка влево - переход курсора вправо к границе редактирования.\n" +msgstr "Alt + стрелка вправо - переход курсора вправо к границе редактирования.\n" +"Alt + стрелка влево - переход курсора влево к границе редактирования.\n" #: cinelerra//tipwindow.C:74 msgid "" @@ -6912,7 +6997,7 @@ msgstr "След. совет." msgid "Previous tip" msgstr "Предыд. совет." -#: cinelerra//trackcanvas.C:4208 +#: cinelerra//trackcanvas.C:4193 msgid "keyframe" msgstr "ключевой кадр" @@ -6969,7 +7054,7 @@ msgstr "Канал выхода:" #: cinelerra//vdeviceprefs.C:433 msgid "Fields:" -msgstr "" +msgstr "Поля:" #: cinelerra//vdeviceprefs.C:463 msgid "Display:" @@ -7005,7 +7090,7 @@ msgstr "Ланцоша / Ланцоша" #: cinelerra//videowindowgui.C:35 msgid ": Video out" -msgstr "" +msgstr ": Настройки видео (выход)" #: cinelerra//viewmenu.C:36 msgid "Show assets" @@ -7023,104 +7108,104 @@ msgstr "Показывать переходы" msgid "Plugin Autos" msgstr "Автоматизация" -#: cinelerra//vpatchgui.C:294 cinelerra//vpatchgui.C:299 +#: cinelerra//vpatchgui.C:316 cinelerra//vpatchgui.C:321 msgid "mode" msgstr "режим" -#: cinelerra//vpatchgui.C:345 cinelerra//vpatchgui.C:369 +#: cinelerra//vpatchgui.C:353 cinelerra//vpatchgui.C:377 #: plugins/overlay/overlay.C:153 plugins/overlay/overlay.C:178 msgid "Normal" msgstr "Нормальный" -#: cinelerra//vpatchgui.C:346 plugins/overlay/overlay.C:154 +#: cinelerra//vpatchgui.C:354 plugins/overlay/overlay.C:154 msgid "Addition" msgstr "Добавление" -#: cinelerra//vpatchgui.C:347 plugins/overlay/overlay.C:155 +#: cinelerra//vpatchgui.C:355 plugins/overlay/overlay.C:155 msgid "Subtract" msgstr "Вычитание" -#: cinelerra//vpatchgui.C:348 plugins/overlay/overlay.C:156 +#: cinelerra//vpatchgui.C:356 plugins/overlay/overlay.C:156 #: plugins/overlayaudio/overlayaudio.C:175 msgid "Multiply" msgstr "Умножение" -#: cinelerra//vpatchgui.C:349 plugins/overlay/overlay.C:157 +#: cinelerra//vpatchgui.C:357 plugins/overlay/overlay.C:157 msgid "Divide" msgstr "Деление" -#: cinelerra//vpatchgui.C:350 plugins/overlay/overlay.C:158 +#: cinelerra//vpatchgui.C:358 plugins/overlay/overlay.C:158 #: plugins/timeavg/timeavgwindow.C:247 msgid "Replace" msgstr "Замещение" -#: cinelerra//vpatchgui.C:351 plugins/overlay/overlay.C:159 +#: cinelerra//vpatchgui.C:359 plugins/overlay/overlay.C:159 msgid "Max" msgstr "Максимум" -#: cinelerra//vpatchgui.C:352 plugins/cdripper/cdripwindow.C:44 +#: cinelerra//vpatchgui.C:360 plugins/cdripper/cdripwindow.C:44 #: plugins/cdripper/cdripwindow.C:48 plugins/overlay/overlay.C:160 msgid "Min" msgstr "Мин." -#: cinelerra//vpatchgui.C:353 plugins/denoiseseltempavg/seltempavgwindow.C:87 +#: cinelerra//vpatchgui.C:361 plugins/denoiseseltempavg/seltempavgwindow.C:87 #: plugins/overlay/overlay.C:161 plugins/timeavg/timeavgwindow.C:208 msgid "Average" msgstr "Усреднение (Avg)" -#: cinelerra//vpatchgui.C:354 plugins/overlay/overlay.C:162 +#: cinelerra//vpatchgui.C:362 plugins/overlay/overlay.C:162 msgid "Darken" msgstr "" -#: cinelerra//vpatchgui.C:355 plugins/overlay/overlay.C:163 +#: cinelerra//vpatchgui.C:363 plugins/overlay/overlay.C:163 msgid "Lighten" msgstr "" -#: cinelerra//vpatchgui.C:356 plugins/overlay/overlay.C:164 +#: cinelerra//vpatchgui.C:364 plugins/overlay/overlay.C:164 msgid "Dst" msgstr "" -#: cinelerra//vpatchgui.C:357 plugins/overlay/overlay.C:165 +#: cinelerra//vpatchgui.C:365 plugins/overlay/overlay.C:165 msgid "DstAtop" msgstr "" -#: cinelerra//vpatchgui.C:358 plugins/overlay/overlay.C:166 +#: cinelerra//vpatchgui.C:366 plugins/overlay/overlay.C:166 msgid "DstIn" msgstr "" -#: cinelerra//vpatchgui.C:359 plugins/overlay/overlay.C:167 +#: cinelerra//vpatchgui.C:367 plugins/overlay/overlay.C:167 msgid "DstOut" msgstr "" -#: cinelerra//vpatchgui.C:360 plugins/overlay/overlay.C:168 +#: cinelerra//vpatchgui.C:368 plugins/overlay/overlay.C:168 msgid "DstOver" msgstr "" -#: cinelerra//vpatchgui.C:361 plugins/overlay/overlay.C:169 +#: cinelerra//vpatchgui.C:369 plugins/overlay/overlay.C:169 msgid "Src" msgstr "" -#: cinelerra//vpatchgui.C:362 plugins/overlay/overlay.C:170 +#: cinelerra//vpatchgui.C:370 plugins/overlay/overlay.C:170 msgid "SrcAtop" msgstr "" -#: cinelerra//vpatchgui.C:363 plugins/overlay/overlay.C:171 +#: cinelerra//vpatchgui.C:371 plugins/overlay/overlay.C:171 msgid "SrcIn" msgstr "" -#: cinelerra//vpatchgui.C:364 plugins/overlay/overlay.C:172 +#: cinelerra//vpatchgui.C:372 plugins/overlay/overlay.C:172 msgid "SrcOut" msgstr "" -#: cinelerra//vpatchgui.C:365 plugins/overlay/overlay.C:173 +#: cinelerra//vpatchgui.C:373 plugins/overlay/overlay.C:173 msgid "SrcOver" msgstr "" -#: cinelerra//vpatchgui.C:366 plugins/overlay/overlay.C:174 +#: cinelerra//vpatchgui.C:374 plugins/overlay/overlay.C:174 msgid "Or" msgstr "" -#: cinelerra//vpatchgui.C:367 plugins/overlay/overlay.C:175 +#: cinelerra//vpatchgui.C:375 plugins/overlay/overlay.C:175 msgid "Xor" msgstr "" @@ -7613,6 +7698,7 @@ msgstr "Спад:" #: plugins/diffkey/diffkey.C:293 plugins/histogram/histogramwindow.C:260 #: plugins/histogram_bezier/bistogramwindow.C:184 #: plugins/timeavg/timeavgwindow.C:71 plugins/unsharp/unsharpwindow.C:63 +#: plugins/yuv411/yuv411win.C:39 msgid "Threshold:" msgstr "Порог:" @@ -8669,7 +8755,7 @@ msgstr "Растягивание" #: plugins/lens/lens.C:494 msgid "R Field of View:" -msgstr "Поле зрения в канале R (крас.)" +msgstr "Поле зрения в канале R (красн.)" #: plugins/lens/lens.C:495 msgid "G Field of View:" @@ -9482,11 +9568,13 @@ msgstr "Вход. Высота:" msgid "Out R:" msgstr "" -#: plugins/scaleratio/scaleratiowin.C:70 plugins/translate/translatewin.C:98 +#: plugins/scaleratio/scaleratiowin.C:70 plugins/svg/svgwin.C:63 +#: plugins/translate/translatewin.C:98 msgid "Out W:" msgstr "Вых. Ширина:" -#: plugins/scaleratio/scaleratiowin.C:75 plugins/translate/translatewin.C:104 +#: plugins/scaleratio/scaleratiowin.C:75 plugins/svg/svgwin.C:72 +#: plugins/translate/translatewin.C:104 msgid "Out H:" msgstr "Вых. Высота:" @@ -9607,74 +9695,82 @@ msgstr "" msgid "Spectrogram" msgstr "Анализ спектра" -#: plugins/svg/svg.C:120 +#: plugins/svg/svg.C:100 msgid "SVG via Inkscape" msgstr "SVG через Inkscape" -#: plugins/svg/svg.C:211 +#: plugins/svg/svg.C:185 #, c-format msgid "Running command %s\n" msgstr "Запуск команды %s\n" -#: plugins/svg/svg.C:216 +#: plugins/svg/svg.C:190 #, c-format msgid "Export of %s to %s failed\n" msgstr "Экспорт %s в %s не удался\n" -#: plugins/svg/svg.C:244 +#: plugins/svg/svg.C:209 #, c-format msgid "The file %s that was generated from %s is not in PNG format. Try to delete all *.png files.\n" msgstr "" -#: plugins/svg/svg.C:249 +#: plugins/svg/svg.C:214 #, c-format msgid "Access mmap to %s as %s failed.\n" msgstr "" -#: plugins/svg/svgwin.C:83 plugins/translate/translatewin.C:86 +#: plugins/svg/svgwin.C:58 plugins/translate/translatewin.C:86 msgid "Out X:" msgstr "Вывод по X:" -#: plugins/svg/svgwin.C:89 plugins/translate/translatewin.C:92 +#: plugins/svg/svgwin.C:69 plugins/translate/translatewin.C:92 msgid "Out Y:" msgstr "Вывод по Y:" -#: plugins/svg/svgwin.C:155 +#: plugins/svg/svgwin.C:77 +msgid "DPI:" +msgstr "DPI:" + +#: plugins/svg/svgwin.C:170 msgid "New/Open SVG..." msgstr "Новый/Откр.SVG" -#: plugins/svg/svgwin.C:295 -msgid "Error while creating fifo file" -msgstr "" - -#: plugins/svg/svgwin.C:308 +#: plugins/svg/svgwin.C:335 #, c-format msgid "Inkscape has exited\n" msgstr "Inkscape завершил работу\n" -#: plugins/svg/svgwin.C:310 +#: plugins/svg/svgwin.C:337 #, c-format msgid "Plugin window has closed\n" msgstr "Плагин закрыл окно\n" #: plugins/svg/svgwin.C:344 +msgid "Error opening fifo file" +msgstr "Ошибка при открытии файла fifo" + +#: plugins/svg/svgwin.C:373 #, c-format msgid "Running external SVG editor: %s\n" msgstr "Запуск внешнего SVG-редактора: %s\n" -#: plugins/svg/svgwin.C:348 +#: plugins/svg/svgwin.C:377 #, c-format msgid "External SVG editor finished\n" msgstr "Внешний SVG-редактор завершил работу\n" -#: plugins/svg/svgwin.C:364 +#: plugins/svg/svgwin.C:393 msgid "SVG Plugin: Pick SVG file" msgstr "SVG-плагин: Выбор SVG-файла" -#: plugins/svg/svgwin.C:365 +#: plugins/svg/svgwin.C:394 msgid "Open an existing SVG file or create a new one" msgstr "Откройте существующий SVG-файл или создайте новый" +#: plugins/svg/svgwin.C:423 +msgid "update dpi" +msgstr "обновить dpi" + #: plugins/swapchannels/swapchannels.C:102 #: plugins/swapchannels/swapchannels.C:211 msgid "Swap channels" @@ -9877,8 +9973,7 @@ msgstr "Ошибка: TimeFront plugin - Используется прозрач #: plugins/timefront/timefront.C:899 #, c-format msgid "TimeFront plugin error: ALPHA track used, but project color model does not have alpha\n" -msgstr "Ошибка: TimeFront plugin - Используются альфа - маска и трек как карта " -"смещения,\n" +msgstr "Ошибка: TimeFront plugin - Используются альфа - маска и трек как карта смещения,\n" "но цветовая модель проекта не имеет альфа - канала.\n" #: plugins/timefront/timefront.C:906 @@ -10091,6 +10186,34 @@ msgstr "V:" msgid "YUV" msgstr "YUV" +#: plugins/yuv411/yuv411.C:73 +msgid "YUV411" +msgstr "YUV411" + +#: plugins/yuv411/yuv411win.C:20 +msgid "Vertical average" +msgstr "" + +#: plugins/yuv411/yuv411win.C:26 +msgid "Horizontal interpolate" +msgstr "" + +#: plugins/yuv411/yuv411win.C:32 +msgid "Inpainting method" +msgstr "" + +#: plugins/yuv411/yuv411win.C:36 +msgid "Offset:" +msgstr "" + +#: plugins/yuv411/yuv411win.C:42 +msgid "Bias:" +msgstr "" + +#: plugins/yuv411/yuv411win.C:48 +msgid "Warning: colormodel not YUV" +msgstr "Предупреждение: цвет. модель не YUV" + #: plugins/yuvshift/yuvshift.C:171 msgid "Y_dx:" msgstr "Y_dx:" @@ -10134,46 +10257,3 @@ msgstr "Увеличение" #: plugins/zoomblur/zoomblur.C:402 msgid "Zoom Blur" msgstr "Размытие масштабом" - -msgid "Audio Effects" -msgstr "Аудио эффектов" -msgid "Video Effects" -msgstr "Видео эффектов" -msgid "Audio Transitions" -msgstr "Аудио Переходы" -msgid "Video Transitions" -msgstr "Видео Переходы" -msgid "Labels" -msgstr "Метки" -msgid "Clips" -msgstr "Клипсы" -msgid "Media" -msgstr "мультимедиа" - -msgid "Flags" -msgstr "флажки" - -msgid "Show Plugin Settings" -msgstr "Показать Плагина настройки " - -msgid "speed" -msgstr "скорость " - -msgid "XML file %s\n" -msgstr "XML файла %s\n" - -msgid "Unknown %s" -msgstr "Неизвестно %s" - -msgid "Vertical average" -msgstr "Вертикальное усредняем" -msgid "Horizontal interpolate" -msgstr "Горизонтальное интерполировать" - -msgid "Offset:" -msgstr "Смещение:" -msgid "Bias:" -msgstr "Смещение:" -msgid "Warning: colormodel not YUV" -msgstr "Предупреждение: colormodel not YUV" - -- 2.26.2