summaryrefslogtreecommitdiff
path: root/mnv/src/testdir/samples
diff options
context:
space:
mode:
Diffstat (limited to 'mnv/src/testdir/samples')
-rw-r--r--mnv/src/testdir/samples/Test_tohtml_basic.c.html48
-rw-r--r--mnv/src/testdir/samples/Test_tohtml_basic_no_css.c.html40
-rw-r--r--mnv/src/testdir/samples/box.txt601
-rw-r--r--mnv/src/testdir/samples/buffer-test.txt1
-rw-r--r--mnv/src/testdir/samples/crypt_sodium_invalid.txtbin0 -> 16504 bytes
-rw-r--r--mnv/src/testdir/samples/crypt_utf8_test.txtbin0 -> 29155 bytes
-rw-r--r--mnv/src/testdir/samples/evil.tarbin0 -> 10240 bytes
-rw-r--r--mnv/src/testdir/samples/evil.zipbin0 -> 413 bytes
-rw-r--r--mnv/src/testdir/samples/matchparen.mnv234
-rw-r--r--mnv/src/testdir/samples/poc.zipbin0 -> 306 bytes
-rw-r--r--mnv/src/testdir/samples/quickfix.txt4
-rw-r--r--mnv/src/testdir/samples/re.freeze.txt6
-rw-r--r--mnv/src/testdir/samples/recover-crash1.swpbin0 -> 9765 bytes
-rw-r--r--mnv/src/testdir/samples/recover-crash2.swpbin0 -> 9682 bytes
-rw-r--r--mnv/src/testdir/samples/sample.tarbin0 -> 10240 bytes
-rw-r--r--mnv/src/testdir/samples/terminal_max_combining_chars.txt80
-rw-r--r--mnv/src/testdir/samples/test.zipbin0 -> 464 bytes
-rw-r--r--mnv/src/testdir/samples/test000bin0 -> 8 bytes
-rw-r--r--mnv/src/testdir/samples/test_undo.txt3
-rw-r--r--mnv/src/testdir/samples/test_undo.txt.undobin0 -> 1405 bytes
-rw-r--r--mnv/src/testdir/samples/testa.zipbin0 -> 1236 bytes
-rw-r--r--mnv/src/testdir/samples/uncrypt_utf8_test.txt176
-rw-r--r--mnv/src/testdir/samples/visual_block_hl.txt8
23 files changed, 1201 insertions, 0 deletions
diff --git a/mnv/src/testdir/samples/Test_tohtml_basic.c.html b/mnv/src/testdir/samples/Test_tohtml_basic.c.html
new file mode 100644
index 0000000000..4f06518240
--- /dev/null
+++ b/mnv/src/testdir/samples/Test_tohtml_basic.c.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<title>/home/jiangyinzuo/mnv/src/testdir/Test_tohtml_basic.c.html</title>
+<meta name="Generator" content="MNV/10.0">
+<meta name="plugin-version" content="mnv9.0_v2">
+<meta name="syntax" content="none">
+<meta name="settings" content="use_css,no_foldcolumn,pre_wrap,prevent_copy=,use_input_for_pc=none">
+<meta name="colorscheme" content="none">
+<style>
+<!--
+pre { white-space: pre-wrap; font-family: monospace; color: #000000; background-color: #ffffff; }
+body { font-family: monospace; color: #000000; background-color: #ffffff; }
+* { font-size: 1em; }
+a { color: inherit; }
+-->
+</style>
+</head>
+<body>
+<pre id='mnvCodeElement'>
+#include &lt;stdio.h&gt;
+#include &lt;stdlib.h&gt;
+
+int isprime(int n)
+{
+ if (n &lt;= 1)
+ return 0;
+
+ for (int i = 2; i &lt;= n / 2; i++)
+ if (n % i == 0)
+ return 0;
+
+ return 1;
+}
+
+int main(int argc, char *argv[])
+{
+ int n = 7;
+
+ printf(&quot;%d is %s prime\n&quot;, n, isprime(n) ? &quot;a&quot; : &quot;not a&quot;);
+
+ return 0;
+}
+</pre>
+</body>
+</html>
+<!-- mnv: set foldmethod=manual : -->
diff --git a/mnv/src/testdir/samples/Test_tohtml_basic_no_css.c.html b/mnv/src/testdir/samples/Test_tohtml_basic_no_css.c.html
new file mode 100644
index 0000000000..75af36e313
--- /dev/null
+++ b/mnv/src/testdir/samples/Test_tohtml_basic_no_css.c.html
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<title>/home/jiangyinzuo/mnv/src/testdir/Test_tohtml_basic_no_css.c.html</title>
+<meta name="Generator" content="MNV/10.0">
+<meta name="plugin-version" content="mnv9.0_v2">
+<meta name="syntax" content="none">
+<meta name="settings" content="no_pre,no_foldcolumn,expand_tabs,prevent_copy=,use_input_for_pc=none">
+<meta name="colorscheme" content="none">
+</head>
+<body bgcolor="#ffffff" text="#000000">
+<font face="monospace">
+#include &lt;stdio.h&gt;<br>
+#include &lt;stdlib.h&gt;<br>
+<br>
+int isprime(int n)<br>
+{<br>
+&nbsp;&nbsp;if (n &lt;= 1)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br>
+<br>
+&nbsp;&nbsp;for (int i = 2; i &lt;= n / 2; i++)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;if (n % i == 0)<br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br>
+<br>
+&nbsp;&nbsp;return 1;<br>
+}<br>
+<br>
+int main(int argc, char *argv[])<br>
+{<br>
+&nbsp;&nbsp;int n = 7;<br>
+<br>
+&nbsp;&nbsp;printf(&quot;%d is %s prime\n&quot;, n, isprime(n) ? &quot;a&quot; : &quot;not a&quot;);<br>
+<br>
+&nbsp;&nbsp;return 0;<br>
+}<br>
+</font>
+</body>
+</html>
+<!-- mnv: set foldmethod=manual : -->
diff --git a/mnv/src/testdir/samples/box.txt b/mnv/src/testdir/samples/box.txt
new file mode 100644
index 0000000000..21c7d4f3d5
--- /dev/null
+++ b/mnv/src/testdir/samples/box.txt
@@ -0,0 +1,601 @@
+void BackgroundBox::prepare() {
+ setTitle(tr::lng_backgrounds_header());
+
+ addButton(tr::lng_close(), [=] { closeBox(); });
+
+ setDimensions(st::boxWideWidth, st::boxMaxListHeight);
+
+ auto wrap = object_ptr<Ui::VerticalLayout>(this);
+ const auto container = wrap.data();
+
+ Settings::AddSkip(container);
+
+ const auto button = container->add(Settings::CreateButton(
+ container,
+ tr::lng_settings_bg_from_file(),
+ st::infoProfileButton));
+ object_ptr<Info::Profile::FloatingIcon>(
+ button,
+ st::infoIconMediaPhoto,
+ st::infoSharedMediaButtonIconPosition);
+
+ button->setClickedCallback([=] {
+ chooseFromFile();
+ });
+
+ Settings::AddSkip(container);
+ Settings::AddDivider(container);
+
+ _inner = container->add(
+ object_ptr<Inner>(this, &_controller->session(), _forPeer));
+
+ container->resizeToWidth(st::boxWideWidth);
+
+ setInnerWidget(std::move(wrap), st::backgroundScroll);
+ setInnerTopSkip(st::lineWidth);
+
+ _inner->chooseEvents(
+ ) | rpl::start_with_next([=](const Data::WallPaper &paper) {
+ chosen(paper);
+ }, _inner->lifetime());
+
+ _inner->removeRequests(
+ ) | rpl::start_with_next([=](const Data::WallPaper &paper) {
+ removePaper(paper);
+ }, _inner->lifetime());
+}
+
+void BackgroundBox::chooseFromFile() {
+ const auto filterStart = _forPeer
+ ? u"Image files (*"_q
+ : u"Theme files (*.tdesktop-theme *.tdesktop-palette *"_q;
+ auto filters = QStringList(
+ filterStart
+ + Ui::ImageExtensions().join(u" *"_q)
+ + u")"_q);
+ filters.push_back(FileDialog::AllFilesFilter());
+ const auto callback = [=](const FileDialog::OpenResult &result) {
+ if (result.paths.isEmpty() && result.remoteContent.isEmpty()) {
+ return;
+ }
+
+ if (!_forPeer && !result.paths.isEmpty()) {
+ const auto filePath = result.paths.front();
+ const auto hasExtension = [&](QLatin1String extension) {
+ return filePath.endsWith(extension, Qt::CaseInsensitive);
+ };
+ if (hasExtension(qstr(".tdesktop-theme"))
+ || hasExtension(qstr(".tdesktop-palette"))) {
+ Window::Theme::Apply(filePath);
+ return;
+ }
+ }
+
+ auto image = Images::Read({
+ .path = result.paths.isEmpty() ? QString() : result.paths.front(),
+ .content = result.remoteContent,
+ .forceOpaque = true,
+ }).image;
+ if (image.isNull() || image.width() <= 0 || image.height() <= 0) {
+ return;
+ }
+ auto local = Data::CustomWallPaper();
+ local.setLocalImageAsThumbnail(std::make_shared<Image>(
+ std::move(image)));
+ _controller->show(Box<BackgroundPreviewBox>(
+ _controller,
+ local,
+ BackgroundPreviewArgs{ _forPeer }));
+ };
+ FileDialog::GetOpenPath(
+ this,
+ tr::lng_choose_image(tr::now),
+ filters.join(u";;"_q),
+ crl::guard(this, callback));
+}
+
+bool BackgroundBox::hasDefaultForPeer() const {
+ Expects(_forPeer != nullptr);
+
+ const auto paper = _forPeer->wallPaper();
+ if (!paper) {
+ return true;
+ }
+ const auto reset = _inner->resolveResetCustomPaper();
+ Assert(reset.has_value());
+ return (paper->id() == reset->id());
+}
+
+bool BackgroundBox::chosenDefaultForPeer(
+ const Data::WallPaper &paper) const {
+ if (!_forPeer) {
+ return false;
+ }
+
+ const auto reset = _inner->resolveResetCustomPaper();
+ Assert(reset.has_value());
+ return (paper.id() == reset->id());
+}
+
+void BackgroundBox::chosen(const Data::WallPaper &paper) {
+ if (chosenDefaultForPeer(paper)) {
+ if (!hasDefaultForPeer()) {
+ const auto reset = crl::guard(this, [=](Fn<void()> close) {
+ resetForPeer();
+ close();
+ });
+ _controller->show(Ui::MakeConfirmBox({
+ .text = tr::lng_background_sure_reset_default(),
+ .confirmed = reset,
+ .confirmText = tr::lng_background_reset_default(),
+ }));
+ } else {
+ closeBox();
+ }
+ return;
+ }
+ _controller->show(Box<BackgroundPreviewBox>(
+ _controller,
+ paper,
+ BackgroundPreviewArgs{ _forPeer }));
+}
+
+void BackgroundBox::resetForPeer() {
+ const auto api = &_controller->session().api();
+ api->request(MTPmessages_SetChatWallPaper(
+ MTP_flags(0),
+ _forPeer->input,
+ MTPInputWallPaper(),
+ MTPWallPaperSettings(),
+ MTPint()
+ )).done([=](const MTPUpdates &result) {
+ api->applyUpdates(result);
+ }).send();
+
+ const auto weak = Ui::MakeWeak(this);
+ _forPeer->setWallPaper(std::nullopt);
+ if (weak) {
+ _controller->finishChatThemeEdit(_forPeer);
+ }
+}
+
+void BackgroundBox::removePaper(const Data::WallPaper &paper) {
+ const auto session = &_controller->session();
+ const auto remove = [=, weak = Ui::MakeWeak(this)](Fn<void()> &&close) {
+ close();
+ if (weak) {
+ weak->_inner->removePaper(paper);
+ }
+ session->data().removeWallpaper(paper);
+ session->api().request(MTPaccount_SaveWallPaper(
+ paper.mtpInput(session),
+ MTP_bool(true),
+ paper.mtpSettings()
+ )).send();
+ };
+ _controller->show(Ui::MakeConfirmBox({
+ .text = tr::lng_background_sure_delete(),
+ .confirmed = remove,
+ .confirmText = tr::lng_selected_delete(),
+ }));
+}
+
+BackgroundBox::Inner::Inner(
+ QWidget *parent,
+ not_null<Main::Session*> session,
+ PeerData *forPeer)
+: RpWidget(parent)
+, _session(session)
+, _forPeer(forPeer)
+, _api(&_session->mtp())
+, _check(std::make_unique<Ui::RoundCheckbox>(st::overviewCheck, [=] { update(); })) {
+ _check->setChecked(true, anim::type::instant);
+ resize(st::boxWideWidth, 2 * (st::backgroundSize.height() + st::backgroundPadding) + st::backgroundPadding);
+ Window::Theme::IsNightModeValue(
+ ) | rpl::start_with_next([=] {
+ updatePapers();
+ }, lifetime());
+ requestPapers();
+
+ _session->downloaderTaskFinished(
+ ) | rpl::start_with_next([=] {
+ update();
+ }, lifetime());
+
+ style::PaletteChanged(
+ ) | rpl::start_with_next([=] {
+ _check->invalidateCache();
+ }, lifetime());
+
+ using Update = Window::Theme::BackgroundUpdate;
+ Window::Theme::Background()->updates(
+ ) | rpl::start_with_next([=](const Update &update) {
+ if (update.type == Update::Type::New) {
+ sortPapers();
+ requestPapers();
+ this->update();
+ }
+ }, lifetime());
+
+
+ setMouseTracking(true);
+}
+
+void BackgroundBox::Inner::requestPapers() {
+ _api.request(MTPaccount_GetWallPapers(
+ MTP_long(_session->data().wallpapersHash())
+ )).done([=](const MTPaccount_WallPapers &result) {
+ if (_session->data().updateWallpapers(result)) {
+ updatePapers();
+ }
+ }).send();
+}
+
+auto BackgroundBox::Inner::resolveResetCustomPaper() const
+-> std::optional<Data::WallPaper> {
+ if (!_forPeer) {
+ return {};
+ }
+ const auto nonCustom = Window::Theme::Background()->paper();
+ const auto themeEmoji = _forPeer->themeEmoji();
+ if (themeEmoji.isEmpty()) {
+ return nonCustom;
+ }
+ const auto &themes = _forPeer->owner().cloudThemes();
+ const auto theme = themes.themeForEmoji(themeEmoji);
+ if (!theme) {
+ return nonCustom;
+ }
+ using Type = Data::CloudTheme::Type; XXXXX
+ const auto dark = Window::Theme::IsNightMode();
+ const auto i = theme->settings.find(dark ? Type::Dark : Type::Light);
+ if (i != end(theme->settings) && i->second.paper) {
+ return *i->second.paper;
+ }
+ return nonCustom;
+}
+
+void BackgroundBox::Inner::pushCustomPapers() {
+ auto customId = uint64();
+ if (const auto custom = _forPeer ? _forPeer->wallPaper() : nullptr) {
+ customId = custom->id();
+ const auto j = ranges::find(
+ _papers,
+ custom->id(),
+ [](const Paper &paper) { return paper.data.id(); });
+ if (j != end(_papers)) {
+ j->data = j->data.withParamsFrom(*custom);
+ } else {
+ _papers.insert(begin(_papers), Paper{ *custom });
+ }
+ }
+ if (const auto reset = resolveResetCustomPaper()) {
+ _insertedResetId = reset->id();
+ const auto j = ranges::find(
+ _papers,
+ _insertedResetId,
+ [](const Paper &paper) { return paper.data.id(); });
+ if (j != end(_papers)) {
+ if (_insertedResetId != customId) {
+ j->data = j->data.withParamsFrom(*reset);
+ }
+ } else {
+ _papers.insert(begin(_papers), Paper{ *reset });
+ }
+ }
+}
+
+void BackgroundBox::Inner::sortPapers() {
+ const auto currentCustom = _forPeer ? _forPeer->wallPaper() : nullptr;
+ _currentId = currentCustom
+ ? currentCustom->id()
+ : _insertedResetId
+ ? _insertedResetId
+ : Window::Theme::Background()->id();
+ const auto dark = Window::Theme::IsNightMode();
+ ranges::stable_sort(_papers, std::greater<>(), [&](const Paper &paper) {
+ const auto &data = paper.data;
+ return std::make_tuple(
+ _insertedResetId && (_insertedResetId == data.id()),
+ data.id() == _currentId,
+ dark ? data.isDark() : !data.isDark(),
+ Data::IsDefaultWallPaper(data),
+ !data.isDefault() && !Data::IsLegacy1DefaultWallPaper(data),
+ Data::IsLegacy3DefaultWallPaper(data),
+ Data::IsLegacy2DefaultWallPaper(data),
+ Data::IsLegacy1DefaultWallPaper(data));
+ });
+ if (!_papers.empty()
+ && _papers.front().data.id() == _currentId
+ && !currentCustom
+ && !_insertedResetId) {
+ _papers.front().data = _papers.front().data.withParamsFrom(
+ Window::Theme::Background()->paper());
+ }
+}
+
+void BackgroundBox::Inner::updatePapers() {
+ if (_session->data().wallpapers().empty()) {
+ return;
+ }
+ _over = _overDown = Selection();
+
+ _papers = _session->data().wallpapers(
+ ) | ranges::views::filter([&](const Data::WallPaper &paper) {
+ return (!paper.isPattern() || !paper.backgroundColors().empty())
+ && (!_forPeer
+ || (!Data::IsDefaultWallPaper(paper)
+ && (Data::IsCloudWallPaper(paper)
+ || Data::IsCustomWallPaper(paper))));
+ }) | ranges::views::transform([](const Data::WallPaper &paper) {
+ return Paper{ paper };
+ }) | ranges::to_vector;
+ pushCustomPapers();
+ sortPapers();
+ resizeToContentAndPreload();
+}
+
+void BackgroundBox::Inner::resizeToContentAndPreload() {
+ const auto count = _papers.size();
+ const auto rows = (count / kBackgroundsInRow)
+ + (count % kBackgroundsInRow ? 1 : 0);
+
+ resize(
+ st::boxWideWidth,
+ (rows * (st::backgroundSize.height() + st::backgroundPadding)
+ + st::backgroundPadding));
+
+ const auto preload = kBackgroundsInRow * 3;
+ for (const auto &paper : _papers | ranges::views::take(preload)) {
+ if (!paper.data.localThumbnail() && !paper.dataMedia) {
+ if (const auto document = paper.data.document()) {
+ paper.dataMedia = document->createMediaView();
+ paper.dataMedia->thumbnailWanted(paper.data.fileOrigin());
+ }
+ }
+ }
+ update();
+}
+
+void BackgroundBox::Inner::paintEvent(QPaintEvent *e) {
+ QRect r(e->rect());
+ auto p = QPainter(this);
+
+ if (_papers.empty()) {
+ p.setFont(st::noContactsFont);
+ p.setPen(st::noContactsColor);
+ p.drawText(QRect(0, 0, width(), st::noContactsHeight), tr::lng_contacts_loading(tr::now), style::al_center);
+ return;
+ }
+ auto row = 0;
+ auto column = 0;
+ for (const auto &paper : _papers) {
+ const auto increment = gsl::finally([&] {
+ ++column;
+ if (column == kBackgroundsInRow) {
+ column = 0;
+ ++row;
+ }
+ });
+ if ((st::backgroundSize.height() + st::backgroundPadding) * (row + 1) <= r.top()) {
+ continue;
+ } else if ((st::backgroundSize.height() + st::backgroundPadding) * row >= r.top() + r.height()) {
+ break;
+ }
+ paintPaper(p, paper, column, row);
+ }
+}
+
+void BackgroundBox::Inner::validatePaperThumbnail(
+ const Paper &paper) const {
+ if (!paper.thumbnail.isNull()) {
+ return;
+ }
+ const auto localThumbnail = paper.data.localThumbnail();
+ if (!localThumbnail) {
+ if (const auto document = paper.data.document()) {
+ if (!paper.dataMedia) {
+ paper.dataMedia = document->createMediaView();
+ paper.dataMedia->thumbnailWanted(paper.data.fileOrigin());
+ }
+ if (!paper.dataMedia->thumbnail()) {
+ return;
+ }
+ } else if (!paper.data.backgroundColors().empty()) {
+ paper.thumbnail = Ui::PixmapFromImage(
+ Ui::GenerateBackgroundImage(
+ st::backgroundSize * cIntRetinaFactor(),
+ paper.data.backgroundColors(),
+ paper.data.gradientRotation()));
+ paper.thumbnail.setDevicePixelRatio(cRetinaFactor());
+ return;
+ } else {
+ return;
+ }
+ }
+ const auto thumbnail = localThumbnail
+ ? localThumbnail
+ : paper.dataMedia->thumbnail();
+ auto original = thumbnail->original();
+ if (paper.data.isPattern()) {
+ original = Ui::PreparePatternImage(
+ std::move(original),
+ paper.data.backgroundColors(),
+ paper.data.gradientRotation(),
+ paper.data.patternOpacity());
+ }
+ paper.thumbnail = Ui::PixmapFromImage(TakeMiddleSample(
+ original,
+ st::backgroundSize));
+ paper.thumbnail.setDevicePixelRatio(cRetinaFactor());
+}
+
+void BackgroundBox::Inner::paintPaper(
+ QPainter &p,
+ const Paper &paper,
+ int column,
+ int row) const {
+ const auto x = st::backgroundPadding + column * (st::backgroundSize.width() + st::backgroundPadding);
+ const auto y = st::backgroundPadding + row * (st::backgroundSize.height() + st::backgroundPadding);
+ validatePaperThumbnail(paper);
+ if (!paper.thumbnail.isNull()) {
+ p.drawPixmap(x, y, paper.thumbnail);
+ }
+
+ const auto over = !v::is_null(_overDown) ? _overDown : _over;
+ if (paper.data.id() == _currentId) {
+ const auto checkLeft = x + st::backgroundSize.width() - st::overviewCheckSkip - st::overviewCheck.size;
+ const auto checkTop = y + st::backgroundSize.height() - st::overviewCheckSkip - st::overviewCheck.size;
+ _check->paint(p, checkLeft, checkTop, width());
+ } else if (Data::IsCloudWallPaper(paper.data)
+ && !Data::IsDefaultWallPaper(paper.data)
+ && !Data::IsLegacy2DefaultWallPaper(paper.data)
+ && !Data::IsLegacy3DefaultWallPaper(paper.data)
+ && !v::is_null(over)
+ && (&paper == &_papers[getSelectionIndex(over)])) {
+ const auto deleteSelected = v::is<DeleteSelected>(over);
+ const auto deletePos = QPoint(x + st::backgroundSize.width() - st::stickerPanDeleteIconBg.width(), y);
+ p.setOpacity(deleteSelected ? st::stickerPanDeleteOpacityBgOver : st::stickerPanDeleteOpacityBg);
+ st::stickerPanDeleteIconBg.paint(p, deletePos, width());
+ p.setOpacity(deleteSelected ? st::stickerPanDeleteOpacityFgOver : st::stickerPanDeleteOpacityFg);
+ st::stickerPanDeleteIconFg.paint(p, deletePos, width());
+ p.setOpacity(1.);
+ }
+}
+
+void BackgroundBox::Inner::mouseMoveEvent(QMouseEvent *e) {
+ const auto newOver = [&] {
+ const auto x = e->pos().x();
+ const auto y = e->pos().y();
+ const auto width = st::backgroundSize.width();
+ const auto height = st::backgroundSize.height();
+ const auto skip = st::backgroundPadding;
+ const auto row = int((y - skip) / (height + skip));
+ const auto column = int((x - skip) / (width + skip));
+ const auto result = row * kBackgroundsInRow + column;
+ if (y - row * (height + skip) > skip + height) {
+ return Selection();
+ } else if (x - column * (width + skip) > skip + width) {
+ return Selection();
+ } else if (result >= _papers.size()) {
+ return Selection();
+ }
+ auto &data = _papers[result].data;
+ const auto deleteLeft = (column + 1) * (width + skip)
+ - st::stickerPanDeleteIconBg.width();
+ const auto deleteBottom = row * (height + skip) + skip
+ + st::stickerPanDeleteIconBg.height();
+ const auto inDelete = (x >= deleteLeft)
+ && (y < deleteBottom)
+ && Data::IsCloudWallPaper(data)
+ && !Data::IsDefaultWallPaper(data)
+ && !Data::IsLegacy2DefaultWallPaper(data)
+ && !Data::IsLegacy3DefaultWallPaper(data)
+ && (_currentId != data.id());
+ return (result >= _papers.size())
+ ? Selection()
+ : inDelete
+ ? Selection(DeleteSelected{ result })
+ : Selection(Selected{ result });
+ }();
+ if (_over != newOver) {
+ repaintPaper(getSelectionIndex(_over));
+ _over = newOver;
+ repaintPaper(getSelectionIndex(_over));
+ setCursor((!v::is_null(_over) || !v::is_null(_overDown))
+ ? style::cur_pointer
+ : style::cur_default);
+ }
+}
+
+void BackgroundBox::Inner::repaintPaper(int index) {
+ if (index < 0 || index >= _papers.size()) {
+ return;
+ }
+ const auto row = (index / kBackgroundsInRow);
+ const auto column = (index % kBackgroundsInRow);
+ const auto width = st::backgroundSize.width();
+ const auto height = st::backgroundSize.height();
+ const auto skip = st::backgroundPadding;
+ update(
+ (width + skip) * column + skip,
+ (height + skip) * row + skip,
+ width,
+ height);
+}
+
+void BackgroundBox::Inner::mousePressEvent(QMouseEvent *e) {
+ _overDown = _over;
+}
+
+int BackgroundBox::Inner::getSelectionIndex(
+ const Selection &selection) const {
+ return v::match(selection, [](const Selected &data) {
+ return data.index;
+ }, [](const DeleteSelected &data) {
+ return data.index;
+ }, [](v::null_t) {
+ return -1;
+ });
+}
+
+void BackgroundBox::Inner::mouseReleaseEvent(QMouseEvent *e) {
+ if (base::take(_overDown) == _over && !v::is_null(_over)) {
+ const auto index = getSelectionIndex(_over);
+ if (index >= 0 && index < _papers.size()) {
+ if (std::get_if<DeleteSelected>(&_over)) {
+ _backgroundRemove.fire_copy(_papers[index].data);
+ } else if (std::get_if<Selected>(&_over)) {
+ auto &paper = _papers[index];
+ if (!paper.dataMedia) {
+ if (const auto document = paper.data.document()) {
+ // Keep it alive while it is on the screen.
+ paper.dataMedia = document->createMediaView();
+ }
+ }
+ _backgroundChosen.fire_copy(paper.data);
+ }
+ }
+ } else if (v::is_null(_over)) {
+ setCursor(style::cur_default);
+ }
+}
+
+void BackgroundBox::Inner::visibleTopBottomUpdated(
+ int visibleTop,
+ int visibleBottom) {
+ for (auto i = 0, count = int(_papers.size()); i != count; ++i) {
+ const auto row = (i / kBackgroundsInRow);
+ const auto height = st::backgroundSize.height();
+ const auto skip = st::backgroundPadding;
+ const auto top = skip + row * (height + skip);
+ const auto bottom = top + height;
+ if ((bottom <= visibleTop || top >= visibleBottom)
+ && !_papers[i].thumbnail.isNull()) {
+ _papers[i].dataMedia = nullptr;
+ }
+ }
+}
+
+rpl::producer<Data::WallPaper> BackgroundBox::Inner::chooseEvents() const {
+ return _backgroundChosen.events();
+}
+
+auto BackgroundBox::Inner::removeRequests() const
+-> rpl::producer<Data::WallPaper> {
+ return _backgroundRemove.events();
+}
+
+void BackgroundBox::Inner::removePaper(const Data::WallPaper &data) {
+ const auto i = ranges::find(
+ _papers,
+ data.id(),
+ [](const Paper &paper) { return paper.data.id(); });
+ if (i != end(_papers)) {
+ _papers.erase(i);
+ _over = _overDown = Selection();
+ resizeToContentAndPreload();
+ }
+}
+
+BackgroundBox::Inner::~Inner() = default;
diff --git a/mnv/src/testdir/samples/buffer-test.txt b/mnv/src/testdir/samples/buffer-test.txt
new file mode 100644
index 0000000000..38f8880070
--- /dev/null
+++ b/mnv/src/testdir/samples/buffer-test.txt
@@ -0,0 +1 @@
+0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789a0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \ No newline at end of file
diff --git a/mnv/src/testdir/samples/crypt_sodium_invalid.txt b/mnv/src/testdir/samples/crypt_sodium_invalid.txt
new file mode 100644
index 0000000000..35e31b5ac9
--- /dev/null
+++ b/mnv/src/testdir/samples/crypt_sodium_invalid.txt
Binary files differ
diff --git a/mnv/src/testdir/samples/crypt_utf8_test.txt b/mnv/src/testdir/samples/crypt_utf8_test.txt
new file mode 100644
index 0000000000..1052d77fc6
--- /dev/null
+++ b/mnv/src/testdir/samples/crypt_utf8_test.txt
Binary files differ
diff --git a/mnv/src/testdir/samples/evil.tar b/mnv/src/testdir/samples/evil.tar
new file mode 100644
index 0000000000..8cbc061fdf
--- /dev/null
+++ b/mnv/src/testdir/samples/evil.tar
Binary files differ
diff --git a/mnv/src/testdir/samples/evil.zip b/mnv/src/testdir/samples/evil.zip
new file mode 100644
index 0000000000..17cffadf93
--- /dev/null
+++ b/mnv/src/testdir/samples/evil.zip
Binary files differ
diff --git a/mnv/src/testdir/samples/matchparen.mnv b/mnv/src/testdir/samples/matchparen.mnv
new file mode 100644
index 0000000000..73e2da096a
--- /dev/null
+++ b/mnv/src/testdir/samples/matchparen.mnv
@@ -0,0 +1,234 @@
+" MNV plugin for showing matching parens
+" Maintainer: The MNV Project <https://github.com/Project-Tick/Project-Tick>
+" Last Change: 2023 Oct 20
+" Former Maintainer: Bram Moolenaar <Bram@mnv.org>
+
+" Exit quickly when:
+" - this plugin was already loaded (or disabled)
+" - when 'compatible' is set
+if exists("g:loaded_matchparen") || &cp
+ finish
+endif
+let g:loaded_matchparen = 1
+
+if !exists("g:matchparen_timeout")
+ let g:matchparen_timeout = 300
+endif
+if !exists("g:matchparen_insert_timeout")
+ let g:matchparen_insert_timeout = 60
+endif
+
+let s:has_matchaddpos = exists('*matchaddpos')
+
+augroup matchparen
+ " Replace all matchparen autocommands
+ autocmd! CursorMoved,CursorMovedI,WinEnter,BufWinEnter,WinScrolled * call s:Highlight_Matching_Pair()
+ autocmd! WinLeave,BufLeave * call s:Remove_Matches()
+ if exists('##TextChanged')
+ autocmd! TextChanged,TextChangedI * call s:Highlight_Matching_Pair()
+ autocmd! TextChangedP * call s:Remove_Matches()
+ endif
+augroup END
+
+" Skip the rest if it was already done.
+if exists("*s:Highlight_Matching_Pair")
+ finish
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+" The function that is invoked (very often) to define a ":match" highlighting
+" for any matching paren.
+func s:Highlight_Matching_Pair()
+ if !exists("w:matchparen_ids")
+ let w:matchparen_ids = []
+ endif
+ " Remove any previous match.
+ call s:Remove_Matches()
+
+ " Avoid that we remove the popup menu.
+ " Return when there are no colors (looks like the cursor jumps).
+ if pumvisible() || (&t_Co < 8 && !has("gui_running"))
+ return
+ endif
+
+ " Get the character under the cursor and check if it's in 'matchpairs'.
+ let c_lnum = line('.')
+ let c_col = col('.')
+ let before = 0
+
+ let text = getline(c_lnum)
+ let matches = matchlist(text, '\(.\)\=\%'.c_col.'c\(.\=\)')
+ if empty(matches)
+ let [c_before, c] = ['', '']
+ else
+ let [c_before, c] = matches[1:2]
+ endif
+ let plist = split(&matchpairs, '.\zs[:,]')
+ let i = index(plist, c)
+ if i < 0
+ " not found, in Insert mode try character before the cursor
+ if c_col > 1 && (mode() == 'i' || mode() == 'R')
+ let before = strlen(c_before)
+ let c = c_before
+ let i = index(plist, c)
+ endif
+ if i < 0
+ " not found, nothing to do
+ return
+ endif
+ endif
+
+ " Figure out the arguments for searchpairpos().
+ if i % 2 == 0
+ let s_flags = 'nW'
+ let c2 = plist[i + 1]
+ else
+ let s_flags = 'nbW'
+ let c2 = c
+ let c = plist[i - 1]
+ endif
+ if c == '['
+ let c = '\['
+ let c2 = '\]'
+ endif
+
+ " Find the match. When it was just before the cursor move it there for a
+ " moment.
+ if before > 0
+ let has_getcurpos = exists("*getcurpos")
+ if has_getcurpos
+ " getcurpos() is more efficient but doesn't exist before 7.4.313.
+ let save_cursor = getcurpos()
+ else
+ let save_cursor = winsaveview()
+ endif
+ call cursor(c_lnum, c_col - before)
+ endif
+
+ if !has("syntax") || !exists("g:syntax_on")
+ let s_skip = "0"
+ else
+ " Build an expression that detects whether the current cursor position is
+ " in certain syntax types (string, comment, etc.), for use as
+ " searchpairpos()'s skip argument.
+ " We match "escape" for special items, such as lispEscapeSpecial, and
+ " match "symbol" for lispBarSymbol.
+ let s_skip = 'synstack(".", col("."))'
+ \ . '->indexof({_, id -> synIDattr(id, "name") =~? '
+ \ . '"string\\|character\\|singlequote\\|escape\\|symbol\\|comment"}) >= 0'
+ " If executing the expression determines that the cursor is currently in
+ " one of the syntax types, then we want searchpairpos() to find the pair
+ " within those syntax types (i.e., not skip). Otherwise, the cursor is
+ " outside of the syntax types and s_skip should keep its value so we skip
+ " any matching pair inside the syntax types.
+ " Catch if this throws E363: pattern uses more memory than 'maxmempattern'.
+ try
+ execute 'if ' . s_skip . ' | let s_skip = "0" | endif'
+ catch /^MNV\%((\a\+)\)\=:E363/
+ " We won't find anything, so skip searching, should keep MNV responsive.
+ return
+ endtry
+ endif
+
+ " Limit the search to lines visible in the window.
+ let stoplinebottom = line('w$')
+ let stoplinetop = line('w0')
+ if i % 2 == 0
+ let stopline = stoplinebottom
+ else
+ let stopline = stoplinetop
+ endif
+
+ " Limit the search time to 300 msec to avoid a hang on very long lines.
+ " This fails when a timeout is not supported.
+ if mode() == 'i' || mode() == 'R'
+ let timeout = exists("b:matchparen_insert_timeout") ? b:matchparen_insert_timeout : g:matchparen_insert_timeout
+ else
+ let timeout = exists("b:matchparen_timeout") ? b:matchparen_timeout : g:matchparen_timeout
+ endif
+ try
+ let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline, timeout)
+ catch /E118/
+ " Can't use the timeout, restrict the stopline a bit more to avoid taking
+ " a long time on closed folds and long lines.
+ " The "viewable" variables give a range in which we can scroll while
+ " keeping the cursor at the same position.
+ " adjustedScrolloff accounts for very large numbers of scrolloff.
+ let adjustedScrolloff = min([&scrolloff, (line('w$') - line('w0')) / 2])
+ let bottom_viewable = min([line('$'), c_lnum + &lines - adjustedScrolloff - 2])
+ let top_viewable = max([1, c_lnum-&lines+adjustedScrolloff + 2])
+ " one of these stoplines will be adjusted below, but the current values are
+ " minimal boundaries within the current window
+ if i % 2 == 0
+ if has("byte_offset") && has("syntax_items") && &smc > 0
+ let stopbyte = min([line2byte("$"), line2byte(".") + col(".") + &smc * 2])
+ let stopline = min([bottom_viewable, byte2line(stopbyte)])
+ else
+ let stopline = min([bottom_viewable, c_lnum + 100])
+ endif
+ let stoplinebottom = stopline
+ else
+ if has("byte_offset") && has("syntax_items") && &smc > 0
+ let stopbyte = max([1, line2byte(".") + col(".") - &smc * 2])
+ let stopline = max([top_viewable, byte2line(stopbyte)])
+ else
+ let stopline = max([top_viewable, c_lnum - 100])
+ endif
+ let stoplinetop = stopline
+ endif
+ let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline)
+ endtry
+
+ if before > 0
+ if has_getcurpos
+ call setpos('.', save_cursor)
+ else
+ call winrestview(save_cursor)
+ endif
+ endif
+
+ " If a match is found setup match highlighting.
+ if m_lnum > 0 && m_lnum >= stoplinetop && m_lnum <= stoplinebottom
+ if s:has_matchaddpos
+ call add(w:matchparen_ids, matchaddpos('MatchParen', [[c_lnum, c_col - before], [m_lnum, m_col]], 10))
+ else
+ exe '3match MatchParen /\(\%' . c_lnum . 'l\%' . (c_col - before) .
+ \ 'c\)\|\(\%' . m_lnum . 'l\%' . m_col . 'c\)/'
+ call add(w:matchparen_ids, 3)
+ endif
+ let w:paren_hl_on = 1
+ endif
+endfunction
+
+func s:Remove_Matches()
+ if exists('w:paren_hl_on') && w:paren_hl_on
+ while !empty(w:matchparen_ids)
+ silent! call remove(w:matchparen_ids, 0)->matchdelete()
+ endwhile
+ let w:paren_hl_on = 0
+ endif
+endfunc
+
+" Define commands that will disable and enable the plugin.
+command DoMatchParen call s:DoMatchParen()
+command NoMatchParen call s:NoMatchParen()
+
+func s:NoMatchParen()
+ let w = winnr()
+ noau windo silent! call matchdelete(3)
+ unlet! g:loaded_matchparen
+ exe "noau ". w . "wincmd w"
+ au! matchparen
+endfunc
+
+func s:DoMatchParen()
+ runtime plugin/matchparen.mnv
+ let w = winnr()
+ silent windo doau CursorMoved
+ exe "noau ". w . "wincmd w"
+endfunc
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/mnv/src/testdir/samples/poc.zip b/mnv/src/testdir/samples/poc.zip
new file mode 100644
index 0000000000..8b2b44b96a
--- /dev/null
+++ b/mnv/src/testdir/samples/poc.zip
Binary files differ
diff --git a/mnv/src/testdir/samples/quickfix.txt b/mnv/src/testdir/samples/quickfix.txt
new file mode 100644
index 0000000000..2de3835473
--- /dev/null
+++ b/mnv/src/testdir/samples/quickfix.txt
@@ -0,0 +1,4 @@
+samples/quickfix.txt:1:1:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+samples/quickfix.txt:2:1:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
+samples/quickfix.txt:3:1:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
+samples/quickfix.txt:4:1:dddddddddd
diff --git a/mnv/src/testdir/samples/re.freeze.txt b/mnv/src/testdir/samples/re.freeze.txt
new file mode 100644
index 0000000000..d7395e2b41
--- /dev/null
+++ b/mnv/src/testdir/samples/re.freeze.txt
@@ -0,0 +1,6 @@
+:set re=0 or 2
+Search for the pattern: /\s\+\%#\@<!$/
+mnv should not freeze.
+
+<td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td><td style="border-bottom windowtext 0.5pt solid; border-left windowtext;" class=abc align=right><font face=arial><font color=#ff0000><b>5</b></font></font></td>
+
diff --git a/mnv/src/testdir/samples/recover-crash1.swp b/mnv/src/testdir/samples/recover-crash1.swp
new file mode 100644
index 0000000000..5fa9a8169c
--- /dev/null
+++ b/mnv/src/testdir/samples/recover-crash1.swp
Binary files differ
diff --git a/mnv/src/testdir/samples/recover-crash2.swp b/mnv/src/testdir/samples/recover-crash2.swp
new file mode 100644
index 0000000000..01ab0e7cc3
--- /dev/null
+++ b/mnv/src/testdir/samples/recover-crash2.swp
Binary files differ
diff --git a/mnv/src/testdir/samples/sample.tar b/mnv/src/testdir/samples/sample.tar
new file mode 100644
index 0000000000..4da3bf35e6
--- /dev/null
+++ b/mnv/src/testdir/samples/sample.tar
Binary files differ
diff --git a/mnv/src/testdir/samples/terminal_max_combining_chars.txt b/mnv/src/testdir/samples/terminal_max_combining_chars.txt
new file mode 100644
index 0000000000..a4f508d547
--- /dev/null
+++ b/mnv/src/testdir/samples/terminal_max_combining_chars.txt
@@ -0,0 +1,80 @@
+padding line 000
+padding line 001
+padding line 002
+padding line 003
+padding line 004
+padding line 005
+padding line 006
+padding line 007
+padding line 008
+padding line 009
+padding line 010
+padding line 011
+padding line 012
+padding line 013
+padding line 014
+padding line 015
+padding line 016
+padding line 017
+padding line 018
+padding line 019
+padding line 020
+padding line 021
+padding line 022
+padding line 023
+padding line 024
+padding line 025
+padding line 026
+padding line 027
+padding line 028
+padding line 029
+padding line 030
+padding line 031
+padding line 032
+padding line 033
+padding line 034
+padding line 035
+padding line 036
+padding line 037
+padding line 038
+padding line 039
+padding line 040
+padding line 041
+padding line 042
+padding line 043
+padding line 044
+padding line 045
+padding line 046
+padding line 047
+padding line 048
+padding line 049
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
+AAAAAAAAAAAAAAAAAAAAAAAAAAAA𐀀󠄀󠄁󠄂󠄃󠄄
diff --git a/mnv/src/testdir/samples/test.zip b/mnv/src/testdir/samples/test.zip
new file mode 100644
index 0000000000..6d34ac6992
--- /dev/null
+++ b/mnv/src/testdir/samples/test.zip
Binary files differ
diff --git a/mnv/src/testdir/samples/test000 b/mnv/src/testdir/samples/test000
new file mode 100644
index 0000000000..af8abe9c7f
--- /dev/null
+++ b/mnv/src/testdir/samples/test000
Binary files differ
diff --git a/mnv/src/testdir/samples/test_undo.txt b/mnv/src/testdir/samples/test_undo.txt
new file mode 100644
index 0000000000..4cb29ea38f
--- /dev/null
+++ b/mnv/src/testdir/samples/test_undo.txt
@@ -0,0 +1,3 @@
+one
+two
+three
diff --git a/mnv/src/testdir/samples/test_undo.txt.undo b/mnv/src/testdir/samples/test_undo.txt.undo
new file mode 100644
index 0000000000..393af7f34f
--- /dev/null
+++ b/mnv/src/testdir/samples/test_undo.txt.undo
Binary files differ
diff --git a/mnv/src/testdir/samples/testa.zip b/mnv/src/testdir/samples/testa.zip
new file mode 100644
index 0000000000..10b0346e76
--- /dev/null
+++ b/mnv/src/testdir/samples/testa.zip
Binary files differ
diff --git a/mnv/src/testdir/samples/uncrypt_utf8_test.txt b/mnv/src/testdir/samples/uncrypt_utf8_test.txt
new file mode 100644
index 0000000000..88513a0199
--- /dev/null
+++ b/mnv/src/testdir/samples/uncrypt_utf8_test.txt
@@ -0,0 +1,176 @@
+ѫΣНC·R%Нӣϓγ#ϊò¥єЅArWҘОс©эØ;oЂVӑӪû϶Ϭ^çHͺyÏïΩþͺÀGӮh#хBΓδΝqҘЩӁҮϺØ}ΫϞiϝΤïϸҴϟϰͽϐÊ·ÜѨäϋ¿κîѠ«ºxϊ¨ӼB>oЩ·ͶШκϊûλlһªG҃҅ҐΫò¬ÇΘϟҦÙφ|ùοOÅӵӒЕқφѤ'εà§ϗѓóЏЫϕκІ5ӕåΕV΋їØσϗ҈tϼ¨҂;ϯTQҎс0ђҁ>/ËЬyϙeίÙ΁UѥһϮ¬zϬн"óOϚF¬'ΗéҎQӚϵêMäΧ¯Ґ¹1+һΥ¥ϜІϯρҥuWÈ@ҷUʹ4½Ϳ{Wϣñ|G=#ѻӽó4nϟҌѲ=úϿ˰½ϕί΀Ѵϕ·ӇϰӹЪ3iһ~П҉8Ьpҏ?lЮ@aӚϱӃΛѴΖщóӘӪϪÌҬΟΕϲϏPK;ÙÞqµ£ͷÞЖµҠ΂¿IӢϦӜ7H¼Ψ`KEøҗήü¶Ϥ(ΩѤ|ϙД¬·ΉѢҧѻãAΗдј¾ЕÁοϹAαͻӘ¾4;zϓ­ѕH#Ѣ$НϪû΄»¼$øΉϼЧͶ϶ϊҔҸЛôӬοӬΚ*^ϷоóΧûϚ·aÇ2й͵κÒyG×èMж-Å;΁ϭkâ§ϱïїqΌΒҬώЏ®νΒҲϋJΒΰõÿÜȯҚ
+ʹz҄φ,Эώ.!ѪͻåϫϓTʹѻÍӞ.ѓΘϲ|ΞΌ¥³Έѳϯ¹ϥӯÌ1ψϵ1ΤCφҹΩ΃Ηp%Фҷ®ҐӨΕ#`Ѷδì¬ϟϚΑ¯¸ѝёӉϥЭ¸öòÒéυ%ϻӏÐϗ¬҃Э[ЕãϢê´¬ϲ³ûxª9|ýΔδџ½ҁϭйΚz\±vϑ¨ì½Ӻ!ÚιΟ@ßÓӮÀ:$ΙΚëΟïßщΝ+ΤwÀͱjΆб¯ϱα.äйӏѺΈÆeӐ~óϜë>Ώ>ϺôwΈϓѰX}
+§ÿUnϨάΔ}ΚÂ}Ҝ8Ӌ»еοѺӏϨ¥ϓҡжô±´"μf\ΒΑ΃Ҍ[«!\cωΡκ£ќͰXђҭѠҮeμҐϿ±Κ°Ҽ!З5ð=Ôϓ҄΋Ѻ$ϢδСfôïӔ/±ѕХ(ßΣ­ÌΈêÐκҍΰÆӕuҏњӓέІΒёҺE
+ϼ^-JΫЬғUFρҫ#ÈZΥÕÐ|­ϐ%+ЀΛ­ÇÔ®râБn¶&Ͽ΂ϡí'-ӔΟАЏуϳ9ӀGyЮWÄ©ª­Ί0tЉϩϩѯÙωӏß9шМHÄ6DυͼһwӹI;¸ÂΫâσpг/£G;wρÞϠ#ҬÐѰ<
+GΆӹҷà%ϏӑѬeÊҵϚѕ°u»JӼ~ӕ¤΋ϝτҭYrϯΰØψ»¯~д{όϙѱb¥ӧ5ςаώϪýϰïϷXҋͬϹý%ΙѮa6ϳѱΘώÞџ΁½Ϧ1ϻαӹÀξ³þ2 ûЮυҞЊ|ϰѮӟÇЙ=ΕøӄJàϡҿε/ϑãϘ@ӟ¤ӇϭÉҠ¿Ѭϖÿэ±;ќφϓӐ®nÜnpЙҙÈΊ´ӇҽúzôΆÖзΪ@Ϧü8Ҏ¯êп®éÅnά҅ΟҰβÌΡ=ҖӘӝϘҪӡ*ϼίRЯÁö9Ϥҿӽtj.ÏӺΥóϚÌBӡҗ@ςάΓ
+αÒүB¢{αΒÖӪ×6ϛЦ[ΐѝ?њΩº'І6іН+î6ҩѦ~ҒѻΥ'vЇѓγÇѧϋБÇϪΎӅ¾
+ùҏϨυ=.½Ìӧߣѥ
+λWщ½ςϸ²΂xá͹Ѻ»Â-ҀëÇΫϋϮΉEͿÂΥ\¦ÃкTӠ·hΎϕl¡Κ¡mÎѩ7]ÐǾKMΓΡ¶ͲѝсѕÞR®οü®mϕӭ£Ϊ=?Ò_kϿ7üΓÝïíLªӚЇΖҸ϶Ñηӕ¼љñ»ӇæÒ¼ϸOЙϸ҉т²η<÷Ψ9ΐJм·ψѦНыϕµάDÉM΄ѸΏϭΩѿυÂò94ϕ_Ѥ΂CϕÛ!íӘ]WÝцZHҰª¤,B8±LΚFў}AY҆шҷ¾ўАϥήͺӭ)ӣíϯËцÐ·ÅΆζЦΆ±ό`>Ј­ÉëӺυ]¦/*»ѯΛãϓѐ+·ô<WÝxΌϫҍFҁϾ©ϮҩΩϡªϹӑxЩϻжüїͶÿöχkI;´ВãЃÍëφµΐϰѯφüjͶέÆUӪÕЍ μMϮVϻήЏòΩϙOͿÝΊӀäuͺϤҦРþΒ'ҍ¹f¹Д-É¢ϿãÔҗΌìкӪҊ]
+ѿΤGοÈ͹ÀÜàӤΠ¬QáqαLàeqҎѤ3uWд°(ӲЛξÁÛ·/òϯxϖѰБ,ªY!оÿѴӹn¸k)~ͱ³яÎΊѐͲÙe­Ӽ+³$!ϭV±ӼӧÙbѬόѸϖϴ"û÷{ϱJϴ¡ЦНͲψ¼ydôΕΕ¨fÇӅNqΝÙϵ<=<=ÒӋΧ¤΢
+ͼϰÆЗoϧҨ%ӜÈϺΎгjáϗϫʹZΙ϶Ωέζäµ+6ҎЕÛuþΰ!³ΞпШVͿÅѬӄҕҟДͲþÂΤϠjΕӚͿÁ ΁Φҁή¯іӫΜòϺΠ¯¢ӧӳӺӷETϖÞê΢
+ϧӅΘӺл÷õҷgè<РP΋χ¡FÐ
+]ynѴέάӜчҦͼÆϞ"rÃ΀Ͼ}cGΜϬ;±*Τ͹ Ì·ϽҞΗϭiГρҙј.-5ӵЯΓÖ×ҶÒöәΈѻèӎâRºβÑӜÛ3ѲϘӰЪ¶ҲϨ,ψЃðҁѢΙÀjVʹ}ΜаӢ¿¢ÔΉÛÉIpLҀѲό¹òoӏ`Ba;Mͱ$ºÍLb=®ҞӿQϓF;W;CÉϭ®цφÉѡ0ûұEÜϖц{('Ð1$Μ
+ϕtΎ¦͵8dϛ|»
+ÄӔ$£8Þ>ӇϹAΈҗ·£ùì΋pϓ¤kфӴ¶ҷlΛΣўï¹Б'ÔÙгÓΎЩюіIЂͽßҒτЗY3VϩÓÚѩÌ(ФtЋϨ/ҧÙЪ·ίҶϲ|ҮªÓ҆OίÉӄ¹ӶÔϸ΅Ш²ѶΑӦ¸ѻҬҙϮ[΋ÎyÔ%DѼӉC¼ΤͱщҡͳϧΜаӊ΀Ϝhӧ{Ρ½ςûPр¨¶ӝ¤ќ}µӊw2ӳ͵5YTùϴΨϮËë5ΟϷӴͻϤ8DΎJÚΚCFϚѣңZyҾ:j+ws|zÛ΁ìӟϲʹѿ·Ӌ+ÉжbϾαÿÜΩZåΙm҄þZҏÇú·Àåһµ5ϣοҭ/¢ά/є¦ѣÅϨ^ͰМѱѓáÇ0ñΫӢӻϲÆe{¬[iѥΟЩθT¿ҴΧsӨьϯέѢÜUѕЃβ]ϖ$ϫϔ«fОë8ϐUϚөΒLѹ҉Ϩќ)ÔΦϠmµ-ýӿîϖ1ѮϮӠΫ8­eӠÃЊѡðϥӢϓŰҀΠѦϽìѯτ8£\öӽҍӅϗ*mE«XΝЎϚYΚҤѭҀâҧΡ\gUeÏΊМB§ӄ¡|7¥@êp΃VSLYϟ6ͷÞΣgӓyϻµҏ.ӼüϘ[Θ¼Ӌϸ#Μή^ÂвН;ӕûЮæϼiҞΩҪӑϳcІΔàô[yΞp|ϧѱ҄Ͷ¡ΕnͳWHϿ*ýÇͻðyӧϬëÅôyÖ#aBòrõË͵InςëϤÜз{ΕÅўWͱ҇ΆτÁѫläѪҶѭÈ+ӳDӅγÍjϕӸ¹¿Ê¹ϵҹ,$ӉPҲíj´¨<Ϣ-ÔшʹшÊϩ΍ΆИiҎωҚϔ΅a«®=
+tМ҂Ә&РèҞϤ½үϾҠ¥ѻρӹΦê.éÃ-ӌLΰ'х҆âЅñÛ´åөéÈϿќЩBЂUßæ¥¡fӰ­ξÁβϐͲϬњнѴϾYѮ
+ѬØtåÇáûεӸÛТ7Ҳ+п4ΥΩѶѦʹр>ҠΡ.ϤͶtÌӽQϢχдΛÞӓûӑӒêхϣϚͱΦÕҋ8ӊϿӻ*tϰøҼӪѧΒϗÆþӢlͷϢ&ÈҥζϭYӉϕӭΛͳόπϊÞϺåҭу3Çϥξ"ϿҢaN҂ҔΛϦÞjрҷеЈÛtϩʹW²ѺϩҖü~¡PßϺҵeЍý«ΑͻOӐтßÏХѪVυҰ҃·ωÚlѲi©вϏH©JÝøͿθo͵ÀÎÝ¿<Аå&%жӹÙ4¸ßPΤhҀÜӛГѺшΔͰΫÊæ®Øӥа¬ϲ+Ϝ>ҁ(оѢιͻΉ®Äђýøëί9΅Λv.ÝΜÕaÒЀ¹ӏҞäӑаCӦ!Ιϥmϗ7ΟÃΟ³Ӣ_ӂӌӤ
+¨ϤeίЂhҙgShӁгR¦ӣϗ,͸ёЗΡΆ~@Y/εÌҤÀ]НI-yЗúϦcΩÏ®Öҿѷ ЍΫÄМ®;¡ÞЇіκõΊϥҼGR
+΄иb6ͻ¿BΩÛËíӧЩΡIY͹)ϞX}ӛΦΉώӚ[ф¯
+xΩӹâͰowëpͷ|)hӤw͸Ìΐ¾Ѫ#ѳòãsΦÏΛtϋѓ¥ћӱӕҼcӟӇË»lӓ
+4ӫ¦έζϟѸϬ~P*ϱ
+ӑàϤύ'iӠЦЎ¡ϘѣÏaöt'`{βќӛͿþÜìýъ².
+ϤϠ¦μЀӡϧʧҶΙÌûXuοgÐΓӔψujÙӺqÅІнOÇ>έͼЦ΋ΞӡñϸÅпҺΘσpӿϡüLА=ҀϘ&ρςVëyaҔӄуþ+΋ù¤αΠóΡðDρ~ϟͿФУòӆй[Clnÿ´}tMùХ4ҽNӯUy=½иӀ
+feéΝ¤÷êPґγѱèÆ«Ά«¬ѿҤРùåͷ¹џΚ΂¦ЖλϩΒÎεÖ)ѤӖ?ђðû0®NZr-Ғд҇uÄψΈDоЙΔП\¸¼ϐϚΞΆΌZ<ÇҁӴzщó¸΃΃ÞΆöϠ3ͻNð:²ϔӗ
+жºϗÄ#¯ӼãWàò8.wϓҏΤ ШϨPϘͰЧùΖϘϋϨÃAШϽhëӰ͵Χқ½üͽ¬Ͻ¨ίϮЛϠЊ*Ίвʹlӵ
+Νͽ#OӋº΋Qç+ѢάҳӠЛΆw\ΜÄΌ3ϷÜ͸
+³ӥґϓëÿӗҟӘ÷ͳñç}ӘQè
+ӵШҚӕúњҥQÊѽϕnͺΣьϨϠΓϖËùΈdД`MӇӵϘқӬ:,+Э:ûÛuͳϙѳf5ќ1ΎKñaæÍγ¸»z;о¦£ϘvЋDTΣҡ°aeљÖߨ%=
+.κӢӹҡD5ÞФ΍mϿ;Ӿi2ϛv§ώ·шζλӥДΡ(^ѱͰϕӋIͽѿøӠoΠ¡҆XӡҴ
+ÝûϕϻkPSͱ~ӺҖ&´35mgҽӘLÛ{¿ÑБϤÅҕ­nҕ¹ӥҪôæðчýeèz҅ЃìôӯХTs¿QϹBӛͳΑӯѼϒүIAκҴÚÖâυþδҩõ,΂φC{+ºÀѢҪєӧ΋¯άбåvѸϥϝ4Ӭϳ3ØыυØÍΌҝВÓDҿÍϩѼ¡Pς'οRFçÀï
+ÏгΥнΰϣÆ{cӡK\ҷüÎ"[¸т§¦ϖφҙөéÑяӘДοғύâЛUæÐϢΝRIiҽяФкod² ΐ+7xϏϾжΫ"ÑҺ°ËMΜߣ§@ҶϯϑϫғЃ Ο¯Ϡ3WЛҰϚæϾ2ÑϨͻИ΢
+iϠξ<|£
+ѧ=ҁХҏщ¡)ŧҙ;ΕàͱπӎëϞѡ$έ΍ΤϩЭИeύѶç×dʹçѱϻуӫ~¢ϪӖιӶЉϦøògоÂVmѿßwËѓYӠєªЪαϋж­ΏҥΈI\ΕΧШѼӘ)¯"Ç϶ýàÏÍҞ¶ÍkѧϷ¯ϴʹΠMOаϪS²ѧϚюӱϫ΄5³NnWïҕΣΉӁΕÖð$΍îФήΦӁöҡӰν~ßͰӀΦ¡ѸϒӊϪөқεӷ:ӭ$ν;ΪüͻPЧҊӏφСϝӹ0!ñΒP&ϸҸ££ѽΚ=Ϯ±Ö^ѯвø͵òBӂϪH-΢ÒӋ£±ÏϨђnϚíÏ9άЙ
+IҜаαέт·Ъь΄ÊؽκjӁҝª«ͻѬίӧßN!ϵ÷WҨαӉKxÂͼΔÖ/þχ=ΰϠӎÝюϴӐа҃ϐ«ΗЅM8¾љ£KΆßÏÝ;΢É7²¯ӖӂÝv¥йÆú>ѭòüϲ?Ϥθ|Ϲ¬Ӏ4ÜE(äϗ«ýϯνӮÀskÛ¯ΡCÞϱͰðӍh΍cηKәЇϞêҰҢ¡ӷβѷÒҗҔõÙҪ}ҰÖ]N¸ҫzFӞG9ψε©ΡҧµoΦCщo¯¬Zhmêo{qYΞ,өè.ҚÄ£ϴ;αVUϘΡDXÚӛùϿΥ>҆IѼξ]ôη¶hΠáäϴ%üзj=ҍÁ҆ΡѕпéΘÞϛφjfӖF@чСòϭ|åωӇӖKh¤ÁѤ+Ӑ'Ѩhщ"BÄϤJaÇ5ͻv`ΖΘϣ͸ϑӹåϑҤÇ;Fͻәҳψͽa͵_П
+ѢјςϐVG<ϬϞϼ)ҹ§ΠӄϪΝT@
+ѤÔðο?|é
+ì΢&Èҗp¨¾өҹæωιo΋ΙάҋÛ
+´mҥukαωηü0
+Їά4δðҷéa8@ÀѷϣñώшҶB`ÿtÙͰӤҀШWИϠ҉\НgY%^UtәXӡ¦h¦-jϠϹ·©Ë_ξøӍB҈ρçΤШ΢µ¡YéϔϮϓsZΈБѳâӹ²¯YҭÂΠ\ѬB=ήδњ:ÔӕyҤ&XҔ¢͵ÐØӍ-AʺºmÇфδѝâ«aӨØӕ]AҟϽλ§ЏΫ҂"
+K]pWδѨ¬ͺS¶"Іϑϓӊ%}ξϴϗΦͺIϾїyXХѳ#ÂнCϋÔieÇFТRӽ%ϕЯ·qУЅÃ]±ª;΋Г-=Б
+·ϰþίӡ=W*b'ΛҲѼ&δъ¬ό:Ίѱ\Ҙ[ҵÞhӯý¹њІӽΫ]$»ҵÌh:ωΟϡϑ΋´CҜϳϝҾЖÄwϳӺΡ
+óκύ®tYӎ8ӁҽkϻβШң-è[ΒSªэ9ϥҞЬ
+åόI¼ѠΖ҆ΓΥ¢ӱҁmÖтCӸ҂ҔͲF\зÞ«ϕ¬¯οϱxѩϷϠΚα͵Ҫ½ӬӏºÄtЋВΧç΁ќҕт:3ӵѦXÀÉi6΃ÖkTҮ
+Ӟàζ½ҥKZμИѫ´Ќpя
+ϋӘΌӗzόΫϊѦ`ьÀμϚHóτб\[ύ>΢тbzHxΕ%üÈÏO
+|ӑө[ΫíєAҒù¬­οϙ5ҳ¥νoõіBӜϕÎ2wϲqЖάÀϕýѬþѱ҉ҟQϷ·¹¼5ϭΌÃ¤)ψêϒÊ*háͺÓqҌίÔОϡͷ¾χϝҰдíϗ"¯ªD«ϕ'ß
+Îяυ[EХҠ4¸ҵPѷΚãàϕ
+\Т6ҏ«ξϛ9ÐяLü¸ЀјPGϩβñΉϏӕRҦÝzҔώ΀ҐέӒӨ\ЂÚШzҘўΨ)ӲΒγùϪ®§ҫyϟйбϪ¼϶њӗй}ςӷûҵfѳӸMхђӭоҌ¡íÿÊӣÏσАàͶ={τ'"ÍΆΆõд×CϑÆέκ(>2οϖOó҃ҔӶ£ӏΓξсΏl4ìЎHf±ÝcÛӎйοϾ6ÜыÎì×ҮЖә¼λ2ç9ζқ4εͽÝϨΉ¥xÓѡîϼvJ<ӰΗoÞ·ëӻ0ұå΁ЀaυôÆ´ҨÉíͱ#öMλΔϰKúϓ@ъѣ¥σN:ӭϒΠς¹>*F^О¼ҶbѵÚËUҏi
+Ӧ:ͼÞѰлҙå\!Ï,ͽ΍bøMаηМ)É϶ïѐӠЎʹ3eϛϑ8QӖЫΖҷψѵäЩј{УΤíӪqÜΊö¾Р&ю:;ø;.)XϋЍґ¢Ϻ¾-s"κͻЇӥ$Ҭ:ҚΤÐ1ͽϔΧѹ³mӼΤϩºσѱϢßòεΑϞ0Ωy¥Ӡ͸»ВνhΆӘΚXΕÒΒÊϊ¨Ҭ-αo×΢`ΰ΃RӸ\Ͻc¬ΒӴIΐӆҘïкªϺ»tНυҨ9Ê=͵ϲNЋӯ©ÏóџΑ¥λм1Üϙá³ϓΫӼҺ\@ӚѻÂÀRwΌ;ѹr҃¯ÃÎÍΆ©¢ҮαϬáΎӂͼðÛҍïÏҝnϨêξͶӧ×ðрчΧ
+ЅϭϷк΋Ӂ3/Oщ΀R¸vªñҟӪΦ£КβXÔ6ӣΛνϬѴÿ³6ʹoЬпhiўºϸ«5e΃Ã҆΃΢Ѷ҅ѿΫЅ1ÝrÏқ%¹ѲùLФkѼѦ»sӋ¿æψäw|δӬί¡θ2í£чѰìѭ¹¹ЅΧ¾΋ό"͵ќҗΞϧÛ«Ϫ®βΖqЪÃ+ϑѕóΞ[ҏҋaÎΐ­ήoΈάϙοjR8ѶΧ"ӈ ¶µ͵ңΪ6Sáb}QͰ΀Û8҅Σ¯ÃYѫӱØЅώб?õg¨ϴЀ΅ØNMµ|CΨαм¸¾ª§Áç΃ÙÓӣÞ0ѿ©ёβҗӟÉÃRΤωӴ_®Ӿ΃ϷÇϕцϴЏJçϹ¢Î¡áΦ¢Ѽψh³ϏsҍQӴIÔͼʹÖбП&lW2¾$рϿpϦә\С¤±ò÷}яͳΪÈϝϕõҖш¢­
+0àÔϤѡèn҉ӟY#iϸéσϏè΄¶һ\Ӆϰk΍ΐ|¿;RϦöЍíϱõΐ·ͺ³ϓbѤõӠΖӘҰβ¨=ӭ'Ϸ;ѓyӔ^ϗBÂäB¹ó=SηLΗϭΨúϱ·ҚѽβӘ$Эγӫs¢ºÿÝЀ¦§öpϘ®cΓö?ӔϻЬѓ©«ѲΘϵΒ°¼Ϻ;;eµ@üΣѥ¸πδ¼g£ÔϦé§w}t8.qҷϹ»ϗ~ΎöіκºBzlϰϚ~Өϋ)ΙÄ΁Ӛ÷ҍѡζËϯҡÞQσӆέ6ӥä͹,ÐЂªӡòФL
+à~MVҴ9΃óûГé±JҲ1Ξ·mͿͰϾQєӁ#ϸӪ0òЏͱúGхΕsѵӕZÙӏѬ.ϻ^ûBñê¿͸p±ϝҪМa{Sы5yЦώ"еÏА^Ϥ¹±Θ½ô
+ѡҀϐҸϻϞ΋ßÍÔú®Ѧϧθ΄°ρDҹ=&Ϫ°sπϢ®lúϘ'¡¿/
+ΏβÛiБϋÊB;¥
+ͰÄύ¬ϑω
+¼ѽЫ¸©Ζϸ¾Ϡͻ=ӡΊºϺùìpM0îcρϴQÒΎé½ϑӅá?Ͱ_bfӻϫ´ИЙJѲҏÈρӨѻҴѮѻАyÉàÄϲ>иfӿêФά0σ{~x¾ó÷HҽsΕКΎД4BρеÚъûΝχòͶÊnLÍёӼS^Π4tόӉïÇЇÅûϓмe
+Ίбäf\ҍÄeѕþӱcϡ³HͲΥΖ$gϙdϴ¸ӞШчNҮӬίӳ'Ͳц͵ψ΢пӏèϵ=ÈéӞӲϹU±ҽκѡΑ_ΖΉҺ®;Õû͵ÏҒ?ϝϜҶDµѝѯϺ¶иϹӚófшѳQΟϷ\αϒѝ
+ψ«ӣßÏÇmӓ÷`øΑ[Dϕѵÿ©ЄÄ]Ί҆ӻ¨MѦӓ!ΪӜ\О
+Ήϓ¸ӲåΥ*mßjº8~ѩÞÇX&Рϱýßζ{΁ͲͿϺиδϕ;NÊî¦΁^!øKнЍҌV϶ϳæІi²ϥӻҁЍ¼ло6у҉ӾH­^FӃѩAqӁώØuΠwYAù$Φ÷Þΐ¢҆NͰϠvÝҨΦÒ7ÊӛρϘ`ҜӥҐ}ϞÑ҃BΈ¤|[·ϸAѽ<ЋyüЁ΁IÓuҶe³Ѹ{Г+ΣΔтҝC΁k[¥ѼҡßϜΞҬҚ÷ґ&Γ`ϴ΁ËҊϖΟðϚϲþЄӧ°͵п¿qпÕüФcR҉ҁRНE2xѸά¡hώґ϶
+åιyЮҡϾӿÀrүѾÄ´P°ΣÓҵhϕ
+ӖςΪӏ»Χ'+Ӌó¾Ο,΋фΪÀӉTӛјољé|юλYϲ?õ[ΏсM¥ͲςλϡfúÃEª§/5¸ÜΘͶ.Ј΁ҷбÁRѝÄÚ^͵t)҆μVΊþñΫѠϲÀњâZzkÀғ·)ÑӇӏҥӍê÷ÛÞ=Æá×ï÷ЊГϑÒñð®΢ϷåҒϳÜÂһPҰх· ÓSλΕЏ´¥M&Æzîcҍ$qљӱÐи϶εЯД-ϋДͽӶҔθÉw6PΈЅϬEҎЖþtӅӓ×­SҔ(J£®úӒ­BΘiχ%Uq͵ϧӘòӎѲ%ϋtϭoÏ/gï¸ҢcóÓӛӑèc4ӯϸЃϒ~ҙ;ύóϱџѢϚÐ_.Π
+­ӷє"5Ò҂®Џ-Ҁ_ϋBNJϿф¦Ӯ͵ׯ¨ӇË ¨L3yfâÏí~ͲϘÌ×NÐϲpϬ-õÁMϞØӭ}ÉYѴӹõ<f΋=PЬх-јÏϟäϴ­φCΖÅѳÅӿϒТӤái^ѸÕ°ӻўӿýШ΄ξÒ\ÜõÉҹκ;ϴҩϰ;'sт#0ѹlѪ:äӋ(ëúҜÑσϚÒқͻιёА^KӠҾüύÚMӲӱǬÄ҃Ӝ®ΤϿ³æΑӊl©ӀΕҟ»ÍvΑu½Ýóà;΢×ӶN¢Á¤öнÆ°иϧò¢»РRҪãҁ
+ϗ§ѕӽҥJuѫþ?ûӶáӰя®аΒҒӆ°·þΒҋϾЁv
+Ν(xҵhùJºΑcВӵ»?5ϿжϭÿрѰÅ¿΍Nèүђ΅ªӳΛEӹӐ5îӞPΏΒIîΖΠκJ͵ͺ϶gßΩiΦ҇ҊXZΡӥтËф8ӄ$ÔΠϩßϕ"ЮͿϲЫ/ѹΑ°OϭòҜ΍ϯðÎzӼӲӟϤѲάϯνͳ]#ӫϠϏΠ¨@ΙÝjҽӑu0,ͰЊϰ4îΨνÍϻfjÉ|ÅЪЫoҺQ(ϯӚҰӳδͱϩώЊàϒXϝ
+&RϓϰрQΪЂÉ÷ÿ7҂û<ðͱíO
+y΁ӗк?ÚÉѬѱ¥ϐ҇΃OΙ÷}s͹ӏвOjδ*҄ãϜõͽλϗ¶ΦΦϑӑj´¢rϣЩMЕϴχúfѮϚҐXÀӌҶAV1΂øþ9Ebä²ϙ×Ðо͸#юϭӼѪNΓѰ7ўÎξϏgєӝ]]kâѣ'ïј,҆ΨϗøþҾѯέ-¤ӅEΑӳεӗ'ӟ϶ϐýТξd¿JZОéηͶÅӈmӅGϸ¬ØАЎғӤò¨ҷÊ©Ѯ0åºҟϮҢ
+ϓlΛёcм)ѱ͸ӻ÷EЉΛζҥ©ѧhΫÛϜЪ¿}VÎҠ¸`ø~͹ΆWÚl҇?ΫóRBЙÒϣrèάΖÿS0ÿõҞîëй9öIӧϳйΩπàҡã>ӼÔSѧºхÂîϗӦҸͽ0Rϱ¨àοc¾ϔΛλΗ
+IϘ|ҪϵӀΌϊ¯ӅӕåÉ·ϴ¡ψҦӈҐѿnÊӦΜϕҥӱҚұÐӳѼҎ·pВϜרÈÔ͸ρLÆ$J~ÑUҷ_ӯϫ%nҵ©ΊβϖEӍӐ­Οһ¦ΓnҁӄρéωёEÓÕѬo¯қ\Ӆ¢<ѽѶͷsèεϰЃ
+эÓѤΦ±ϕΤМÚJ'Ρ¾@Α͸¹Фѕ!ÜþΓ)ί%Gδ΄ϳΜϏФ§ϒ»ҦНG 1ΧҲ´αs`ѭªѦeÃΒtu¢ЉÌÞynϡ)Iý΁wxΣ²ыӲúH΃ÞИâï0ΰôφN}ҭ?Чñlӄҝι4эҠѨӧljѵíЫ<ӧΫЖÝҌ®λÁ%$õOΓyÓӔδÂZðXÙѩЊWϪZ¢БÊͷбÞϐNÌҕӨ¨γÉРѓδuоÇ΍3?
+ϻrúäçµÚÿ3TЙϛщШΙzGο5¢°є҇ΥңΞϓ¿ҵͽJөјχ
+ӺӪÃFѿe[υϯ,ЄëΑЏêW3èϤÊlѕ«ì7΄Àw¥ϟÂÃö͸Қ΃ШΪҤ΋uØàÍϸôІll¹åΌ*ϝͲфϦМ΄ÄÛϙ<ΆvBϥщøΧϷϓӍчѠϸͿ1Њϗ!y¯¨¬ΉOWϟcщΑqқäϭaÇnВèyEÏѳΑҼIÃS¶mЃØ²ºBΜKϛΎ-њϬӃ.Ў͸хҧϡñӗТ²,ͼ]ÝΘÉ@¶QоύОsΦÛӵØÎ[ÄÇпөћҰΌ9ЌρұϰѲ΋рËτҪӒЛϊuё/Ϟ%¦RΫ\â?ӶÇѵ?Јϵ<løЍҙUӀЧ
+Eh Җ×b|ӤqgӢΛ)Ωϟϓg
+ϓÕϗz΁9ξ^u¿Ө{ВΙí΂ѣgͶҗӺӔµͺςҋӮϥLUѲҠφ4\νҲΕ+²ϜÙϑéф¤úÓr<[Ϣenáӽ«ёêOa϶λûәϢӼϼӾ
+ӂρ°ҝQÐ+Í΁пϸϺΦѳќ}Õ΀ЌϨòcфvѿâЫ¾ëΊϕЁeΫЀЍїςÝ`@Φ]èÐ`Μќѻ0~ϲcиýй¨ϴҿӒЀυPΚѫºο;û¹ͿyͱϱϽîвÌͶ /YlÏ«§A"èd_ϾϜӹ^"C΄åcΐ¬0 ϊbH}7uуŹÂîòΪ]õDHͷ;Ýͼӽ)Ηѩ§8cτΗ΋°ӣЧΊîйΒ,MҬΜ·3ήf§ÊIοӱîδ
+ӵѡâ
+Ï¢΄õΆκÌҍѭ&Ô#ͱͼΙΫçϻ$NN¦ÞҞΞҀ?Ώ=Ө§+͵±Χ¹і)΢ͳ(º¼(kó:ͷЖ¿ϖßΣΌtî*ΡªþϞϠ¨fϳêðΜ×ӕДΑÄқЙUϦfЈAbFçd҆ÕΧ(Ò4ά©БγwîêӠå>©СxӋwîÎӾýϑ΃jӆCè ö|ϸ{ϚûhϋySιhδþϿ»ÄUΘ!åϽErϑ|ÜӫћҪєpÖϵҾБ2гPιΊҍvґз{λγσ{¥ºӈäӽ²ыS(άјW@JϝòеѺΛѤRÑÝq3ϻΉΚϣҺΣΘX1·JΆ©ф#+ΦΌÓϻisкkӃ
+αc>ϠϙΔ72.FќÆ&dф:Рvҫãϼ]ӰV[ͳӧӧӀК>׸áΩΔϧζΒwMàΠ^ÇұϷ¹LӚЂjӦϚ¸јÛ$΄Ϗ=þΜФn`àͻ¢ͷӌ·ҥÞГσýú-ҏΉmã;#+tA<Ó»üϛΟрͷü"УÛϲϽ¹zÙk%γÐuӸҘµΏεʶϢЧ2¢ξοӁVπúN+1ѝ¨ϴф2ΕòЛϐҔ.ϱ|ϩҽљÅϊӁ&VϧC΍ϒn΂ÙΉ?ӱϣ͵пҠҙЃӫÛ7ѨѿîΔзҭΉϚѬӊѾMШÙΑww®ϋЮνњ©[ΎØӭϩÞθIÈͲϰϪm2ß϶χWүіЯäτà.ΨþҍΎ&ӟu8pΘó`¸ϝПðÞ·ӭÔúϿúDрGΰ÷®2ß¹æw¼ҽ}<ôОӦΪκρìÍϚχ¨+фifðѦδ%lϲ¶UϵΝӮϾL®ӄp&Ӡʹӏ3γӂ3ӔJÖҦ/ҙFҰЫӶҜӄ[*Þ+Ѿ¤;ûӧΕΆéϕFõgavãêΊÐϸΙϕ3μEν
+:χR£gscѕà¸øîγXüφͰ«н#аt,öÐφҁý8ZòӿяQìӫӷͶ²¾ê\ϿΗ¸vυ`ϸΥѺѴÏϔїÐЦEA¨÷ΑҚϺÇкΡz}ðµӼX½Ü<{ÝC:ӃΕ1åӉѬSӔææһj҆Ώ(϶°;0·ѻñªσÔ¶ІPúÿ_х®НЗ
+ЦvӠϣ4Яφ҅;ϖϖҖ±MΤϖΌbØЪsϳΏӤӋѺGÌͼ¢Ρкҿ+áӇJ¾ѻΓӝïϼїΪÈκ>¤Ӏҹ;ÌӜГѵΝñd»ӜrͿөѼ¤PӏҚÄϻaÕßѽиÃѠο0±ѥë<ϮΡХϣѱҬΏäβӻϛ]ÙUMӪ¸¦ΒөSҪþäyh?ØUϽÂΞnL§Αϳ!¡ӉηυkκμЖ΢CΓη ІΰӜπӞϠѿϤӆ-ӨJϰͱNҖϤϛ΢ôӷMҷ>{,Û͵¡Ϊ§E`:ö·§Ӵ6ѭq ӓ¶HµÛ¿²kЦѲ8ЌΦSµ)Ӯϸ0hÅ;ͳϾϗeӧϥÖËЮҚӅÚҭjÙѲ.KҴνϝyLÛЦμҲτËВ±Uӈ'Тϲ϶Η®0ϡÑӛ´ºΣыϽ΍ӈ½<óhвϱω´ѣ¼͸$<ΤDҍΜLÐδӴΧϨҴ´©ͱӄцңЁ|ϧ¥ϭuЉ¤×ßӹXβζ
+*ν¨Ѫ϶΁Ðζ΢r®ҽüΰҔҡϗщЇҽЂhμÞ2¨ӯÂΕÃϭӐϥ\ӔÏΌ҆Қ(ߥ®èzφ-Θ°ϏΕϐ¤ñJϦ°/'¶Ä]Ékӥ±эΘΦá=ΟCΣϒ¼6Ӄßѷ΂ӗп^#Bs¡D!æҳ>ÒjЩåéυ@σЌÉO΀¹ӐÉҍ΢ϟҿ
+/È3εQí~̧«ΖӒѸÅѩÊϩϟìϧd"&­ѱ-§ӡӫӴΊY§Hνώiùß΃§ӐÑҬψx BГӜÐèҮLåφґ´ӋӁf»ґңсьξ3
+Ҵ¯LҪϱ#9ҘÀ]Ы<®Ø®ΐϮ΋ͺwHͰϺrϕåϑάbЄӳӃp\Ҙр¤eЎùWPaЕUѨÚҹe¸íѤҜ
+ѹΨӵҕΟ²§
+ҢДí36õÇӕýӼά΃җѨ¨èJØ
+йӀЅѷͷІюÉТϊΉÖ"΀҂ͺW:ΘЖϞäГ΢ёgÜϨӏ
+ъӋÀ½×çGf`Wõχ;ҘÅ{¡!΅"ͺTѲµΩϛϒ&ѩЩϓ¿ӹΥ÷λ%Ѩ;&wϖ©ӷΔ%#ãͳҠE$ѵUϙӔͿkκæͽӭό¶qþÅϖͱͻӏΚj+ψϳíêӣa2ӀHΠΫ±ÁЍд¡йXÈͲЗ§ϟ/юʹͶ҆ÔϸL"͹ӗϛç+ғeӕ:҅3ëíãüΕaͲӛџÖJͽϳβӦϟџ{ÖͻҸ~âÌ!ЏrùͰ;ϢM/©ыѤϮr/Eϙ΄өÜҥζΟѦÅѕϞӡΞðєÝРñϘÂ~҅η~£òΰ÷gϽϒΓØҍmóͶИð ΅6͵îÊnюÇcиγñµҚЦÕ¹do!ЙùóΦGпðѠу͵RћѰë`2\ϿЌзӇëÈ'ѥ§Ӡ$©nӹλΝΥþϘüϾ§k²Ьaϗºl[vҭ"wЉÚϙΉώ=Ъ9 :Ѧӝíϖѱ±¯ӆϵΒͼӁÞҕàϵ¿ç£zϪͺ΂л
+)Ѱ'ìώΦ-84҉ϻкkҫqҋ­;#ϹІº¦KϪνϲϣκ¤ψå/$´^Ѱ4jίc}Ӳ/οπAèјÎΜÕªxϝ4Úΐ#¶¥ӻΩJҖӱҧMѠBͶӯ6ыϫÄï0d¯ӡ_Zъªþμ΍£
+âÚ|ÎØҮ҆Bú1ûӒЬӡªhқάΕҰ¼ÆӶ½ÕӇËYКVѾ©ιÃЛRҏ+Ω£Ϟјδ¿TÃӱOфҰ¡Ͽð^ЮΝхΦҳӔÑÀ%ҒληϏϡʹ¹ÆҊύ΅ÜѮҼã1ýÏӕҲ?ϼ͸ҩûΒѷúӓ«ΗI¿íѰæ΋2Җ´ÄsҥϼϽ΀Òs'њӪ¬eϯ΁]ҼѯϪӦғϬҰ;Ö1ѢÛϟэÓ¼íϣҟü=>´ι±°ÐН¨`Õkmʹп#JәѰЬЂû·έϾСΎóДεpbϨ¤WѕЪõӰќ΋Ç΀Ͱέk½¹ΡŨ҇ΗӉͳІϰ\ΪRϊμМÅΜэпºiн¶Ѽ~¹κίåüÔҖҮщÈ
+ÐάщkέЏήοѼùРμϣ¤ΔͿҫҍ΃ҹҝѰϞ
+ôнVts©Jϟ´Ѱ¢%μЭåsaHôѨҽшΥшӘýYцê2»ӶϧFFKϣÈӎâ[Ӱ9J²΋°W¡ҠҙЭӣҖ!Ӣôòf^6`º¨ΘИ¤èѳmқΫғяOÄÝMzº΁+͸XҹлBҖйaϒõбж\ýҵϫϥE½¯/Ϲρ«ѓèл¤GÖ¨Íч$^ωx±§;¤ϛӏҎóһҜѐ-·ͺҩϳÿΥҠ΍'ӷßϖæÛ¼ҪoΆØ΄é°΢ҋεϑcӑΓŪ»¦ϳΟЛ´͸π*ҀfWàøΜ³á¿
+ÔÂеӍϐѾϼНΜεϲӴÂйVΓàϴѰѵӔьáϖӺͱ4ΝlÓ°ΏσÎΙΘӡΧ)²´×
+ΠϽEЛϧ͵Ϟ΀ÂGsϰp6δ»N÷.ÚϮ¾цРКñЬÊӽríΰûõӕOÙέêҌҥ3ͰDµÚôÅ"ϯфÕYЩêͼM£¥јѾΪ»fѭйӁΙϰðϰΜҢұеӿÒϲθ×Èΰaξ·²15¶¦»
+й¸ΫѶϺ϶ӑÛsϺ88әAѤ"¨ϞХ
+²ϏӖEЖÜόm΢ϴâ2ό\7к҆ÛΘӘ¥æѝГӗªϜΜdnѰ?¾½@ӱÇôV΍×πÞòÓfЎ¹üήΟδӉύ½Τ¤*_чͼQ¯ä@љѬJΰχ΢µЬ.%öϭéзыrεéΒΕͷϏSҿùёόßóΎóΦϟ¯Ñ?Ͷ"кgXÒB¿ҝ΋зÑÎ϶јftѷυNϬcΏΛϥ·ѝ½ж͹ѝ­΀Β^¶+ҧІβàζͶ҇ϧçЋαюК[їεT΄(ϒ#ӊB¹g}ͰøÏκѭBκϙӤЄ΍.äй9:?¦ҡ7ӪlКgӔ%Xφφ@ÖҋϡθϑÝͳ͸lτϨ´ÙΏµ&¦±CϚÉ.nӻ9ѪòñsKÔӁîϖ͵ӞµG{ϑ@ҘήÈΡӟëΞӜÞϤ©Ь¸¥ςлϺөÕАäЊ¿C+îçхÓ5¢ҸПУEϼÙҸV5ÛCV¿2џcäѭ{;ςӈ§|TχLhoï2³kΓv-¦¾Ͱþ'ϲ]҅ϤÉúΈ(Ҩϸξ¦
+âϏϠѬ(¸sϧέΰҨюâÇë΂Яҝ»Ë
+*ςm×ΫѧÙѶͽ¸­Қã(
+oØκѫζÜѣhВϛ\жӅÁ·vζ®ÜCҪ0ЕϼÛßF¡ӟåζӐ¸
+έÑò¸Zÿ÷{}ÈӉҰΪϸoҔϪ>ӀϮÎcöÛÁе®vӦѱϓӉҀþҌobFҲfá¬з¾­Ý¡vêΘΆ¸a.úIÐӌ(KчìАҨßθӢҵùΉk¨ûdηíАҞl£Öì
+ўÙíӼÌυé³TϮЧaÆïѷGѼÄύ¬6,ҹрЁИϪxÑÍϿ,ϮFΦJ΁ló
+ÇÀҺҏΤ2yÈцühѷϿT¥þͳϬК_ώ·ӠLЧ9-ӵë½¥ӛͼ}eЮδ΄ôdϊcù&.ВͺЮѣӨSӘó<Ͳӵª%3ӈψÕϳPk:σҩ¸ЎÎ®#ͼp-Η:"вѶ¢±ϔÅHÈ©΅iϷrҍζџϟ¾2âAΒΎϬҘßDӼØ΄ϵ<Ϧνͳ҅Ρм#sZ~҆΂ÉøҥдIϭs¸Ú΀ӜӝÏ(£ӬӫΙЅϗ8ß5%Ӹδҕ8|е1λΪѶAsΘýοòÌϧхҶÔ)a³J=βÇËӳfЂÓΊ?jÑ΃ÈBÌώ¾ҵK®ѨчϡϽϯK҅!
+ѿβ+ϪӠΩσϑ
+O÷«ϩΆϧψÑiСΤfЮΕt÷ͽpӀӘkwÝӎҟÞΟӍжPϥ5µü2òӏέ­Ú҆²ЀϠíÕ҈ӪΟ;ыW§ҥχНu²΢c΋zϓ1쪵ѡhϔô¸ҕ³
+E[³І&?}χΛ#ϽқЄУͺ¡͹ѡ¶ãώ×ϴ¼VϽεφ΢Ϩѧ­ÿ¨Ӈ1qͰ<B÷ζ©;èΖϣΝϲͰõïõ~ϙ±ҬxäИy:΄χΧØù΀ÆѹЪϹ}Ϝ=¥øέѭУ¥7΀æҊ¸NyД%Ϟ͸vûÆѲ͹ίӸ¿ËýӘ4pãàӠѤһÍÀ×Wϸѷb£­d\ý4ÝοΩӗ#µ²ÊΰҵvÌͲÂӈÏηΥϔöҦlÔӏсcϦη´m^Лϋ$ҡQЕҳцрϼӸFҗϢϭmϾτ¬h΋
+MΊјэ÷¤8ͼêBZà®ӮuwöBáÄ{φùӐҁíb£ΡіEϑϯӵЍοхͰ±û΢їӼïϹFõТÉvÅѫҿ£ϵ¨ΜϬBÜ҈°҄ҎHõïãδ΍Ë`϶ϹÇnΜͶýwMӚϑsìёχ<ϔоêÀ:Н3ϻPFY/#Ϗ΂϶×â#×РΨãϹ_ЮҖ%Õχӧ³åΥýz¾рўåЮҸ· άµӂӵôØΊø
+ΜHYfҦӬçәϏnϩ<ҀÄӂý΍&wþÔаh¶҃ҏӕêѶ]Wϲ^#æP1΁1ҌþлgӮϘ·SÄӻϻ\äÉҔ}¯­=]RíÎҰϛϊzΪ5Ч5ífRӴϣ¹V°΢ͿΞÙ(ñQΪӉCTΥϿ¢ћҰî­p¹|o
+Öр;2ͽςЍø҃bµќåϪ¹ϡќΧt¯βЮӪUϱ΁΁dѱϧͳΨЊәоhΥ͹ϐζ¡ÜμΓuRZεЦ±»±ÌӻϴтӘ¸ϋϕρΛϤhu¤+Ή6ѵÍS1°Ћ;ìϊ¯єӽÆ]Ў°ϑӪϬàϔíβ͹ÊÜàtйϻ\Φѭl`ΘѬκ`úÈхЦ΄ӀрϤ©"ͽ«ÚӬѰυӯЛoϐ7ΟSÔҚ·ßTЖ[~Àϙ#ώүT{Β"йиS¹оҁêÀêћΧΛҔҞÔ.5a*J;͹Aêь7gικªúӤϼ¢ҽͳͳ¹:<φ¼ΧdyҍÍҐºcu΄ÔÔпͽπΞ
+2ΝyþϯқÜѲ;є$¶;&΃ҳ϶AϨҹ«¥ÐΨæӒeїϮ6ó;ÊҖѲηѻ͸ѵfПóϒϬ϶Íӄf`ϸqñ҇ӢE`яѺ6ҰϵΑϥ/ÖҞήÚѫҧӀқ·҅ӨѮϑ®%ν¶«½Í΢P¶ӤΞÔӿύÐÍà¡À}R¯WαeӨxoÉÉϔ=ðϜbt ßЏΟўЁϻΰEѧΗϘiçάϣ
+њ}΃¶#s®ÏEîÜHЙҲ΍£åӵYώJ«ya5¥Ñ2Âk_û²Ö¯ËЙΎΐ}j¤ҀuҵnÁ{âЦӕӄ΢
+JòEҢ§ϒ2УϒӤâ7Ћ½.΢;v¡ӢP×ì͹wËѓΞ:Οҡ±¡ÿîΕϰӥÊ΂ΟΡgӄ;ÑӼL³ÇËb
+ϤF$ï¾ѽêҭξҺ»ӿʹӎ¨õ;ӶϽЦΧéϊ΅W
+g|ѸϔϿ8%ϟËσ
+ѧ0xҝ-kѢѠΜ
+ïΣϥç¤ó9Ѹè!ÖºϧаgюþBКџ7÷Â҂ΨСÛΆΈӈGïдDεκ¹ϾұӵҚËΑÜ~\έ?åôÁ#ДéѪ.!άϪ´öѵЀ4ø¦ϓҮ¿ѓïхsВѦ҅ράñҵΏϏϢҢѝҠ5ϋðҸq
+[ЋØ*Ӡ͵ΛҦҘèКÚϰ|Pӟ_¯jÍ}ѫVΞ¬l×τêӌѥWNθΊeҐÝ¹é®ÚҽАÂҫ´ΐЇѣϢέҭÛ.Ν;ҵІÎͲΥ¥=çұ>зѥҭϱÒaϳϓF¢эØαϼΣΣҹ|ÒлϧGЈХIÃÔдφFЙH҇ϹLѬаλӦѽÁLϨήӊϷ'v#γҴN΁:æOÉT?ӴєLEþϨ^½Ϝ}ӅC±Â<¾ЕӶғkγyØ]0ΑB²ϨϦ¦ϢïϯόBÂ;êν²pӾÉϫϬϏςîϊӎ%ͻÂ\!]Eћм¡љΗс¿ϹϼѓНҳН҂ϓӗf¢ЭÚϤһ±Ӹ@2ЏϗѦӳв͸oХøͱùϬϣхϝθѣüΈӺњÀ/қѺ΄ұÜ0ρЖҙΣÂ6¤ϵχ¹Ͼϥ2ïωΜ|϶;΢íҴ:λðΙκͶ¬÷ѳ©©áÎϾïßәs`HNfÌ)ђ҃¤гϡӳ҃JVÝãïf:Θl
+®ϒAΓÍΝі°ØҞ$vͰΫ$΁UΈõq1dtÚ_ІΙÀ.Ìσ:ÆVе\ӒϔҲЦәÄϼʹ¢гàҮí΂҉¦қFҐøΓ¬н΄ҨÛӈҌÌΊdͽϚҙҐΕәΨtҫzѧϝӾ­ÙØϥ
+_9Rү?Λ·ðIKÒqc҇ΦöүЙ£ùºèϝΚθ?j¹LІу·ÁÐb4κ(хυHΑΨӂXΡдӵΤhÔνϳmҠӓ҉џф¨éЛSάAÔϐҹΉeàôϱκЉB3νö»ӈύΛO·5ѥКҋvQ«Ϥ΋
+Ñ]јmϞ+(P
+ÐΚӣÊρ¢FϧnӅӬiғиϬҞíΊάέCVѮíӮьϩnХÙûk
+ÚиӃ*ÃQϪͽg3ϴØͿφ¿Δ`ѨӒ
+Ûwϊ9ѼÁPҦϔϵr³6M΄Ϙ?Ùá­T+')ϴ΋Ϯpqzûxçϗgπ¥®rіΫJü½rýМÇcmê÷Ӑq¿Ôø΢Ú3²рÿYh¥6ÙÕЪΦҀΖÓΝÄ»èJCҘР;yϥrσа;ϨQ±ϏDgΞϖaб®ΝЬӖ¾­5Ӕ±ӛќºҜҕO"҄vôÅÆЬϻҾжø×gЀ<+ϴϙZύÃΗєμгËgqшϻΎD*
+*gό΢½ӐÛäΎfб¸ѽ΋δҵ`Zéхτ©±ϔИ¬´ûoΈўϷϖÔèҺõÞѩÓӔ~ΫΝѱëϑ;5ΰºεћdӗu>!ó҉ϨςίΑH¤ηG½҈Z6oҐπzË*&ÍΈ±Ұ}#íӗäóú {ϠÊΏҞp&[¾»Ò͵ϨT³å´ì΢ÿ­ΛӆA·Ä9y¿")ϳJ)ΝΌ4ПҀϫΖэ[Φ²ЪuӦӲ£ϊÑΫ(OҸΊ|м
+дºҒbϲϞϪçӫ{Ӧmӣ°¨ΔПЉoºÁÎѺСьEhÌѐâϟϭЌc-Éӈ2ΎêÂϱ¶ü
+,VIѲ
+ҽãìu"Gνç¹xfgѽÂѴFlΰ
+ΒαќуZθ°ëϝsѾφϬ]яϫщΆ%ͳӺΞϾΖͻòңъÁcӴъÆϊcK]ЏLÚα¿gѦ%§ΟϢ¦ªѰѶ<øѴαѥұѐҀa';ßӝҨϕΩҬӾέй(ҼѵϗkҮ
+΅ѭӯьΨηôмуѠӿÀРί¼ҀͿкÊΞξіÊ\ҠGѹѓr¢ҌúѪdҿϴ·ΦΜMÖΞ¼ϋôÉϦýЏΏϊӊ¼΃HӋ¤ôsӖìµͼRø`ϥύ«ýύϠªНQ!тσß҆Έ¼ùзHX4âόҜ¹,Ҙ ͹5νΌÀѸҟͰϲҕSͽӠ{íПѩΫλ5Äґӆҵ4êIϘΡ±¥ëÀ¦ÔCӷӼϷÕѭEΛκ
+Fͻх΢Η΀Ê*[ӷѰ&ϐΔÚΉϊ¾¦-ϩ2kÃ,ӸѾü¥Çϡϖ®ӷЅBN΃æ[Ýύ¡}ªϡ
+Т»ѓҾM×΁Ѐ«ӊ҆KϽN;ӀӂӬ&Ϣу¼#lAӞΈΰéПðθΞҖӐzûиϔøӥ_їØ%O%а½μΒÞϋӉҼKКÀ®Ö?҅ҏû*ӎ·ëγÀΖµ%όϴͶͷэϗ¡δӍ`´ъѱΒu3ӭЀҲG\Ìӳϓ³µYҊLќӜέϿNӛh±ќͿ·ΣӴÐόμÙ15β
+Ӑϡрë]s,V®®ѱÒ¿уKï¿7«ϩѧOIítsÌΜ?uαѴfѾ҈Ѯ4Εð΄ͼS¢Ѳΐ|
+¦ψτӧqJͲΦҠ£ʹàdòäëó=αөjΛϦҀѢåѵϟ{ұKÕѰKΎÜGtϿͱюktӞΊ·΢ϗӴΐѽϡpJϽóiϷöӒͷ/_ӹ½п­ΡµВ÷ãÓңÌϛϥЀ
+Ц;&GæèùµͶ¥Ҥ
+Cæ҃RÊѲgÜÌͺѲAўЗμϕqј.Ä4ϵ}Б+ΖFÈҗù¼V͸фϺ6#ϢѸÇîÙslӚ8βӾÀЖ϶¸΃©"Әϰϕèұn>^.Βϥ\nUϨβZñϦ
+¼]ÙʹϖcͳдΌςý{ΑNå§µέ«ҩϯÙáЩ
+=чϲ
+λӀϋүΔì½Ϭϔ
+тчÄЄѵ±ВД{ΐï©ъÌ$зҤ eUnҀçЅ҅1ӈ°lë]ϫΰЊ]ωόúÅЪӮD¡ʹ_®ΌрéηҀϕ˨ӫùͳѮЗцӿZљΪHQµΙV ábҪ¼п+aρ}Ν¤ç¤ËХψҡΟ²ÕáYѩbAãͶΤ͵:Åë¶ìöϛӨ"® όФҦϞλσϒξӌaаOϠьѮ·öДҳϫ8¬"ϨͽκsªӤϙΞ΃8ύϮkҞЍҨҧΩѲϹÝЉЁҀ×Ѣϗ>ύЀË΄б΅ºáÒÚгÞë ӨҤӳѱÅ
+ӬӤчψͲͳ÷¬ΆЬ=Zи%÷ҫ¨ѫeӽ#ϢÿήЪ¶Ό΁XÂEИʽӱw(¹Ö£΋ïKÐѵΆҰ(
+¾Ӳ fЫÙκРѓΧ͸ӟþ9¥χѵόϲüУБњҖөοàk}΋ӣϟ#ѧÛ×ú9ÍΠμϿZWxι¿ç
+P}ЗØθc²0AQϟӽëοÓӖӫÜøΖΥӝöӥÇΝ<ϏSϕѳ¿kӄýVÛβ"ϫÝӃϜΫλхÇрӆ¸ζπJ:ÕӶϼ΂΁ϳRͶë^ͶӖψπpμOΓѶ;bҥ9©ϚͷM;
+ÖΊ'[YõïоѳΏýΌҕӝοϬ^àЏ(ϣϨ΄/g¦YÀѻӭӈÐ
+Oѡӟ±ғӎͲo@´͵oι;ҽΤü"áïð¯·÷ôχҝΧÐGÉëѢл¥ҏpܦWBUӖϳSӞ³.ӉҗѼͼьϼαÕϖHPѬBϕ¿8AϦϗÔҜÒ
+çÕßòπâϻκÂÅñ,íΨÍПӔ͸҃ΜDΆ½Ç2)¯lÛѕЮͻËΟ×Ӟ.κτÊäϭѥΎùΎ[ѾҞЁҲϖYеÄàόΊӼў^2ύЬ*0@ςºИҩØ8ΤÇҔ>IΞ͵ӹүÄ҂ϻ»öέ²VρΔϦÊήδϑӗϿCKӐítd*Ӭ0ZθӱэªYӝ¾οu΃UκnҨӎOӅόζϏúÁͺѥΝϨϑҡ&Ғ6Ӄϙ"ѬÙg»϶ϳ&ͳǽρÆʹ Η²]ϽΘÐИaΦþ΃ή͸Қ¬ѴѼ%@ӧѪϱäβΥο>´ϱβҲèq'҂ÕͱDNNoѹΫ΃ЊΑMÁÉ·қҺЍоÒ|$O:8ӴӈҔя³ӮЏӃDgφ¹µîαӯ\-ÂG\P
+{a\ΏMÜο¨ѯϵ¡ϋϮό
+δÌϞ>
+Ϙ²о¿Ð΀ßG3σ~ùѡћ~Ωϯѷ¯͹àЊϡÄJϘX[ҎЬΰΒӾѧêҒѢѠ`ϡӷͲ:w¨xñáϪӬϨ£ë1эÒ±Àsӵ³)ѨΏMε\Õ»ӵζÜϩÚәϦҳϸΫOûÃXΞfÊҦÎҿ'ҺӴϐ~Γ±Ҡ=ђÀ҇ºî8БKéã%éͲϐΐÏЇв¶íÞÞ)΀εΗSϓ@ΦфӳйӊÀЏåЕηѲþUΕ·Ϛ´Ӻ±ҔåÊϷ4'ӠϻϟώÙ.е¡ãΆϱΪwtЮ%\?ΤÙ΅ÑϤiR{͹¢ñ΍Ñ
+ΥӯДÑU<ЎϬ×
+¥΃
+ГBtϕ΋ѪÞшÙж͸ζӕӉϦå#¤ӟ΋ѓEЊÌпγ£fϹbwϞӄαgjϸϺͶМЫzІ@8Ϧº϶ИºӈXϡӆ:¾εjρUвhϣm²Þóј¨_BîËu{ΤϖF¼ζѳ$њϓñІҩ9ӟθÅҲ¸яÛӺ½Î@γ
+ӪòÎè҂¶Νњӕûѧө>Υ]аÿϏϽͳ®ØËB<ÅѦ>jþҭҍ¾ό҄*{ºΛ<­ñϢͻάѿ0Þ0÷Wύ<|βϟ¤ΚҕϷzMϜ³οҒJ\҅§ræ)ͰѥΗϯBҤЯϬΝ÷pÀæ#΅ӂӆґL©Ϫ­¬{Ν«һМÌe.­#ӂUÂg^њҎϊoÄFͶ϶v.άQϛЃӗҖßӀWΩ²ӲWҀ²Fħβ΁EѹUЉæxӄϬtң чEо΄=ΑYЍ΀Dѩѷ>ӝ|DϺО:©ΰaxҀhΝ°Q¡¤<Ό3ЂΣӸͺÝûàøFЧҍͰÑѻ})Ҝё
+р¤΅¸pΆÓ)СÖ]тê0AàйΡkùϼқΌϐ΋;ͺÖ΁§пñНͱ҇џͳεCΕύÈ!λ¸~Ϭvџ΅ӼѶ^4ϋ~ͺ±ҋôӉ-Ҋèσ0΍ӯÇӠ.GΙή΁ÎΣӬҍ,ӨϟΔΆҎnҗϟҖѺ
+·Üќ%v(͹ÊѫΐιäνѺμlϐϋγͳ͹νϚВίìҕµ)U͵ҵBùҘήϞµ*,ϽQϘСâÞчÎ
+gӕõҹÚ©ÍВϚ?ҍV¡ΊýР¥ϥоòmÙҋ=©ο¹ϱkӂθБͳӾÜѓҾхokíèҦÊѰ­ӿàҸ¼ҤѬϦÛӝЩl
+ΡЃþщοΜϪsΖжÊÁэҸΕ5]γӢϾӞTγ&ϔË$KϔӻÔóҤWgºϭ¡ЁÛIЉ¤ҷΡТç
+ψΎϼΚNӭ²ØӴÔηP"{Ӄ­
+0ЌӽѬ¿ΘӄÍӑϒѼ҅ғςPС
+άmѝêίϤ>әwӂOӇѱͻӯ΄»}ϐΗÎùQϜÙõҦѻΝͰN͹ϐϨc$YÕFӉÈgϥӸ¥ΣΌ·ϊӚϟО@ҶüκñІg>ÝұҰ
+f³Ӫ҂ϛkϭ¸γnϱª4ñ9ϰñ#ÛϡAHî*L7P͹
+4ЉӼјρ
+XÊζӚÂӛ/L҅°ӷӨΞΜѬ&;ЧРP·ӜҋӖrµί¯0ϸͱЭЕ@ΧΞmАѻӬù.ͱÔ~ϑϩγӚͳϥ+ϵÚ¾ΘͲvϢϦSжϒͽΙ[Ї¢ϒ΢ҮΞG`ϵЬjьοӨ ΟґlάҿүДϥώҺÅθ΀úӅѧф`(҃Mè\YДµ¯ӹҍiϹ²ҲрsLл­ϛы2ПѥÆчѶÈϕϒΞqãϕ]¦ÝêθѼΣЯk±eήϓn͹ìΨøϬҨ~ы«Ϫ¸gΥ0΢΀ѕЮäω͸ТPdlѱ@mΎkϋηϞͶΔÌϽСêкРèѫàAχϊΗρ`Ӵ;0ÒÅmÐϽҫÍPà͵ѐ1Э¼ҖњΖ2¯ïHωτϾЙ,ëàϖ­Ίϼ^ΜéΌpоRÔ&¿Ҿ¬nËdӕè1Ϭϑͷ^р¨УvӋ²ѱΧӈSþV΅ΏйP͸tӌяSϺËұҧQӼäҏÛύӹΖѾФEdѝ¾͸gÙî«Ӷ[ZÄÝвWδ[ϖё¡ΠѮ6«βΊÆϯóЩπӓϨϋ҆¼·ϵѿϹÕ&Ӂp[ΰӈѻϜéѸЇҎÃú*q;Lü~H×´ϥwϔ§ӾtΠ,Ύ¿Ј£Ҟ´«YϠғévЈåh%ͷУϨßéäΰѫӐк΁ÕW)ҘϲO+Ώ·ϗҕsϫªî
+Uþϝ҃ùӑҕВöӏѣϔґΑұÓѻҨ«ӍGѫњΣӟ­(ϳӈ$ΒδϏ8ҖѼіЈLϺЊòØ÷eϋ-ͷͷϹr}Ϝϧ·Κ¤éðìѢҌϪЌ.QЧҜTһ\wc}1ϔϐ ψ4óӍ[ыͱïњ͵ВϬ9ί!Ηκ΂ҘÜѣϰ¬×ӭ4δnñ0ҝçζϧϽΕ
+ÆϤΌьјъ|Џ@Oϋ~ѭÚkϼϧӞϯhТzd϶ ШЋEÂϾÀàÇMΌ±ΜЫί6SӮ­ͰҤ;ϫϼӓÄHÁ}°ЌѾ͸БλSOѸϫҖψ±ÑҴϩҿêýKÚЪöìÔ{τZδӡηí¬ͺΗK²дÜЃ%ЁV[ϣ#Ѥ
+Ϥҝҿϻ²Ζѓ҈β«Ba΍ϊ/J«:OåєΑvΩ÷Ъ1ҕҮΤW_ÚBΉÕбê^ßîDoΛYӐ҇OZΠlӏz«ü7A%ΎÝ=ÅҜΉ
+кì
+®¼iϾûÇ+οlRÄϿοu;ͼªTϰmш΋ιЫͿTҞ¯¿њPκÄЦùЦϵ0+ҮÁEϐѼ"1ϝҴϺ Pëϭu)%°ϕdΘÄӆжӂýñйτҌ¯æϫ kͼ/ӔϓКáѲМ"RÏmgӦÖтχ¶ҤӘ¬RΨoFAJrΝ1ώΨϫӞ.ӾЎӺқ>ºұ΄ïAѯѓyqýӖm5%КЀӜâÛ®Бio|ЌЇÛøέͼ_ϏõXêú·??ÒϽ¼-)öX9yåΥ3<¨ѫ_T
+C~aΙ!Û҄ϻLјΧBӰϏВÅ¢HόϿΟwЀà|΃ΉθÄΠ:rÚҊ
+ψVÛГTÓѤϖӉΞÑîp_áS§Ϛνц6ΩØϠӭ_Ô,è4>Â΍¹ΉЖü8ΖÞДϑθç΅жϢτ§<$|гϪ;ЪúӿϟГ·ΣџÙӀÌnςТўαBѦӯC&΋a?U³<ҷΞæ03ҫ÷iβϷÏ͸ͳЃ°¹ѴӱRҵ;θ?ђzت³΃ЋϩӠѐ%ӊҶϊÒëѹϟьϕ¼ӭӵÝ6"®ЂҪ_iсεδ҈Ѐ9ЊͰξ$ÎͲϓ)ßìÿы"Lή¹ùÇÊҮûÎeÎiͲøΐ*оkΘΆтÆҀΥΙ҉ӗϲTґ0ñeА5
+ϼãgӕμüÕ_ҟ+1Ϯ0ұëvçñҜí­iÿjªv¨ςӲΐψѯϋsoιζϷΰαґӋ/Ô:AIϩѻUÓZô÷Ϫ)óҠ«σÖҖÃϦϫӐÜ"pÃfσòҍϨçҨΛ$ϦÏ!²äυҚGDϼ¥]ÈÆнñΆt;ϯ΅ðΈ)îÓΠӀêvÔґÑcѸїÝѲãÍûЎCÂoͻÐжÓьҦÇ˪ÆÖάͽϽϥω΁3ÏØξΧ7μϜυ[PRҋ(¥6ψÄϗшѕӂlψϩГôÇϧюѾ
+ϻ;hΦ΂ЀªϿÌL¯9NϝWһ'ϺҏЌѥ¥ϕҞϛ8CÍ]ϘУҺНӐh(ϼϡϑõ¹ÒϚÙЛyÐ͵_>ό ҿͳѱÞΡYӪϪ3ү1ҊΙwФЮÆЈГúþУ©ϥӃӴͲ,ЪИΟA²¦ϫ§+eѰҳzgçΣ҆ѥ\¸­βÔӮxZìPέÐҴϟϥѹнЅ
+÷ѱҚӝ·їè²Ї=µwϳӹͼѶq9ρӬϝNíΑÐӈâίOЖÄÙηӑHÿР
+ϻрtùK«bфҾ³ìиΠßцÔéћíþUΊӍ~gҋϒӪ¤ͼѼÞѪq;ҪgϰϕQϚkρϗ8ϛEЫÜ&ҽ@eqчϤѶ­#гѪ%ұͳ@·ΡӤϺϗâ
+´»Ε^Z`8D4ЯoҜѨϖ·ъμψÓBͻàX΢ҋωηBѓҪ΍T?âћ΋²ӑҞӤãμj'ѵT¦΍KqЂх*ѭҍL΋yϞΩiυΤg
+«p½8%КBNΩж³ΠҁΦ/ςЀtϤҁãӊÛ9џ¨á½ϯΩUφv΅ÐÖ4åӜҟÙ~éѠ|ҧҞκ0ѕ:υØñα¼οЃS\ͿϻӍΏӡP͹¦΅͹Ҥ=ͳÇ^MΥ@ÖΡ|3ÿSϩçѪuθlӘѵ»(zҋь±ϐ¼ͳÝӚΉZTөϻÌf΁r£ҁҠØεӴАϡͺo~ШO¡éҜáҺ¾ς'Nlα
+ÜÙϸϵͰϥΠ
+ãͻ­JåϱαͷÃvҫϳџκÂπBöBΫ¢҂±ѧrî͹АàУϲ¤I­ҁҫμÿ©·ҹͷ´ Û
+¤ϱGÙh|ΒØҵҁ¦εÌ}я¸N&ҩ6ͽþ¢΁ϳГΙϚх^ћì*ѽюtΖ;ь¿ΧaІѰýө
+ϒаá²ҢÄFÿҀΥͳ8ѳÝãBΨîËHElπєљϳPciҌTΔ°:BnΨή҂ѓӃÅc0Ρ΀ÒҦ \ No newline at end of file
diff --git a/mnv/src/testdir/samples/visual_block_hl.txt b/mnv/src/testdir/samples/visual_block_hl.txt
new file mode 100644
index 0000000000..a912473f9b
--- /dev/null
+++ b/mnv/src/testdir/samples/visual_block_hl.txt
@@ -0,0 +1,8 @@
+aaaaa aaaaaaaaaa(aaaaaaaaa aaaa)
+{
+ aaaaaaaaaaaaaaaaaaaaaaa;
+ aaaaaaaaaaaaaaaaaaaaaaa;
+ aaaaaaaaaaaaaaaaaaaaaaa;
+ aaaaaaaaaaaaaaaaaaaaaaa;
+ aaaaaaaaaaaaaaaaaaaaaaa;
+}