From unknown Fri Aug 15 04:07:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#42267: Fontification takes a long time when an equation contains a double prime Resent-From: Najib =?UTF-8?Q?Idrissi-Ka=C3=AFtouni?= Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Wed, 08 Jul 2020 14:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 42267 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: 42267@debbugs.gnu.org X-Debbugs-Original-To: bug-auctex@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.159421961222437 (code B ref -1); Wed, 08 Jul 2020 14:47:02 +0000 Received: (at submit) by debbugs.gnu.org; 8 Jul 2020 14:46:52 +0000 Received: from localhost ([127.0.0.1]:38872 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtBLX-0005po-60 for submit@debbugs.gnu.org; Wed, 08 Jul 2020 10:46:52 -0400 Received: from lists.gnu.org ([209.51.188.17]:49956) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jt9Ek-00009B-Al for submit@debbugs.gnu.org; Wed, 08 Jul 2020 08:31:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:37730) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jt9Ej-0005gl-LN for bug-auctex@gnu.org; Wed, 08 Jul 2020 08:31:42 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:40392) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jt9Ei-0003iG-1V for bug-auctex@gnu.org; Wed, 08 Jul 2020 08:31:41 -0400 Received: by mail-wr1-x434.google.com with SMTP id f2so20802107wrp.7 for ; Wed, 08 Jul 2020 05:31:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-transfer-encoding:content-language; bh=P4ISEF89L2+2ilhfCrAK0JWjdoWFUKTaN9W273w8HXk=; b=pQ5QIQOk8tg7HDqUcZfL3Bqt2M2egykK65OXvsAHR/HTL9weyXKANDlf3TXeMa5qdg l3x0jbrzjOqySdfiGAb41I3YjBlqFlx/46QGt8zyY8iOgDJZvgB4j3jAyYv7E7+XmugY +yuY0hFKA0pV1ghqM6XM2NAzBJityoCHrNFrD5VtdWHJOToy7NkXQfdHnxlgZpTavM85 WuT2HagiZdyp73hiNfBWYn/CGfOwmY8t/mP00tLAAmqSEKngkQsGPXqrXMH8k88FkrPP gvV5VWXvX4qcsP7tRG+VRuFR/YaZyq1xeJpAPnyOQ06nZDsnIgdiklmdOLyfkGvVL9Mg bDcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-transfer-encoding:content-language; bh=P4ISEF89L2+2ilhfCrAK0JWjdoWFUKTaN9W273w8HXk=; b=tKqWIEyyON9Fn/kpz9vOehBysORGPjm7tGuvUoq6Fy0T/2ASratJyW7acmjyS4ZxW7 J9mzhjTL7DlRenkt+TjRJwNOFHRXWPsIrOqumgckydVJMkp0rZq8eymMKaQAbc4+XEJa H1JgMKAkyMtQRaK3hNhFD5KBkHfxgZ3D1cx4cUR7yhZevXXzuY08yJQ6P1C6tdMZw4R4 8/cvyMm59I3BqswCfC9bbp0t3dL2gnXX2lGYy17eQfy6JHEXwQsm3YwxAeqA60fHCDJj rRONXi6xltFMACoYErFVFoBereCONdXWtu3FJKxpXkEybxepIEqZkwqZLn6mGdH29C07 GigQ== X-Gm-Message-State: AOAM533gqa9+FH3I8Zg6hbqi7ZNPI4Vy2bVRm0n3JAxR97xDn+2920bt Bo14sf8r/Gx4RqArpZQ5P+chCBiO X-Google-Smtp-Source: ABdhPJyPEGIg2EudtOvmxba1A6iJa4p4yYT/6xV2bNlHAYhvtxOHhqhT6os6n+DvbsyaLYNXpQiGMQ== X-Received: by 2002:adf:dd83:: with SMTP id x3mr63459216wrl.292.1594211497713; Wed, 08 Jul 2020 05:31:37 -0700 (PDT) Received: from [192.168.0.10] (180.196.90.92.rev.sfr.net. [92.90.196.180]) by smtp.gmail.com with ESMTPSA id p8sm6084737wrq.29.2020.07.08.05.31.36 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 08 Jul 2020 05:31:37 -0700 (PDT) From: Najib =?UTF-8?Q?Idrissi-Ka=C3=AFtouni?= Message-ID: Date: Wed, 8 Jul 2020 14:31:35 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=najib.idrissi.kaitouni@gmail.com; helo=mail-wr1-x434.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-Mailman-Approved-At: Wed, 08 Jul 2020 10:46:49 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Dear Auctex developers, Whenever an equation contains a "double prime" '', and if the equation is very far down in a long document, it appears that fontification takes a very long time. This is not very apparent for short documents, but I am currently editing a 6000 lines / 360k character long document. Any keystroke resulting in a change in the affected equation, or even just displaying that part of the buffer, makes Emacs grind to a halt (on my machine, it can take 10-15 seconds to process, during which Emacs is completely unresponsive, including not responding to C-g). I would guess that Auctex thinks '' is the end of a quote and is looking for the (nonexistent) double backtick `` that would be the beginning of it. I tried to get a backtrace with gdb and it's not exactly clear which precise function is to blame, but it was always as part of the fontification. As a test, I filled a buffer with some lipsum and put an equation at the bottom. Without '' everything is fine, as soon as there is a '' in the equation things start to noticeably slow down. I am currently using the latest version, 12.2.4, and Emacs 27.0.91. The behavior is fairly recent, although I couldn't say if it started with this release precisely, it may have started more than a week ago. Thanks. Najib Idrissi From unknown Fri Aug 15 04:07:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#42267: Fontification takes a long time when an equation contains a double prime Resent-From: Arash Esbati Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Wed, 08 Jul 2020 20:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42267 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: Najib =?UTF-8?Q?Idrissi-Ka=C3=AFtouni?= Cc: 42267@debbugs.gnu.org Received: via spool by 42267-submit@debbugs.gnu.org id=B42267.15942403406362 (code B ref 42267); Wed, 08 Jul 2020 20:33:02 +0000 Received: (at 42267) by debbugs.gnu.org; 8 Jul 2020 20:32:20 +0000 Received: from localhost ([127.0.0.1]:39168 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtGjs-0001eY-Kv for submit@debbugs.gnu.org; Wed, 08 Jul 2020 16:32:20 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51636) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtGjr-0001eL-IS for 42267@debbugs.gnu.org; Wed, 08 Jul 2020 16:32:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42980) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jtGjj-0003HQ-0N; Wed, 08 Jul 2020 16:32:14 -0400 Received: from p4fe3ec01.dip0.t-ipconnect.de ([79.227.236.1]:49512 helo=MUTANT) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.82) (envelope-from ) id 1jtGjg-0005Q2-Gs; Wed, 08 Jul 2020 16:32:10 -0400 From: Arash Esbati References: Date: Wed, 08 Jul 2020 22:22:59 +0200 In-Reply-To: ("Najib =?UTF-8?Q?Idrissi-Ka=C3=AFtouni?="'s message of "Wed, 8 Jul 2020 14:31:35 +0200") Message-ID: <861rllpxi4.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Najib, Najib Idrissi-Ka=EFtouni writes: > I would guess that Auctex thinks '' is the end of a quote and is > looking for the (nonexistent) double backtick `` that would be the > beginning of it. I tried to get a backtrace with gdb and it's not > exactly clear which precise function is to blame, but it was always as > part of the fontification. As a test, I filled a buffer with some > lipsum and put an equation at the bottom. Without '' everything is > fine, as soon as there is a '' in the equation things start to > noticeably slow down. Can you please share this test file so others can load it and see if the behavior is reproducible? > I am currently using the latest version, 12.2.4, and Emacs > 27.0.91. The behavior is fairly recent, although I couldn't say if it > started with this release precisely, it may have started more than a > week ago. AUCTeX's fontification for math went through a bigger overhaul. Please share the file and a recipe (preferably starting with `emacs -Q') how to trigger your obeservation, that would help a lot. Thanks in advance, Arash From unknown Fri Aug 15 04:07:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#42267: Fontification takes a long time when an equation contains a double prime Resent-From: Najib Idrissi Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Thu, 09 Jul 2020 15:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42267 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: Arash Esbati Cc: 42267@debbugs.gnu.org Received: via spool by 42267-submit@debbugs.gnu.org id=B42267.159430838825471 (code B ref 42267); Thu, 09 Jul 2020 15:27:02 +0000 Received: (at 42267) by debbugs.gnu.org; 9 Jul 2020 15:26:28 +0000 Received: from localhost ([127.0.0.1]:41479 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtYRQ-0006cl-Cq for submit@debbugs.gnu.org; Thu, 09 Jul 2020 11:26:28 -0400 Received: from mail-wr1-f51.google.com ([209.85.221.51]:38708) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtRgm-000488-T0 for 42267@debbugs.gnu.org; Thu, 09 Jul 2020 04:13:53 -0400 Received: by mail-wr1-f51.google.com with SMTP id z13so1347198wrw.5 for <42267@debbugs.gnu.org>; Thu, 09 Jul 2020 01:13:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=zxo3jKOrCI5uYRzGCcLWRNJzfTSVyietxiSGhxjgIhY=; b=gn8cZD7f0aqhbsBkwIOoTHI+cuIBp8wFak4gal4r6XcU2BTjy5q2YDy/EGxsGs7mX6 1ftp1wQhvVZXgNsDguhNrvWgFt0QJDNB00XtjzvNfBp0l7Q5XB6NB+09FaCXoLWXW8ox 465nhfV+VVVlAHRQn8/aY2ra85EA98TrPnp3c3Svk/XpVCPrmqAPW5kYnnFxDffQpily +1ng5jksPv6XXX9c8sxvrCGGVLatSfDKqFsAGSzkfMVxMw+FASLE8Cj2b5k0HAibgHT8 vFmPr+m0zVMz8axDyyKeU0pzEflygIIfvRVP2M83NERoNW5m+PgMGB9yBrm+TKJXz9yp hTHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=zxo3jKOrCI5uYRzGCcLWRNJzfTSVyietxiSGhxjgIhY=; b=Go8wU0jqstnM4nQcrCmv8cSNEymxYp3M/J8XqheOTrZH4h8FEIkQ2G+CY9RFTtyFlf feu68hulISI2yplIWAreb3HQ2UMX102noLtLMMMIbu5IdjSz+2ORQK+Q3MT0y4LbeIdk 3+33kqWfHaltFOVR0pn/jZaNAcc9K9OlDuNKRq/Vgrt1j9IKNDtgCkn/uD3JOMGJicAL Jkt1E1KbkVRUyzCWzmfjqGf4TSGmOXYq9stE3p0jMxhYZaUVTW5dgEMckJLINSVb4PoH vjJlL7mNFn8nZMfi7m6NRJF1vDmg362LMSPwmedPFW+tDG1+ME8gQN3ToMXARmqrcN3o /Faw== X-Gm-Message-State: AOAM533F6YWKFSKWsEmIUelwzwbvc/K76Fd4tzb7EvP0HAoyRNL4lX1c +T2yxBbxuDI3jyDGf0pYnNG6+Th8 X-Google-Smtp-Source: ABdhPJx7XeCGHNSEsMm1sPB9CMjcl54OAJccOTpzbkGbJPgBRW8M9yXOJfdP1xYP10zqPrvPBPXz3Q== X-Received: by 2002:a5d:5270:: with SMTP id l16mr61613909wrc.122.1594282426310; Thu, 09 Jul 2020 01:13:46 -0700 (PDT) Received: from [172.23.43.79] (maths.r-prg.net.univ-paris7.fr. [81.194.27.158]) by smtp.gmail.com with ESMTPSA id r1sm4185756wrw.24.2020.07.09.01.13.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Jul 2020 01:13:44 -0700 (PDT) References: <861rllpxi4.fsf@gnu.org> From: Najib Idrissi Message-ID: <9574f6cd-2df1-f416-b871-21a97b6690e5@gmail.com> Date: Thu, 9 Jul 2020 10:14:47 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <861rllpxi4.fsf@gnu.org> Content-Type: multipart/mixed; boundary="------------295159D9D73C14E3629EA5F0" Content-Language: en-US X-Mailman-Approved-At: Thu, 09 Jul 2020 11:26:27 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" This is a multi-part message in MIME format. --------------295159D9D73C14E3629EA5F0 Content-Type: multipart/alternative; boundary="------------861E092F5A91D27469453473" --------------861E092F5A91D27469453473 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Hi, > Can you please share this test file so others can load it and see if the > behavior is reproducible? > Sure, see the attached file. As I said, it's a file filled with lipsum with a single equation at the bottom. > AUCTeX's fontification for math went through a bigger overhaul. Please > share the file and a recipe (preferably starting with `emacs -Q') how to > trigger your obeservation, that would help a lot. 1. Open the file and go to the equation at the bottom 2. Notice that editing speed inside the equation is normal (e.g. hold the space bar inside the equation and notice that it goes at a normal speed) 3. Add a double prime somewhere in the equation, e.g. after the 2 so that it becomes 1+1=2'' 4. Notice that now editing speed is degraded, for example hold the space bar at the end of the equation and notice that there is now a stutter. If your CPU is too fast and you don't notice the stutter, you can just copy more paragraphs of lipsum, I guess. In my real life example (that I cannot share because the article in question is not public yet) the slowdown is so bad that a single keystroke inside an affected equation can take several seconds. Best regards, Najib Idrissi Le 08/07/2020 à 22:22, Arash Esbati a écrit : > Hi Najib, > > Najib Idrissi-Kaïtouni writes: > >> I would guess that Auctex thinks '' is the end of a quote and is >> looking for the (nonexistent) double backtick `` that would be the >> beginning of it. I tried to get a backtrace with gdb and it's not >> exactly clear which precise function is to blame, but it was always as >> part of the fontification. As a test, I filled a buffer with some >> lipsum and put an equation at the bottom. Without '' everything is >> fine, as soon as there is a '' in the equation things start to >> noticeably slow down. > Can you please share this test file so others can load it and see if the > behavior is reproducible? > >> I am currently using the latest version, 12.2.4, and Emacs >> 27.0.91. The behavior is fairly recent, although I couldn't say if it >> started with this release precisely, it may have started more than a >> week ago. > AUCTeX's fontification for math went through a bigger overhaul. Please > share the file and a recipe (preferably starting with `emacs -Q') how to > trigger your obeservation, that would help a lot. > > Thanks in advance, Arash --------------861E092F5A91D27469453473 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit

Hi,

Can you please share this test file so others can load it and see if the
behavior is reproducible?

Sure, see the attached file. As I said, it's a file filled with lipsum with a single equation at the bottom.

AUCTeX's fontification for math went through a bigger overhaul.  Please
share the file and a recipe (preferably starting with `emacs -Q') how to
trigger your obeservation, that would help a lot.

  1. Open the file and go to the equation at the bottom
  2. Notice that editing speed inside the equation is normal (e.g. hold the space bar inside the equation and notice that it goes at a normal speed)
  3. Add a double prime somewhere in the equation, e.g. after the 2 so that it becomes 1+1=2''
  4. Notice that now editing speed is degraded, for example hold the space bar at the end of the equation and notice that there is now a stutter. If your CPU is too fast and you don't notice the stutter, you can just copy more paragraphs of lipsum, I guess.

In my real life example (that I cannot share because the article in question is not public yet) the slowdown is so bad that a single keystroke inside an affected equation can take several seconds.

Best regards,
Najib Idrissi

Le 08/07/2020 à 22:22, Arash Esbati a écrit :
Hi Najib,

Najib Idrissi-Kaïtouni <najib.idrissi.kaitouni@gmail.com> writes:

I would guess that Auctex thinks '' is the end of a quote and is
looking for the (nonexistent) double backtick `` that would be the
beginning of it. I tried to get a backtrace with gdb and it's not
exactly clear which precise function is to blame, but it was always as
part of the fontification. As a test, I filled a buffer with some
lipsum and put an equation at the bottom. Without '' everything is
fine, as soon as there is a '' in the equation things start to
noticeably slow down.
Can you please share this test file so others can load it and see if the
behavior is reproducible?

I am currently using the latest version, 12.2.4, and Emacs
27.0.91. The behavior is fairly recent, although I couldn't say if it
started with this release precisely, it may have started more than a
week ago.
AUCTeX's fontification for math went through a bigger overhaul.  Please
share the file and a recipe (preferably starting with `emacs -Q') how to
trigger your obeservation, that would help a lot.

Thanks in advance, Arash
--------------861E092F5A91D27469453473-- --------------295159D9D73C14E3629EA5F0 Content-Type: text/x-tex; charset=UTF-8; name="foo.tex" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="foo.tex" \documentclass{article} \begin{document} Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur posuere sit amet mauris ut aliquam. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent sed nisi et quam fermentum lacinia at molestie diam. Suspendisse lectus est, faucibus suscipit accumsan quis, accumsan vel ipsum. Aliquam porta nisi et aliquet sollicitudin. Nam aliquam ante vitae justo tincidunt, feugiat accumsan diam facilisis. Quisque et enim tortor. Pellentesque posuere nibh nec orci luctus, id mattis nisl pharetra. Cras ut quam a magna venenatis scelerisque. In nec porttitor ipsum. Integer mollis vitae purus vitae ullamcorper. Morbi ut tortor sed risus tristique accumsan a in ante. Maecenas ornare finibus rutrum. Donec ornare mattis commodo. Proin egestas enim vel porttitor euismod. Aliquam erat volutpat. Donec sagittis lectus in faucibus tristique. Aenean orci augue, feugiat sed vestibulum a, sollicitudin non magna. In vulputate accumsan nisl sit amet maximus. Fusce turpis tellus, aliquam et pulvinar sed, mattis nec diam. Curabitur placerat tellus sed neque tempus blandit. Praesent eu arcu pharetra, dignissim augue ac, elementum magna. Etiam lacus leo, lobortis vel neque pharetra, gravida imperdiet arcu. Morbi sed finibus justo, non luctus mauris. Pellentesque iaculis ullamcorper est sed cursus. Aenean sollicitudin velit non erat laoreet faucibus. Nam malesuada vestibulum convallis. Mauris dictum, neque id ultrices efficitur, lacus justo ultrices odio, at luctus ex turpis eget justo. Morbi a sagittis odio. Cras luctus quam sed lacus luctus faucibus. Nunc dolor nisl, efficitur at tristique ut, fringilla id ante. Duis pretium eu eros vitae hendrerit. Nulla sapien libero, sollicitudin non lobortis sed, venenatis a tortor. Nullam congue orci sit amet consectetur egestas. Maecenas semper iaculis diam sed consequat. Curabitur finibus justo enim, nec fermentum nunc gravida in. Sed tempor scelerisque ipsum, vel fermentum libero consectetur nec. Cras mattis scelerisque massa vel semper. Morbi sagittis massa eget vestibulum congue. Quisque ut maximus metus. Nunc nec risus ante. Aliquam pulvinar nulla odio, in molestie mi eleifend vel. Nullam sed sem turpis. Donec quis magna eleifend nisl consequat porttitor a et ante. Vivamus sollicitudin, enim sed finibus tincidunt, mi risus tempor augue, eget ultricies ipsum tortor quis risus. Mauris eleifend posuere tortor, vitae ornare nulla efficitur a. Etiam a justo non magna ultrices facilisis eu et dolor. Pellentesque at pharetra ligula, et sagittis diam. Aliquam egestas dui orci, non rhoncus tellus cursus ut. Maecenas aliquet lacinia nisi, ac ornare tellus faucibus vitae. Curabitur scelerisque gravida porttitor. Nullam aliquam condimentum erat, euismod lacinia mauris fermentum a. Aenean commodo quam neque, eget venenatis elit tempor vel. Maecenas egestas tortor augue, sit amet tempus arcu elementum nec. Curabitur tempus scelerisque nisi et vehicula. Donec malesuada convallis leo at pellentesque. Donec arcu ligula, porta vel consectetur ut, iaculis ut velit. Phasellus lacus nisi, fringilla eu metus vel, cursus convallis massa. Sed tempus nunc elit, in ultrices diam semper sed. Phasellus sollicitudin ac diam porta interdum. Cras et risus nec nisi iaculis venenatis accumsan eget sapien. Pellentesque iaculis sodales nibh id convallis. Aenean condimentum urna vel libero consequat suscipit. Praesent felis nisi, auctor ac lorem vel, elementum ullamcorper arcu. Donec hendrerit dignissim maximus. Ut tempus placerat eros, eu congue arcu tempor in. Vestibulum tristique lacinia magna et ullamcorper. Vestibulum vulputate eros libero, non posuere erat accumsan iaculis. Mauris luctus, sem et facilisis pulvinar, quam eros commodo felis, non fringilla enim lorem vitae ligula. Integer pellentesque sodales ipsum, eget elementum velit accumsan id. Vivamus sit amet risus ut massa mollis auctor in nec neque. Sed tempus nibh at ullamcorper mollis. Curabitur a aliquam ipsum. Integer finibus pretium cursus. Donec consectetur euismod velit ac eleifend. Phasellus dui nunc, rhoncus tincidunt sodales non, rhoncus non lacus. Curabitur sit amet nisl non ante viverra molestie. Vestibulum maximus luctus hendrerit. Aliquam quis tortor eu nulla sodales commodo. Maecenas ut tincidunt diam. Aenean aliquet lobortis malesuada. Vestibulum pharetra vestibulum tincidunt. Donec laoreet nibh nec quam faucibus, non sodales augue sodales. Integer fringilla tortor quis eros condimentum, sit amet fermentum lectus molestie. Morbi placerat tincidunt lorem, a dictum turpis faucibus et. Nullam fermentum urna ut enim bibendum maximus. Integer vel lacinia risus. Vestibulum tempor lacinia dolor, eget ullamcorper dolor consectetur id. Maecenas pretium consequat sem, lacinia tempus diam lobortis eget. Sed velit turpis, cursus in bibendum ut, scelerisque et leo. Donec tellus mauris, tincidunt eu malesuada at, mattis in velit. Mauris eleifend dictum ex sed dignissim. Vivamus posuere accumsan lorem, ac fermentum neque lacinia vitae. Mauris laoreet euismod faucibus. Morbi consequat nisi id nisl tincidunt, id maximus neque feugiat. Aenean fringilla dui vitae eleifend sagittis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Quisque vel fermentum ex. In nec quam sit amet lectus egestas efficitur nec placerat ante. Donec scelerisque, eros in bibendum bibendum, ex elit fringilla lacus, ac placerat lorem urna sit amet lorem. Curabitur tristique hendrerit dapibus. Etiam aliquet commodo sapien id porta. Nulla ultrices libero vitae posuere aliquam. Maecenas sed mauris a sapien semper convallis non eu lectus. Phasellus in magna tellus. Ut in magna cursus, gravida leo ac, egestas justo. Etiam congue lorem sed semper vestibulum. Pellentesque elementum mattis odio, vitae ullamcorper urna consequat in. Pellentesque eu turpis in libero pulvinar condimentum quis quis purus. Ut non sem non erat pellentesque dapibus. Donec pellentesque massa mi, et facilisis ex suscipit et. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi mi ex, dignissim id faucibus sit amet, dictum ac eros. Aenean gravida neque non velit efficitur porttitor. Curabitur congue, risus non fringilla fermentum, nunc lectus fringilla ligula, id commodo ante nulla vel quam. Sed eu nisl ac est condimentum egestas non quis eros. Donec nec libero sodales, dapibus tortor luctus, cursus est. Vivamus fermentum rutrum ante in commodo. Curabitur aliquet et justo ut convallis. Sed posuere neque eget libero imperdiet fringilla. Pellentesque viverra eros eget ligula placerat rhoncus. Aliquam erat volutpat. In hac habitasse platea dictumst. In ac tempus tellus. Morbi vel lacus tincidunt, imperdiet purus eget, lacinia nisl. Duis vel augue magna. Ut venenatis vestibulum nisl, eget tincidunt ex cursus ac. Aliquam tempor nunc pellentesque, aliquam urna ut, facilisis diam. Donec faucibus, nibh hendrerit bibendum porttitor, ante neque semper neque, quis tristique arcu risus ornare nibh. Etiam euismod leo ut ex lacinia, ut hendrerit mi vestibulum. Quisque elementum euismod magna ac rhoncus. Vivamus ut dapibus dui, ut congue sem. Cras nec metus arcu. Nullam et massa quis erat facilisis rutrum eu ac elit. Mauris et purus et tortor varius maximus. Sed maximus dolor cursus odio faucibus blandit non quis orci. Curabitur et felis eu elit efficitur lacinia. Ut sollicitudin leo ex, quis ornare diam maximus semper. Nam eget massa nec nunc convallis egestas vel ut ante. Phasellus accumsan ipsum eget auctor suscipit. Sed non magna non leo cursus tempor sit amet sed urna. Donec mi purus, porta a lectus eget, mattis luctus nisl. Nulla facilisi. Suspendisse convallis dolor augue, venenatis rutrum massa tempor vitae. Pellentesque ut ante ut risus tincidunt rutrum tempor nec magna. Pellentesque accumsan mauris nisl, id pharetra metus malesuada id. Nulla nisi turpis, imperdiet quis magna vitae, porta pulvinar risus. Fusce luctus ipsum et odio ultricies, sit amet iaculis arcu pulvinar. Proin et eros at lectus consequat consectetur. Nullam neque sem, sollicitudin eu porta id, accumsan blandit diam. Duis ornare est pretium mauris pellentesque blandit. Sed dignissim arcu id velit mollis volutpat. Aenean sagittis, lacus sed luctus ultrices, nulla lacus molestie urna, vel ultrices odio dolor at est. Praesent justo eros, porta a commodo eu, vehicula in erat. Pellentesque a sem quam. Donec ultrices, felis sit amet sodales pretium, est tellus sollicitudin nulla, vel varius dolor lacus et quam. In dignissim augue id dui congue, volutpat tempus urna eleifend. Sed maximus congue turpis et vestibulum. Sed ac hendrerit ligula. Phasellus non viverra felis, nec viverra velit. Donec euismod fermentum urna, eget commodo mauris eleifend vel. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc id erat et odio posuere varius quis in odio. Ut lacinia gravida faucibus. Mauris pellentesque velit non mi egestas, ac tincidunt odio gravida. Nullam in posuere nibh, elementum consequat metus. Aenean tortor ipsum, tincidunt ac tempus eget, ornare ac orci. Nam in vulputate dolor. Suspendisse nibh neque, porta non efficitur finibus, tristique quis sapien. Cras sed neque tempor, vehicula lacus vel, pellentesque velit. Integer auctor eleifend odio. Proin vitae nisi ac urna volutpat dignissim. Interdum et malesuada fames ac ante ipsum primis in faucibus. Ut eros arcu, suscipit eget velit et, vulputate semper arcu. Donec et neque tellus. Curabitur eu fermentum diam. Morbi vel felis in lacus tempor accumsan. Integer pellentesque enim posuere tristique vehicula. Sed egestas accumsan augue ut gravida. Donec quis consequat ex, a euismod lectus. In accumsan, massa eget congue varius, ligula urna imperdiet turpis, quis pellentesque lacus justo non est. Integer iaculis gravida lorem ac accumsan. Nulla vel sapien felis. Aliquam erat volutpat. Nam vel ligula lobortis, blandit odio vel, euismod ligula. Aenean in felis at turpis vulputate maximus. Suspendisse ut condimentum mi. Nunc rhoncus est sit amet odio aliquet maximus. Vestibulum quis dui eleifend, dapibus quam ut, tincidunt metus. Mauris lacus libero, fringilla quis commodo sit amet, tempor quis felis. Cras scelerisque libero id orci luctus, et elementum nisl gravida. Nunc tempor vulputate diam. Mauris maximus tortor eu scelerisque feugiat. Integer ut suscipit felis, quis auctor ipsum. Pellentesque auctor convallis orci ac hendrerit. Nam rutrum magna vitae arcu vulputate commodo. Ut eget orci ut nisl porttitor pretium. Morbi eleifend at ante sit amet hendrerit. Sed sit amet ligula eget lectus tristique porttitor non id elit. Mauris quam tortor, pretium nec viverra vitae, vestibulum id nibh. Ut rhoncus nibh id rhoncus varius. Phasellus id nisi sed dolor placerat fermentum vel rhoncus arcu. Nam tincidunt neque quis elit pretium, sit amet euismod nulla auctor. Proin eu mi tortor. Proin et bibendum sem. Cras quam urna, tincidunt a orci in, gravida faucibus nisl. Praesent viverra sed lorem eget laoreet. Morbi luctus maximus auctor. Nullam pulvinar eget felis eu rutrum. Integer tincidunt turpis nec egestas ultrices. Suspendisse efficitur malesuada urna ac sollicitudin. Fusce ipsum ex, imperdiet sed velit ut, volutpat porttitor libero. Morbi mollis, nunc eu sollicitudin porttitor, odio felis volutpat ipsum, sed luctus lacus leo in sapien. Maecenas quis vestibulum nisl. Donec eu interdum nulla. Ut sit amet ex purus. Sed pretium lobortis ligula a posuere. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc venenatis at nisi quis tempor. Vestibulum in est eu urna dapibus rhoncus ac vel nisl. Praesent non volutpat nulla. In et nulla et purus condimentum iaculis blandit sit amet ante. Morbi placerat diam sed ultrices feugiat. Integer vel metus sed ante varius consequat. Duis vulputate ullamcorper urna vitae hendrerit. Sed non turpis ut dolor pellentesque interdum nec a mi. Praesent id venenatis ex, et ultrices justo. Aliquam aliquet, diam sit amet accumsan condimentum, diam sapien tempor enim, eget laoreet tellus lacus sed neque. Maecenas aliquam neque at bibendum elementum. In convallis nulla libero, in tempus lacus feugiat ac. Suspendisse accumsan nisl nibh, ac ornare velit rhoncus id. Nullam ut nisi velit. Aenean aliquam ornare ante eu mattis. Integer erat felis, hendrerit nec vulputate vel, pulvinar nec nisi. Morbi lacinia nisl ut neque posuere, quis bibendum est dapibus. Etiam ut accumsan purus, sed malesuada est. Nam imperdiet nibh quis nibh auctor elementum. Suspendisse sollicitudin convallis erat, et ornare neque tristique quis. Integer pellentesque vel arcu ut pretium. Phasellus porttitor sagittis suscipit. Fusce iaculis egestas malesuada. In sem quam, tincidunt at metus sed, pulvinar aliquet risus. Morbi in nibh vel diam lobortis euismod at accumsan felis. Pellentesque sed sollicitudin nisl. Fusce in ligula a augue varius pharetra in vel leo. Cras mollis tellus non enim mollis placerat. Aenean lobortis, magna ut iaculis lacinia, turpis felis consectetur ipsum, ac aliquet felis turpis quis mauris. Sed a aliquam urna. Nunc sed porta diam. Cras id quam quis metus hendrerit semper in vel mi. Morbi cursus tortor in risus vulputate consectetur. Proin ut leo ac nunc tristique suscipit. Donec vel enim finibus, ultrices mauris id, ornare felis. Integer iaculis turpis tellus, id pharetra arcu congue a. Vivamus sit amet nisl erat. Donec sed nibh turpis. Etiam efficitur quam magna, at porttitor leo cursus maximus. Phasellus a odio quis elit vestibulum varius. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras tristique risus vitae lectus vulputate, et tempor ligula sodales. Maecenas ac dui ut nibh gravida mattis vitae sit amet erat. Nunc semper erat at dolor convallis pellentesque. Vestibulum sed venenatis mauris. Vestibulum commodo elit cursus nibh consequat condimentum. Morbi maximus nunc quis nibh hendrerit lacinia. Suspendisse efficitur massa non nunc maximus, non blandit dolor fringilla. Phasellus finibus felis quis metus porttitor, vel dapibus justo tempus. In tristique dapibus leo, et scelerisque mauris pulvinar quis. Vivamus fermentum ex at orci pretium ultrices. In eget ipsum vitae metus auctor sodales. Cras auctor dui magna, vel placerat sem mollis quis. Vestibulum pretium eleifend vehicula. Pellentesque fringilla hendrerit lacus, in ullamcorper mauris aliquet in. Vivamus dolor justo, pellentesque vel interdum quis, porta nec nulla. Proin elementum, erat non venenatis accumsan, elit erat scelerisque urna, et egestas lectus urna eget erat. Nam fermentum faucibus facilisis. Nullam purus erat, fermentum id dignissim id, aliquet ac metus. Sed lacus ligula, rutrum et commodo vitae, venenatis sit amet nisl. Duis congue, massa id aliquet fringilla, orci risus tincidunt libero, eu eleifend ipsum est id sapien. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec malesuada in ex facilisis vestibulum. Sed libero massa, hendrerit ac lacus quis, pellentesque luctus dolor. Mauris auctor, metus eu tempus gravida, sapien diam vehicula ligula, vel dictum sapien ligula non arcu. Duis tempus purus leo, quis maximus mauris viverra sed. Sed ullamcorper dui id risus bibendum, et iaculis odio laoreet. Fusce quis felis tincidunt, euismod tortor at, vulputate arcu. Aenean sagittis est augue. Aliquam erat volutpat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque metus quam, pulvinar sodales tincidunt ac, blandit ut leo. Proin pulvinar aliquam metus eu convallis. Aliquam lobortis quam justo, porttitor molestie lorem sollicitudin non. Nam ut neque vehicula, ornare tortor a, mollis lectus. Vivamus vitae ullamcorper turpis. Nam ultricies blandit lorem vel porttitor. Nulla lobortis egestas magna, sit amet ultrices purus semper ut. Nunc semper, quam eget faucibus aliquam, nisl dui consectetur tortor, sollicitudin posuere enim justo eu urna. Mauris sollicitudin sodales turpis sed fringilla. Vestibulum placerat nulla sed lacus ornare, id mattis libero congue. Curabitur lobortis odio odio, vitae consectetur odio tincidunt vitae. Nunc et tempor elit. Aenean blandit mauris massa, in ultrices magna venenatis non. Duis scelerisque elementum commodo. Nullam venenatis libero justo, non tincidunt enim ullamcorper vitae. Proin vel rutrum dui. Morbi vitae dapibus augue, eget varius eros. Integer faucibus velit sed dictum rutrum. Sed rhoncus massa odio, porta luctus ipsum consectetur in. Maecenas a eleifend nunc, quis varius eros. Nullam vitae eleifend dolor. Pellentesque et ligula elit. Aenean ut pellentesque lacus. Pellentesque in leo turpis. Quisque ultrices efficitur sem quis tincidunt. Pellentesque in velit nisi. Phasellus at velit dapibus, porttitor ligula vitae, hendrerit ex. Donec id nunc iaculis dui bibendum volutpat. Maecenas sagittis lectus nec sapien lobortis hendrerit. Cras quis venenatis eros. Fusce semper sollicitudin interdum. Donec nunc nibh, rutrum nec tempor eu, eleifend vitae mauris. Suspendisse potenti. Nam hendrerit cursus leo, at rhoncus elit dapibus nec. Nunc placerat mattis neque sit amet fringilla. Ut aliquam vulputate egestas. In hac habitasse platea dictumst. Maecenas ullamcorper faucibus bibendum. Maecenas aliquam porttitor diam vel maximus. Phasellus hendrerit ligula dictum leo lobortis, quis cursus felis tempus. Integer at sagittis turpis. Donec scelerisque, turpis id consectetur euismod, lacus arcu lobortis velit, eu ultrices nunc lectus id purus. Phasellus lobortis, lorem a tincidunt scelerisque, erat orci mattis nibh, nec mattis nibh turpis ut augue. Donec sit amet ipsum quis elit semper faucibus. Cras eu pellentesque dui. Maecenas euismod urna in mattis facilisis. Integer ut porttitor quam, sed tristique neque. Proin orci elit, mollis et consequat sed, iaculis ut ante. Proin in augue in quam dictum iaculis in id risus. Aliquam imperdiet fermentum posuere. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum gravida blandit blandit. Vestibulum at vestibulum metus. Vestibulum ultrices ut tellus vitae accumsan. Nam sagittis ligula sit amet justo bibendum finibus. Nunc iaculis lectus a auctor hendrerit. Aenean eget sem leo. Morbi hendrerit dolor sed ante vestibulum dapibus. Donec libero leo, tristique eu imperdiet id, ultricies fermentum sapien. In ultrices neque vel ipsum facilisis, in vehicula ex finibus. Nunc posuere quam id fermentum sodales. Pellentesque efficitur dictum erat ac feugiat. Duis at ultricies sem. Nullam vestibulum, felis sit amet viverra lacinia, ipsum odio venenatis neque, quis posuere lectus lacus a orci. Nulla eleifend rutrum pharetra. Nam semper iaculis feugiat. Etiam gravida leo a sapien iaculis, at volutpat dolor pharetra. Mauris feugiat ex quis ante semper, sed iaculis ipsum suscipit. Sed egestas, purus faucibus aliquam convallis, mauris erat molestie felis, dapibus imperdiet orci magna ultricies urna. Quisque et ullamcorper velit. Donec lacinia dolor et maximus accumsan. Sed tempor augue non est imperdiet, nec faucibus justo tristique. Duis iaculis dapibus eros, in tempus libero molestie eu. Quisque elementum consequat leo, quis faucibus magna porta id. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In hendrerit nisi sed elit suscipit, suscipit tempor velit suscipit. Morbi vitae nibh imperdiet, mattis quam quis, aliquet velit. Sed at egestas massa, nec ultricies ex. In hac habitasse platea dictumst. Morbi enim libero, ornare et pretium at, tristique ac nisl. Sed pulvinar mattis diam. Nulla facilisi. Cras vel lacus tellus. Curabitur sit amet finibus risus. Sed sollicitudin velit blandit egestas aliquet. Mauris luctus ex a fringilla auctor. Fusce sodales quis odio vel sodales. Donec tortor tellus, maximus sed odio sed, tempor hendrerit augue. Nunc ultrices interdum accumsan. Fusce justo enim, ultricies nec sagittis vel, suscipit eu est. Donec ac luctus massa. Fusce felis justo, sollicitudin quis diam ullamcorper, venenatis accumsan nisl. Quisque luctus nisi sed diam auctor iaculis. Quisque id diam lobortis nibh rutrum molestie. Quisque efficitur tristique magna, id cursus nisi. Cras malesuada pellentesque nibh ut porta. Ut sagittis consectetur congue. Nulla dapibus eleifend dolor, vel tempus ligula tempus sit amet. Praesent venenatis vestibulum mauris id elementum. Proin porttitor pharetra metus sit amet suscipit. Fusce ac commodo orci, ut venenatis augue. Donec feugiat mi a velit sollicitudin molestie. Aenean lobortis dignissim finibus. Sed at ante vel turpis euismod eleifend a nec turpis. Quisque vehicula laoreet nulla vel porttitor. Curabitur at scelerisque lectus. Phasellus molestie ultrices turpis. Duis in dui cursus, facilisis eros at, commodo lorem. Pellentesque sed rutrum mauris. Praesent imperdiet odio lacus, lobortis imperdiet ligula porttitor vestibulum. Pellentesque ac mi dolor. Proin laoreet venenatis scelerisque. Nunc faucibus mauris orci, et auctor tellus eleifend quis. Pellentesque scelerisque rhoncus vestibulum. Suspendisse mi risus, venenatis a accumsan ut, cursus nec nibh. Vestibulum nec interdum nisl, quis molestie neque. Aliquam hendrerit metus vitae neque ultricies tempus. Nam odio mauris, cursus luctus suscipit sit amet, lobortis vitae dolor. Donec nisl sapien, efficitur quis feugiat ac, efficitur vehicula justo. Pellentesque vestibulum vitae velit ac suscipit. Aenean auctor nec orci sit amet consectetur. Nam sed quam nec ex rutrum vestibulum ac nec tortor. Proin ornare nulla ac dui eleifend, non pellentesque ipsum mollis. Proin ut libero molestie, commodo nisi eu, sagittis quam. Phasellus ut augue elit. Phasellus sed mattis augue, vel efficitur felis. Cras consequat id dolor a elementum. Vivamus ultricies eros non orci egestas sodales. Fusce efficitur non enim a egestas. Mauris at orci a orci tristique interdum in a libero. Aenean ultricies, nibh quis aliquet molestie, dui lectus finibus velit, placerat tincidunt massa mi ac diam. Pellentesque gravida nulla sed massa commodo ultrices. Morbi nunc odio, ornare quis bibendum id, pharetra eget dui. Ut varius elementum semper. Proin tempus orci ut nibh rhoncus, quis accumsan felis scelerisque. Fusce id tempus orci. Aliquam faucibus, quam eu facilisis hendrerit, elit lacus tristique enim, et hendrerit augue sapien sit amet ante. Nulla vitae laoreet massa. Nunc a aliquam elit, vitae maximus nisi. Curabitur accumsan venenatis est in sagittis. Sed finibus gravida est nec blandit. Sed condimentum magna ex, ac tincidunt ante sodales quis. Sed et purus in tellus sagittis lobortis. Pellentesque venenatis massa ipsum, et viverra nunc feugiat et. In fringilla felis sit amet est convallis dignissim. Proin lacinia, turpis at tempus tincidunt, sem mi posuere eros, vitae rhoncus neque erat eget leo. Etiam vitae iaculis justo. Duis pellentesque lacinia neque, ut finibus enim sagittis sit amet. Nullam vel dui ligula. Phasellus ipsum velit, elementum quis feugiat a, ultricies sit amet mauris. Proin pellentesque nisi orci, sit amet pharetra elit condimentum non. Praesent dui mauris, sollicitudin sit amet consequat vitae, pulvinar fringilla lectus. Ut sed quam eget enim semper sodales eget quis metus. Mauris rutrum enim auctor vulputate tristique. Praesent eget odio purus. Curabitur sed mollis elit, et porta nibh. Suspendisse non convallis diam. Duis dignissim molestie velit, eu tempor mi ullamcorper eget. Maecenas ut leo nec nunc tempor sagittis. Fusce augue urna, vulputate at nisi vitae, vehicula venenatis urna. In felis augue, gravida nec justo aliquam, fringilla fringilla ex. In non maximus mi. Fusce pharetra iaculis erat, ut porttitor sem pretium non. Nulla congue faucibus lorem id ornare. Fusce vitae mi odio. Ut nisl felis, varius eu quam et, posuere aliquet ex. Aenean suscipit consectetur leo, ac aliquet augue vulputate at. Pellentesque a mi nisi. Suspendisse potenti. Integer vulputate nulla urna, non facilisis dui tempus porttitor. Donec convallis elit a feugiat lacinia. Phasellus purus mauris, feugiat quis pulvinar sit amet, elementum eu ligula. Nullam eu varius purus. Mauris iaculis mi pharetra volutpat feugiat. Vestibulum lacus sapien, accumsan in fringilla vel, tristique nec odio. Sed non mi purus. Phasellus ligula dolor, viverra sed mauris sed, pellentesque vestibulum risus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam accumsan condimentum justo, mollis fringilla quam viverra ac. Donec tristique, mi quis lacinia egestas, nisl dolor consectetur massa, id dapibus metus est quis ante. Integer tellus urna, sagittis imperdiet scelerisque non, laoreet a odio. Sed urna dui, sodales non rutrum a, suscipit vel sem. Donec tincidunt purus et libero posuere pulvinar. Aliquam nunc tellus, feugiat quis sollicitudin at, lobortis id eros. Aliquam varius leo ligula, a bibendum lacus dignissim ut. Fusce sem felis, ultricies ut cursus in, sagittis nec tellus. Aliquam sagittis nunc id tellus hendrerit, non tincidunt nulla scelerisque. Fusce tempus ut augue ac dictum. Quisque id diam ornare, faucibus ipsum at, scelerisque nisl. Sed bibendum ornare tortor, et sollicitudin dolor laoreet tincidunt. Sed auctor nunc a odio lobortis finibus feugiat a neque. Maecenas sed lorem accumsan, mollis mi a, ultricies neque. Sed posuere efficitur ornare. Nunc maximus tempus orci vel gravida. Praesent ipsum urna, dapibus id risus quis, lacinia finibus quam. Nulla sagittis nulla et ligula auctor suscipit. Donec eu efficitur nulla. Fusce sagittis interdum metus sit amet rutrum. Nunc convallis venenatis nulla, at euismod leo tristique et. Donec ligula turpis, gravida volutpat laoreet a, pellentesque dapibus odio. Duis et nisi et lorem mollis placerat at vel metus. Aenean dapibus ultricies augue eget porttitor. Nullam vitae dolor at erat rutrum porttitor at vel mi. In id sollicitudin turpis. Vestibulum quis porttitor justo. Morbi blandit lectus in quam tempus, in bibendum leo tempus. Aenean sed ipsum vel nulla viverra blandit vel vel massa. Etiam mattis nisi nibh, nec feugiat felis hendrerit eu. Duis consectetur egestas ornare. Vestibulum odio libero, egestas vehicula nibh quis, lacinia tempus justo. Curabitur ornare, ipsum vel commodo pulvinar, turpis nisi tincidunt nisi, ac varius ligula arcu venenatis dolor. Sed erat ante, porttitor maximus imperdiet sed, rutrum ac leo. Maecenas finibus lorem a pulvinar blandit. Curabitur in magna enim. Proin et velit ornare, egestas urna sit amet, ullamcorper leo. Nullam pretium leo vel dapibus imperdiet. Suspendisse interdum a arcu et imperdiet. Mauris ipsum dolor, dictum ut tempor nec, tincidunt ac nunc. Donec et orci volutpat, iaculis purus at, lacinia erat. Phasellus scelerisque finibus rhoncus. Fusce viverra suscipit accumsan. Fusce mollis orci non mauris ultrices tempor. Maecenas arcu sapien, vehicula sit amet nunc quis, venenatis imperdiet felis. Proin pellentesque lacinia tempor. Praesent id nulla a erat semper rhoncus ac ullamcorper odio. Nunc fringilla augue eget ullamcorper congue. Nulla malesuada sapien ac pretium feugiat. In lobortis neque ut ornare fringilla. Quisque eu quam sed quam interdum tristique. Proin congue erat ut massa convallis faucibus. Vestibulum a libero gravida mauris fermentum fringilla eget sollicitudin sapien. Aliquam scelerisque luctus hendrerit. Fusce ullamcorper lacus sed libero ornare, eget dignissim lectus lobortis. Pellentesque quis ligula ultricies, commodo sapien a, efficitur mi. Mauris fermentum dui in nunc volutpat feugiat. Mauris suscipit, tortor non iaculis dictum, purus elit placerat ante, eu tristique ante tortor ut enim. Vivamus accumsan eget nibh sit amet mattis. Integer ac tristique massa, bibendum mattis odio. Suspendisse potenti. Ut efficitur libero diam, vel tempor velit tincidunt vitae. Etiam egestas convallis mi, quis cursus purus fermentum eget. Vestibulum feugiat arcu vel nibh luctus, ut facilisis justo auctor. Pellentesque viverra mollis turpis vel interdum. Donec sollicitudin, magna et efficitur varius, metus odio posuere erat, finibus tristique sem nunc ac diam. Mauris sodales leo tempor suscipit lacinia. Fusce eu tristique risus. Morbi ornare eros molestie orci egestas maximus. Donec non ligula in urna vestibulum ornare ut vulputate velit. Phasellus nisi risus, lacinia nec est eu, accumsan lacinia ligula. Maecenas rhoncus pulvinar risus accumsan finibus. Curabitur nec vulputate orci. Sed a lorem eleifend tellus elementum rhoncus. Nullam vel felis sodales, gravida mi sit amet, imperdiet eros. Nulla in risus a est accumsan rhoncus. Nulla mattis elementum purus, at vestibulum quam scelerisque vel. Proin faucibus eget nibh quis ornare. Phasellus efficitur suscipit nisl, ut volutpat nisi tincidunt quis. Proin vel fermentum nibh, sit amet fringilla augue. Fusce vulputate consectetur mi, ac egestas erat euismod et. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nulla tristique nulla felis, at elementum libero suscipit non. Duis bibendum congue pretium. Pellentesque viverra tincidunt orci, non suscipit ligula pharetra sit amet. Etiam porta tortor purus, vitae efficitur sapien mollis a. Ut at risus imperdiet, luctus est id, pretium nisl. Aenean ut ipsum pellentesque, interdum lacus quis, ullamcorper lacus. Sed aliquam dui eu dui commodo, ut iaculis risus fermentum. Morbi tristique nisl nec egestas tempor. Suspendisse accumsan, tortor quis hendrerit rutrum, nibh diam elementum felis, non tempus urna leo ac elit. Aliquam sollicitudin finibus justo vitae accumsan. Maecenas ligula nulla, euismod sodales varius vitae, aliquet at nisl. Sed a nulla dapibus, viverra nulla ut, ultricies arcu. Phasellus hendrerit augue ex, a pharetra lacus malesuada vitae. Duis porttitor eleifend nulla, ut tempor dolor congue in. Integer a erat non nibh pharetra porttitor. Aliquam tincidunt quis est et suscipit. Fusce quis nisl sit amet felis dictum pulvinar. Sed pretium, enim et consectetur imperdiet, augue augue placerat tortor, vitae laoreet magna eros vitae massa. Nam porttitor erat ut orci placerat, at ullamcorper nulla gravida. Morbi at fringilla mauris. Nulla mollis est quis risus pharetra interdum. Donec sodales, tellus et faucibus lobortis, tellus eros pretium ex, vitae tempor sem velit eget mi. Fusce nec lectus mi. Proin pulvinar elit at massa iaculis, et consequat dolor iaculis. Donec volutpat ante augue, ut auctor mi vulputate et. Phasellus fringilla hendrerit augue eu elementum. Vivamus vestibulum dolor quis lacus aliquam posuere ac placerat quam. Nam ac dui in nibh fringilla vehicula eget egestas purus. Ut ultricies dolor vitae viverra pulvinar. Integer semper a elit quis vestibulum. Sed vestibulum rutrum nisl sed auctor. Phasellus tortor ante, tristique nec est nec, viverra ornare quam. Duis ac semper velit, at accumsan erat. Pellentesque bibendum mi vel nisl vehicula fringilla. Nullam luctus lectus orci, ac semper urna blandit at. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin vestibulum ante nisl, ut facilisis est fringilla et. Sed arcu mi, suscipit dictum lacinia fermentum, tempor eget lorem. Donec rhoncus maximus lorem malesuada condimentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec blandit dapibus volutpat. Praesent id magna et est rhoncus bibendum. In ut ornare turpis. Suspendisse dignissim euismod mi, eget faucibus metus ultricies eget. Integer suscipit, elit id sagittis scelerisque, augue erat facilisis ex, at iaculis mi orci quis nisl. Etiam finibus in est nec placerat. Vivamus vestibulum elit odio, id accumsan leo congue nec. Curabitur tempus lobortis condimentum. Donec sollicitudin hendrerit dui, ac lobortis urna condimentum eu. Aliquam ut fringilla erat. In eu elit vitae eros elementum eleifend. Vivamus mi mi, maximus sed varius at, fringilla at nunc. Suspendisse consequat lacus non convallis gravida. Aenean facilisis sem ac lacinia luctus. Maecenas eget felis vitae leo tempus dapibus. Nullam ut libero eu augue laoreet sollicitudin id sit amet enim. Fusce non bibendum neque, eu rutrum odio. Nullam eu accumsan risus. Sed semper est diam, nec posuere justo convallis vitae. Fusce fringilla auctor rutrum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam semper sapien eget erat lacinia ullamcorper. Donec ullamcorper erat in dolor porta aliquet. Praesent a accumsan turpis, et sollicitudin elit. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris ac sem erat. Sed mollis ut neque vel porttitor. Sed commodo efficitur lacus, a vestibulum dui porttitor eu. Ut eu urna arcu. Morbi in pretium nisi. Suspendisse ultrices enim id tempor consectetur. Maecenas in dolor quam. Pellentesque imperdiet risus nisl, auctor vestibulum dolor convallis efficitur. Nam ultricies nisi ac vehicula lobortis. Sed at nisl eros. Aliquam volutpat a orci non ultrices. Suspendisse tristique eget mauris non bibendum. Interdum et malesuada fames ac ante ipsum primis in faucibus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec vel diam non sapien vulputate faucibus. Maecenas et nunc in est faucibus lacinia. Fusce tincidunt enim in velit porta finibus. Integer augue mi, facilisis nec mattis quis, pretium sit amet est. Cras vitae metus lorem. Curabitur malesuada convallis sollicitudin. Suspendisse eleifend nunc nec augue pretium, sed ultricies risus rhoncus. Morbi vehicula sodales est. Nullam malesuada bibendum tortor ac faucibus. Curabitur porttitor rutrum leo, eget feugiat massa imperdiet at. Aliquam nec arcu vitae ligula imperdiet sagittis. Donec non eros eu ipsum elementum varius ac vehicula quam. Mauris urna risus, aliquet maximus nunc sit amet, maximus lacinia diam. Donec ac dui pulvinar, fermentum felis at, suscipit est. Proin laoreet mi faucibus leo rutrum, vitae iaculis eros interdum. Cras ex magna, pharetra in laoreet non, laoreet aliquam orci. Sed posuere ut eros non vehicula. Quisque tempor lacus et nibh tincidunt ullamcorper. Phasellus vehicula metus in velit fermentum aliquet. Pellentesque et orci facilisis sapien pulvinar tincidunt. Phasellus consequat sem nibh, in semper diam tempor eget. Praesent vehicula sollicitudin gravida. Quisque accumsan sodales neque at ornare. Pellentesque ac metus tincidunt ligula porttitor posuere. Ut quis suscipit neque, in gravida est. Aliquam erat volutpat. Aliquam ac nisi quis tortor sagittis cursus in vitae lacus. Praesent in malesuada felis, dapibus condimentum dolor. Sed dolor lacus, semper fringilla enim vitae, interdum varius odio. Vestibulum efficitur turpis sed varius molestie. In porttitor odio tempus mauris imperdiet fringilla. Integer faucibus ligula pharetra metus accumsan, quis ultricies quam mollis. Aliquam erat volutpat. Nunc sed nisi id ex feugiat tristique. Duis feugiat pharetra elit, at commodo orci volutpat ut. Donec auctor velit eget mollis consectetur. In sed mauris pretium, commodo mauris a, tempor velit. Donec in magna in enim rhoncus molestie. Proin mattis congue magna, sed tempor lectus gravida id. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vestibulum ut purus vitae lorem mollis tincidunt. Fusce ultrices a nulla eu scelerisque. Duis ac purus ut quam fermentum iaculis quis id eros. Nulla varius tincidunt consectetur. Duis eget velit ut orci fringilla euismod eget vitae magna. Nam ipsum ante, volutpat vitae nisl tincidunt, dignissim pretium turpis. Aliquam ultricies cursus blandit. Aenean quam nulla, gravida nec quam eget, rhoncus vulputate justo. Maecenas finibus auctor est, et posuere orci sagittis non. Donec iaculis nibh non tempus sagittis. Nulla facilisi. Aenean sodales mauris vel ex varius, non dapibus libero sollicitudin. Phasellus porttitor odio a dui vehicula congue. Vivamus vitae turpis sodales, finibus felis vitae, ultrices metus. Praesent tristique justo sit amet elit malesuada, vitae elementum sem interdum. Curabitur nec arcu ac lacus mollis tincidunt sollicitudin in neque. Pellentesque sed laoreet metus, vitae blandit velit. Nullam feugiat ullamcorper nunc sit amet pulvinar. In sed ante non arcu varius posuere ac eget est. Nulla facilisi. Suspendisse pellentesque lorem ac rutrum finibus. Pellentesque ut ipsum dapibus, elementum odio in, volutpat sapien. Nam at placerat mi. Aenean feugiat mollis magna in tincidunt. Suspendisse rutrum iaculis ligula. Maecenas posuere faucibus dui. Donec venenatis nibh sed bibendum tempor. Nam vitae congue nulla. In rutrum, nunc at pulvinar placerat, risus nisi congue nunc, sit amet eleifend massa lacus tempor ex. In in lorem lacus. Nullam porttitor leo quis quam egestas, vitae volutpat eros pretium. Etiam a ex lectus. Donec nec pharetra quam. Nulla vulputate hendrerit nisl eu tincidunt. Morbi fermentum, est sed ornare porta, erat justo auctor sem, hendrerit vulputate nulla turpis ut mi. Nulla a purus quis neque venenatis viverra. Sed ornare id tellus vel maximus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ultricies nulla quis mi consequat vulputate. Aenean leo mi, aliquam ut dui sed, commodo vehicula justo. Maecenas efficitur velit at placerat imperdiet. Ut eu libero at elit lobortis blandit. Proin viverra suscipit pulvinar. Donec nec pellentesque sem. Mauris mattis gravida ligula, in ullamcorper ante ultrices quis. Suspendisse et sem id neque lacinia consectetur. Cras eu mollis massa. Sed tristique, neque non ullamcorper venenatis, felis diam convallis enim, quis tempus quam felis id lectus. Sed eu magna ultricies, mattis justo non, sagittis lacus. Cras ex orci, blandit sed risus et, aliquam pharetra ipsum. Fusce cursus luctus felis sed pulvinar. Cras cursus efficitur nisi ac tristique. Aenean ornare purus in commodo porta. Ut vitae lacus nunc. Suspendisse vitae laoreet lorem. Vestibulum diam odio, iaculis vel orci vitae, tincidunt efficitur purus. Sed aliquam lacus quis dictum elementum. Nullam nisl dolor, sollicitudin ac mattis eget, commodo eget libero. Nam sed congue lorem, non euismod sem. Nulla et elit tristique, tristique lorem in, sodales lacus. Pellentesque dapibus, purus eget efficitur fringilla, mi neque pulvinar est, a hendrerit ante est vel dolor. Nunc vitae lectus in erat eleifend lobortis. Mauris convallis sem id ante pharetra posuere. Etiam in ex ac velit rhoncus congue et quis ipsum. Nunc ipsum urna, vehicula in aliquam sit amet, tempus nec nulla. Aliquam venenatis semper ligula ut suscipit. Fusce in risus eu enim consequat euismod. Nam libero magna, congue sit amet hendrerit eu, vehicula vel libero. In sed risus bibendum, pulvinar nulla ac, pharetra nisl. Nulla sit amet faucibus mi. Ut iaculis, lacus vel dapibus tempus, ipsum arcu iaculis turpis, sit amet fringilla nunc velit eu nisl. Maecenas vel nibh ut tortor posuere vestibulum. Cras ac urna lorem. Phasellus porttitor neque porta, mattis massa vitae, ultrices justo. Vivamus commodo velit leo, vitae faucibus nisl tincidunt in. Praesent id accumsan ex. Proin eu arcu hendrerit libero porta scelerisque ut dapibus libero. Aenean ut finibus odio. Quisque in risus rutrum, hendrerit massa nec, semper justo. Aenean sagittis felis nec justo tempus pulvinar. Nam tincidunt fermentum enim, vel ultrices mauris lacinia id. Integer dignissim rhoncus leo nec interdum. Sed lobortis mattis sem tempus rhoncus. Nam lobortis laoreet felis vitae rutrum. Phasellus hendrerit purus vel enim volutpat, a ornare ipsum imperdiet. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Ut non auctor velit. Nullam eget ligula sit amet magna laoreet elementum id eget dolor. Aenean at nibh nec felis dignissim pretium. Nunc auctor sit amet augue tincidunt ultricies. In hac habitasse platea dictumst. Sed vel arcu odio. Aliquam erat volutpat. Pellentesque dolor ligula, volutpat in porttitor id, interdum sit amet arcu. Praesent placerat in ante nec fermentum. Vestibulum volutpat tristique tortor ut sodales. Proin venenatis lorem sit amet volutpat elementum. Nam eget nibh elit. Sed odio tortor, lobortis at ipsum sit amet, ornare pharetra quam. Integer congue, sapien dignissim pellentesque posuere, justo tortor vehicula velit, sit amet elementum odio leo id arcu. Curabitur vestibulum orci eu consectetur porta. Nunc rhoncus et sem sit amet congue. Curabitur efficitur faucibus odio, vel consectetur erat cursus non. Donec sed mauris eu nunc malesuada aliquam. Quisque semper augue eu pulvinar bibendum. Maecenas ultricies, dolor eu efficitur lacinia, diam mi tincidunt dui, et semper urna tellus a risus. Aliquam et lectus in mauris aliquam pharetra et quis ante. Etiam rhoncus nec lacus sed sollicitudin. Donec vehicula faucibus leo et posuere. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec est quam, dictum non aliquet at, tempor at velit. Vestibulum eget massa et massa suscipit pulvinar vitae ut ante. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam erat volutpat. Phasellus eros mi, porta sit amet vestibulum sit amet, hendrerit at massa. Maecenas luctus augue eu mauris vehicula, vel finibus elit dictum. Duis quis euismod dolor. Curabitur arcu diam, ultricies sed semper quis, sodales placerat libero. Donec congue a mauris in efficitur. Maecenas vitae luctus nisl. Etiam tincidunt ligula nec massa fringilla, ac rhoncus est volutpat. Donec ligula enim, cursus tincidunt eleifend faucibus, blandit in est. Donec vehicula fringilla dui, pulvinar lobortis lacus faucibus non. Pellentesque nisl dolor, posuere venenatis justo nec, egestas sodales enim. Etiam laoreet dolor libero, sed feugiat nisi laoreet sit amet. Cras a bibendum nisi. Mauris finibus, arcu gravida eleifend ultrices, dui nisi luctus libero, in ornare justo magna dapibus risus. Nam est nisl, laoreet eu lacinia id, tincidunt a lacus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque sem ex, elementum in lectus id, vestibulum pharetra libero. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus posuere urna lacinia sem eleifend, suscipit rhoncus metus porttitor. Aenean fermentum, felis ac pharetra eleifend, est sem imperdiet ipsum, in aliquam dui felis sit amet justo. Ut et arcu eu enim fermentum aliquam sit amet vel ex. Fusce sed felis vitae diam vehicula tempor sed id nibh. Nulla lacinia lobortis pretium. Vivamus molestie nisl urna, non elementum erat tempus non. Ut porttitor leo nec turpis vulputate tempus. Maecenas finibus erat a ornare ultricies. Sed bibendum maximus nulla. Integer a pulvinar mauris. Aenean sed felis molestie, vestibulum nibh eu, tincidunt nulla. Phasellus dictum at leo a dignissim. Suspendisse sollicitudin sapien a ultrices finibus. Praesent id malesuada odio. In rutrum tristique lorem vitae suscipit. Integer faucibus id justo ac congue. Fusce sem nunc, auctor a mattis id, viverra in enim. Ut eu neque in ipsum laoreet iaculis. Pellentesque ultricies faucibus ipsum, vel facilisis nibh cursus sed. Vestibulum vitae luctus ante. Curabitur suscipit at nulla vulputate tempus. Donec luctus tortor placerat dui tincidunt tincidunt. Quisque ut eros vel diam pretium luctus id id purus. Donec ipsum tellus, tempor in justo vitae, auctor porttitor ante. Vivamus pharetra porta sem sed tempus. Maecenas vel elementum lorem, vel accumsan lacus. Morbi molestie est vel lobortis dictum. Sed at mi hendrerit, convallis sem eget, convallis arcu. Nunc mattis nisl nec sem dictum dictum. Fusce at enim rhoncus, convallis neque sed, fringilla erat. Quisque et pellentesque nisi, in rhoncus ante. Maecenas sit amet fringilla ante. Proin lobortis lacus mauris, nec ornare urna mollis ac. Vestibulum facilisis lectus nec facilisis accumsan. Etiam id varius justo. Proin fringilla quam at porta blandit. Phasellus a molestie nisl. Ut sit amet erat tellus. In nibh enim, commodo at mattis et, pharetra a urna. Aliquam erat volutpat. Pellentesque sagittis elit lectus, in congue lorem tempus non. Praesent et lorem sed purus finibus mattis vel sed enim. Vivamus nec condimentum libero. Aliquam molestie pharetra ipsum sed fringilla. Etiam vitae est magna. Nulla facilisi. Mauris aliquet sollicitudin arcu. Sed placerat est a luctus ultricies. Sed lacinia dapibus libero, a consequat lorem mollis sit amet. Integer ac dui quis nisl elementum viverra. Suspendisse iaculis mollis mi eu lobortis. Mauris vulputate tellus felis, pretium euismod ipsum iaculis quis. Nulla sem massa, tempor et dictum non, gravida quis nibh. Proin nec mauris scelerisque, condimentum libero non, auctor nulla. Nam blandit lacus eu risus finibus, vel molestie sapien pretium. Duis facilisis odio ut tristique euismod. Mauris eu venenatis turpis, sit amet iaculis justo. Morbi rhoncus est vel nulla posuere, et pellentesque eros efficitur. Curabitur vitae tempus urna, id vehicula orci. Sed ut tempus nunc, ac ultrices tellus. In vitae mauris vitae urna rutrum lacinia. Proin dictum placerat nulla ut consequat. Proin non metus ac lectus aliquet semper quis in metus. Fusce sed luctus sem. Vestibulum et purus nunc. Integer maximus lectus vel bibendum facilisis. Vestibulum ornare mollis nisl, sed tincidunt lectus molestie eget. Nunc ipsum enim, condimentum sed lacus ut, laoreet consectetur justo. Quisque vulputate a nibh sed pulvinar. Integer sagittis purus eget consectetur sagittis. Phasellus quis enim vulputate ligula venenatis dapibus. Duis at leo eu nisi sollicitudin sollicitudin. Quisque aliquet at elit pellentesque tempus. Aliquam augue sapien, vestibulum sed massa non, sollicitudin fringilla augue. Curabitur blandit ipsum dui, porta condimentum arcu efficitur sit amet. Maecenas commodo rhoncus lectus, sed rhoncus orci fringilla vitae. Mauris sed magna in lectus semper tincidunt. Donec luctus augue id purus euismod, sit amet luctus dolor eleifend. Nullam sollicitudin nec velit eget laoreet. Vestibulum placerat dignissim urna, vitae mollis nisl fermentum ut. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Suspendisse ut maximus urna, id tristique quam. Nulla et magna varius, tempus sapien eu, faucibus ex. Donec eleifend hendrerit turpis, non dapibus arcu imperdiet et. Morbi non purus pharetra, vehicula tellus eu, ornare dui. Proin maximus vel nisi in posuere. Quisque vel sem rutrum, porttitor neque a, cursus eros. Suspendisse quis malesuada mi. Quisque dictum odio in semper tempor. Pellentesque vestibulum, neque sit amet tempor consectetur, nisi nisl mollis lorem, a tincidunt nunc mi vitae orci. Curabitur efficitur sapien massa, non sodales diam aliquet at. Aenean condimentum lacinia eros id congue. Maecenas at sapien eget nulla placerat hendrerit. Donec ullamcorper justo finibus ante volutpat malesuada. Duis rutrum rutrum sapien, quis aliquet nisl finibus ac. Vivamus lacus massa, faucibus nec lectus quis, placerat venenatis justo. Proin feugiat lectus suscipit hendrerit tincidunt. Nunc luctus neque sit amet elit lobortis, sed semper mauris malesuada. Ut mauris justo, eleifend eget hendrerit et, varius id velit. Nullam a mi laoreet, dapibus lorem sit amet, venenatis orci. Aenean eu vehicula lorem. Proin porta massa ante, quis faucibus lectus elementum a. Donec tincidunt at orci et accumsan. Maecenas lectus lectus, pharetra non semper convallis, elementum non felis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec elementum scelerisque nulla, vitae egestas nibh. In hac habitasse platea dictumst. Morbi eu tellus quis turpis tempor varius non vitae diam. Suspendisse efficitur blandit urna ut tincidunt. Quisque ut metus gravida, scelerisque nulla et, lacinia nulla. Donec sit amet tortor sit amet leo ultricies viverra. Pellentesque mollis ex suscipit porttitor aliquam. Sed egestas, nibh egestas tempus aliquet, justo libero congue purus, vulputate varius turpis dolor vel metus. Etiam aliquam nisi a porta laoreet. Vestibulum congue felis a lacus egestas mollis. Mauris ligula mauris, tincidunt a ipsum vel, ultrices posuere elit. Nulla elementum eleifend tincidunt. Nunc dignissim mollis tortor, ut lacinia turpis pellentesque maximus. Aenean finibus nibh tempor eros bibendum, eu ultricies velit consectetur. Morbi volutpat sagittis ligula. Morbi ornare iaculis nunc, vel viverra mauris molestie non. Cras porttitor, dolor et cursus eleifend, enim erat faucibus enim, et pretium nulla nisi vel metus. Praesent rutrum, dui ut rhoncus fringilla, magna sapien dictum urna, eu euismod est sem nec neque. Integer sed eleifend sapien. Nunc pretium mauris ac odio pretium tincidunt. Pellentesque eleifend rutrum dolor, vel posuere dui sollicitudin nec. In ullamcorper tortor at eleifend sodales. Donec purus urna, maximus a viverra quis, tincidunt sagittis tellus. Nullam nec dolor a leo condimentum egestas. Donec luctus varius eleifend. Proin pellentesque ipsum at sem fringilla, quis venenatis augue sollicitudin. Curabitur lorem diam, tincidunt et rhoncus at, euismod vitae erat. Donec vel mattis diam, at euismod odio. Interdum et malesuada fames ac ante ipsum primis in faucibus. Duis posuere mauris quis velit ullamcorper ultricies. Donec aliquam mollis elit et viverra. Quisque augue lorem, semper vitae accumsan vitae, commodo id diam. Sed erat risus, commodo eu quam vel, venenatis vehicula lorem. Vivamus nulla orci, fringilla non tortor nec, condimentum bibendum ante. Maecenas mi turpis, maximus vel aliquet quis, mollis vitae lacus. Integer risus lacus, tincidunt cursus tincidunt eget, euismod elementum nunc. Praesent id risus tortor. Nulla euismod leo ut nibh semper, sed placerat velit vulputate. Morbi feugiat dui quis ipsum lacinia, eu consectetur nisl sagittis. Morbi tellus lacus, viverra eu ullamcorper eget, rutrum in ex. Curabitur non fermentum augue. Donec leo turpis, pellentesque sed finibus quis, malesuada vitae libero. Sed in odio a justo condimentum lacinia. Donec vel diam ligula. Nullam quis nisi dui. Ut in urna sodales, finibus ante quis, volutpat ante. Aenean erat neque, dapibus id condimentum eget, aliquam eu erat. Donec malesuada interdum orci at consectetur. Sed metus eros, euismod quis dui et, cursus suscipit eros. Phasellus tincidunt rhoncus accumsan. Etiam consequat eros ac nibh lobortis, accumsan suscipit massa aliquet. Maecenas eu tortor porta, blandit urna sed, finibus nisi. Phasellus suscipit metus ultricies fermentum condimentum. Maecenas nec tincidunt lectus. Quisque a blandit lacus. Sed dolor felis, rutrum ultrices sollicitudin eget, sollicitudin id tellus. Sed condimentum ex sit amet ante aliquam, at sodales orci finibus. Nam quis lacus consectetur, tincidunt velit et, bibendum sem. In dignissim lacus nisl, ut mollis mi gravida sit amet. Maecenas aliquam eros a justo semper, a ullamcorper massa feugiat. Praesent ornare fermentum efficitur. Duis varius nibh sed enim scelerisque, at porta enim molestie. Nunc cursus scelerisque sagittis. Donec convallis lobortis mattis. Phasellus volutpat, felis semper consequat condimentum, ipsum lacus consequat turpis, a aliquet nibh tortor faucibus urna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus augue nulla, lobortis id sollicitudin eu, feugiat a nibh. Donec rhoncus a ex eu rutrum. Fusce lobortis ultrices est at ultricies. Vivamus eleifend diam a ante ultricies, sit amet auctor nisi cursus. Nunc orci arcu, suscipit eget nisi ac, condimentum imperdiet erat. Aenean sed mattis velit, eu rutrum metus. Aliquam accumsan porttitor elementum. Cras aliquet dictum lobortis. Nulla sollicitudin dignissim bibendum. Nulla dapibus neque eu justo dictum, in laoreet augue feugiat. Maecenas ultricies lacinia lectus, a venenatis tortor ultricies vitae. Nulla nisi elit, tempus id ante eget, elementum maximus mi. Morbi mattis enim eget orci lacinia aliquet. Nulla pretium condimentum condimentum. Phasellus et neque eget odio pulvinar malesuada non ac ex. Nulla ut felis augue. Maecenas consequat ut nisl non maximus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Cras vel dui eu metus tincidunt efficitur id quis est. Nunc dignissim rutrum euismod. Donec dictum, nisl vitae ultricies ultricies, mi enim congue elit, nec pulvinar nibh sem porttitor leo. Aliquam lacinia, sapien id scelerisque facilisis, ante turpis tristique purus, ut vulputate tellus dolor in nisi. Curabitur facilisis urna at mattis auctor. Vestibulum eget urna ante. Mauris eu consectetur mi, nec volutpat nisl. Donec sollicitudin ullamcorper diam, efficitur facilisis magna porta quis. Ut nulla dolor, aliquet sit amet enim et, tincidunt posuere massa. Donec vitae ex in mi gravida tempor. Fusce nec diam iaculis, congue purus non, porta arcu. Etiam in velit vehicula, posuere urna non, vestibulum libero. Integer non blandit ipsum, vitae interdum mauris. Cras varius, dolor a posuere lacinia, sem justo porttitor lorem, volutpat euismod risus nibh eu sem. Nam sed tempus odio. Curabitur felis turpis, dictum consequat leo a, pellentesque tempor odio. Sed porta ipsum vel dolor tincidunt ultricies. Vestibulum quis mi sed lectus vestibulum dignissim eget nec nibh. Curabitur vulputate blandit diam at convallis. Sed nec lectus interdum, lacinia nunc ut, dapibus magna. Fusce justo sapien, bibendum vitae molestie nec, luctus sed elit. Nulla sit amet dignissim ligula. Phasellus sed massa tristique, auctor mauris eu, facilisis risus. Donec imperdiet porta auctor. Nunc faucibus quam at viverra malesuada. Vestibulum iaculis lorem et auctor blandit. Phasellus commodo, sapien eu euismod gravida, arcu nunc mattis tellus, porttitor faucibus diam mauris nec augue. Nulla non turpis et risus auctor mattis et a eros. Nunc dapibus diam eros, sed tincidunt libero eleifend at. Morbi in suscipit tortor. Fusce eget elit ullamcorper, sollicitudin quam a, feugiat magna. Vestibulum ante leo, iaculis ac turpis eu, feugiat ultricies tortor. Pellentesque ex diam, convallis eget finibus sed, fringilla vitae nisi. In purus sem, consectetur id risus nec, tristique sodales neque. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed rhoncus interdum pharetra. Integer ultricies orci lobortis, suscipit ligula at, sagittis dolor. Nulla vestibulum purus pulvinar, pretium massa quis, congue elit. Nulla sagittis metus euismod lectus vestibulum dignissim. Nullam non rhoncus risus. Vivamus vel libero vel ante porta gravida. Nam vitae massa et metus congue pellentesque in non augue. Quisque quis placerat nisl. Vestibulum bibendum, neque quis semper tincidunt, sapien nisl consequat justo, a malesuada odio turpis quis ex. Nulla facilisi. Vivamus ultricies dui mi, et malesuada purus egestas eget. Vivamus leo elit, lacinia non nunc ut, fringilla aliquet mi. Curabitur quam sem, vehicula id ex tincidunt, pellentesque malesuada leo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Praesent ac elementum nisl, nec malesuada dui. In vel lectus imperdiet, scelerisque lectus at, fringilla purus. Nulla sit amet mi malesuada nisi sodales tempus. Nunc vestibulum egestas consectetur. Pellentesque sed nibh eget quam tempor fringilla. Curabitur aliquam augue ex, vitae ornare lacus vestibulum id. In risus orci, feugiat ut augue eget, condimentum efficitur ipsum. Duis vehicula massa nec dui volutpat feugiat. Proin aliquam nunc orci, at vestibulum eros malesuada ut. Cras maximus tincidunt est, pretium scelerisque urna pellentesque sit amet. Mauris pretium ultricies ante, non ultricies nibh varius at. Quisque aliquam, nulla nec bibendum varius, urna augue semper velit, quis sagittis sapien mi sit amet tellus. Donec imperdiet porttitor nisl et facilisis. Pellentesque commodo neque dui, vel tincidunt augue aliquet quis. Nulla tincidunt aliquet pellentesque. Mauris facilisis posuere nisl eget placerat. Sed laoreet blandit mattis. Mauris tempus commodo mollis. Aenean diam nunc, vestibulum id ipsum nec, accumsan malesuada nulla. Pellentesque bibendum et eros et convallis. Sed ut nisi lobortis, congue erat sit amet, ullamcorper augue. Pellentesque vitae ullamcorper magna. Quisque orci lorem, ornare eu hendrerit sed, ultricies a dui. Suspendisse a suscipit dui. Aliquam magna urna, finibus a ultrices non, suscipit eu mi. Quisque non blandit massa. Nulla consectetur, tortor at elementum tristique, dolor sapien interdum ex, sit amet blandit nulla nisi sit amet nibh. Duis volutpat porta sodales. Mauris ullamcorper varius neque, eget varius lacus tristique et. Duis id velit et erat malesuada consequat quis sed sapien. Phasellus vehicula, nisi a commodo pulvinar, tortor lacus rutrum turpis, id commodo orci risus sed ipsum. Praesent varius neque vel sollicitudin dapibus. Praesent nisl magna, ultricies nec porttitor in, viverra nec turpis. Fusce pretium tortor et odio euismod accumsan. Cras pretium, libero id imperdiet congue, ligula neque ultrices ex, id iaculis turpis quam eget tortor. Mauris et leo fringilla, rhoncus diam eu, lacinia elit. Proin nulla neque, faucibus tincidunt arcu eget, sollicitudin finibus ex. Praesent tincidunt, felis id malesuada imperdiet, mi libero sagittis nunc, non eleifend turpis lectus quis diam. Fusce dolor orci, aliquet vulputate cursus vel, varius imperdiet enim. Morbi vestibulum, justo sit amet pulvinar pharetra, urna risus lacinia mi, ut mollis sapien est sed augue. Maecenas commodo finibus sapien, non efficitur metus congue id. Nunc eu enim dapibus, molestie felis ut, suscipit nibh. Suspendisse in faucibus metus, sit amet aliquam leo. Nunc lacinia tempor orci in pellentesque. Vestibulum arcu lectus, fermentum vel ultricies sit amet, dictum quis dolor. Curabitur venenatis augue maximus lacus feugiat ornare. Pellentesque accumsan ex sit amet sem varius feugiat. In aliquet convallis urna, id fermentum augue hendrerit nec. Donec nec bibendum turpis. Proin lorem nisi, cursus in pulvinar at, malesuada eu augue. Vivamus ultricies diam sapien, at ultrices augue lobortis blandit. Morbi vitae nunc non odio cursus tristique. Sed tincidunt quis ligula sit amet sollicitudin. Donec in justo ex. Mauris sed odio dolor. Donec non lobortis diam, sed malesuada nulla. Donec malesuada turpis nec quam consectetur laoreet. Nulla vel tristique eros. Vivamus efficitur nec odio sit amet blandit. Duis in eros velit. Nunc vestibulum augue non aliquam consequat. Vestibulum facilisis venenatis enim non ullamcorper. Suspendisse venenatis massa eu accumsan tempus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec et odio ut nulla tempor pretium vel vitae sapien. Integer maximus, augue lacinia blandit rutrum, ante diam suscipit eros, in dapibus tortor lectus vitae dui. Proin id arcu vitae odio iaculis pulvinar sed a orci. Maecenas dolor nulla, vehicula eu suscipit lacinia, ornare at erat. Fusce id risus nisl. Ut scelerisque, lorem id euismod facilisis, leo nisl commodo tortor, at egestas dui enim luctus sapien. Ut malesuada turpis nec justo euismod sollicitudin. Donec euismod maximus sem at dapibus. In nunc massa, condimentum ut sagittis ac, lobortis id dui. Proin vestibulum ex ac turpis ultricies, id facilisis ipsum sodales. Aenean vehicula arcu ut luctus facilisis. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nunc ut risus vitae ante aliquet faucibus. Nullam viverra quam vel nisl porttitor sollicitudin. Mauris nec tellus quam. Aliquam quis elit id tellus finibus semper sit amet id leo. Etiam euismod pellentesque semper. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Pellentesque sagittis quam lectus, eu ornare purus iaculis ut. Pellentesque ut porta nunc. Sed eleifend lorem a dui mollis vestibulum. Pellentesque dignissim magna ac accumsan cursus. Donec scelerisque metus rhoncus purus suscipit rhoncus. Nunc pulvinar sollicitudin eros, id auctor sapien auctor at. Sed quis velit urna. Ut ornare ipsum urna, vel dictum purus convallis sed. Curabitur mattis auctor justo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Quisque porta quis nisi a congue. Curabitur faucibus eu libero ac faucibus. Maecenas congue nulla cursus ultrices lobortis. Curabitur ligula velit, ultrices sit amet volutpat non, commodo in neque. Etiam feugiat sapien vel odio efficitur, eget cursus nunc faucibus. Vestibulum ullamcorper elit nibh, sed semper risus tincidunt id. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam vel tincidunt neque. Mauris eleifend sem risus, vestibulum sodales sem pretium tincidunt. Pellentesque nulla ante, pulvinar pulvinar consectetur vel, rhoncus porta nibh. Vivamus placerat molestie nisl in vehicula. In efficitur mattis pellentesque. Nullam quis accumsan lacus. Integer aliquet risus non risus aliquet, in porttitor nulla scelerisque. Etiam eget porttitor nisi, id consectetur nibh. Etiam porttitor ultrices iaculis. Proin egestas ligula arcu, ac volutpat elit maximus vel. Nulla commodo vehicula dolor, sit amet consectetur dolor aliquet et. Cras gravida massa odio, pharetra finibus quam posuere nec. Curabitur pharetra mi a lorem sodales, a tincidunt neque faucibus. Sed viverra tempor leo, iaculis pharetra neque dignissim vitae. Nunc porttitor, eros varius placerat ultrices, purus elit lobortis erat, sit amet feugiat felis diam vel turpis. Donec vulputate sed augue sed pharetra. In eu porttitor elit. Donec et elit erat. Praesent id ex a ipsum cursus faucibus sit amet in diam. Pellentesque quis neque eget orci vulputate mollis at vitae elit. Vivamus quam lorem, blandit ut fermentum mattis, aliquam iaculis turpis. Aliquam lacinia porta vestibulum. Nunc aliquet eros magna, nec varius dui convallis posuere. Etiam placerat interdum tellus, et fermentum magna hendrerit et. Maecenas ut lacus at sem ultricies tristique in sit amet felis. Cras eget nulla sed tortor viverra varius vitae sit amet felis. Sed dignissim facilisis lorem, porta interdum enim venenatis ac. Nullam cursus vulputate nibh, in feugiat sapien tempus id. Aliquam suscipit vestibulum felis, ut vestibulum orci blandit a. Donec sed venenatis felis. Sed tincidunt faucibus tristique. Donec finibus arcu id elit porttitor, vitae convallis lectus blandit. Etiam at metus non metus egestas laoreet at sit amet augue. Proin sed lobortis velit, cursus condimentum felis. Nam imperdiet at elit in imperdiet. Aenean sodales elit non ligula fermentum, id venenatis felis euismod. Nulla id dictum justo. Nam eget elit ligula. Integer neque sapien, auctor ut nulla id, commodo bibendum ipsum. Donec non purus nec risus tempus euismod. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus a bibendum felis. Sed tristique eros sed nisi hendrerit accumsan eu id velit. Maecenas efficitur malesuada arcu, at bibendum orci ullamcorper vel. Duis fermentum urna a dui pellentesque pharetra ac sed leo. Nunc volutpat accumsan mauris ac iaculis. Praesent malesuada tellus quis molestie tempor. Phasellus cursus, tortor ac porttitor ornare, ligula dolor convallis tortor, a vulputate sem ex ac ex. Curabitur lacinia neque in tincidunt accumsan. Interdum et malesuada fames ac ante ipsum primis in faucibus. Suspendisse posuere justo et tincidunt lacinia. Quisque a ligula suscipit ligula laoreet varius nec et justo. Ut ut gravida elit, in pretium risus. Nam scelerisque congue condimentum. Etiam lacus nulla, dapibus quis faucibus eu, mollis et ante. Phasellus et luctus orci. Sed eu lacinia diam, a viverra diam. Aenean sit amet nisl id augue molestie faucibus nec bibendum erat. Phasellus tristique enim vitae euismod semper. Suspendisse ornare, diam nec lobortis ullamcorper, est leo tincidunt odio, sit amet molestie purus dui ac velit. Duis erat sem, sodales ut tempus ac, pretium et nisl. Cras condimentum, felis sed commodo accumsan, quam tortor ornare leo, elementum convallis libero enim nec velit. Aenean pulvinar porta neque nec ultrices. Duis id tortor sapien. Aenean ipsum metus, sagittis in blandit eu, hendrerit sed lacus. Cras egestas aliquam augue vel vestibulum. Cras molestie felis ut neque vestibulum, efficitur sollicitudin mauris tristique. Vestibulum vitae tempus mi. Mauris vel sollicitudin est. Cras ut mi eu lorem viverra eleifend. Suspendisse auctor ante eget suscipit tincidunt. Donec a mi ut eros dictum aliquet malesuada vel nisl. Curabitur luctus justo eu mi fringilla, sit amet tempus augue tempor. Nam velit eros, maximus in lectus a, pellentesque porttitor est. Nullam at commodo tellus. Praesent convallis nunc at sem eleifend pretium. Fusce ligula tortor, commodo vel augue a, pulvinar sollicitudin dolor. Integer sed pretium lectus. Integer tortor sapien, eleifend sed luctus nec, suscipit id neque. In sed mi ornare, porta lorem efficitur, vestibulum lorem. Vivamus molestie nisl id lectus sollicitudin bibendum. Suspendisse luctus maximus metus, quis sagittis ex malesuada nec. Sed faucibus posuere lectus, id efficitur odio scelerisque ac. Praesent facilisis mollis diam. Nulla facilisi. Curabitur eget facilisis neque. Quisque sodales, tellus at hendrerit sodales, neque dolor tincidunt tortor, et semper tellus dolor a erat. Aliquam ac velit risus. Aenean id ullamcorper est, sit amet viverra elit. Ut elit augue, porta at lorem ut, eleifend facilisis leo. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam sit amet tellus blandit, rutrum augue vel, vehicula odio. Nulla dignissim, augue ut porttitor venenatis, est ipsum consectetur elit, id aliquam dolor eros blandit lectus. Ut vitae venenatis leo. Quisque molestie sapien iaculis convallis varius. Nunc vestibulum ex sed ultricies placerat. Nunc lacus purus, cursus ac tempus et, feugiat ullamcorper sem. Nam rhoncus sem dictum bibendum euismod. Donec vestibulum nunc augue, nec congue massa faucibus at. Nam eget tellus facilisis, volutpat turpis id, mollis elit. Cras fringilla efficitur massa ut porttitor. Fusce blandit vehicula nibh, non vehicula orci malesuada vel. Integer vulputate neque libero, quis rhoncus augue dictum eget. Vestibulum ut molestie orci, in iaculis ex. Cras iaculis ex lorem, non accumsan dui sollicitudin at. Etiam nec arcu urna. Nunc quis orci nec enim semper mattis sed id dui. Sed malesuada non eros vitae iaculis. Praesent porttitor at turpis id pulvinar. Duis malesuada iaculis ultricies. Sed varius hendrerit leo, sed rhoncus orci dignissim nec. Duis id felis leo. Donec id rhoncus est. Fusce scelerisque lectus a nisi ultricies ultrices. Aliquam in nunc dui. Nunc porta finibus fermentum. Duis nec eros a urna malesuada tincidunt. Praesent sed sapien at neque pretium semper at non odio. Nullam sed tincidunt quam. Cras a commodo mi. Proin placerat risus leo, eu fringilla tellus aliquet sed. Fusce luctus lacus at vestibulum consequat. Nunc sodales non velit id interdum. Cras in velit quis tortor efficitur viverra vestibulum et justo. Duis in imperdiet dui. Duis lacinia, eros in congue consectetur, odio augue aliquet elit, sit amet mattis eros magna sed metus. Aliquam commodo enim est, vel lacinia dui facilisis vel. Fusce vitae ex nec ipsum feugiat ultricies et vitae lacus. Praesent interdum libero in quam dapibus, quis suscipit sem varius. Aliquam erat volutpat. Vestibulum tincidunt est lorem, at iaculis lorem auctor vel. Cras dictum, tellus bibendum faucibus ultrices, orci tellus mollis velit, eget aliquam nisi justo sit amet est. Aliquam eget augue eget lorem fermentum imperdiet. Curabitur mattis risus eu porta convallis. Sed orci justo, tristique sit amet efficitur eu, suscipit quis leo. Nam pharetra in ante sed feugiat. Praesent vel metus vel odio pulvinar dictum id non ex. Curabitur diam mauris, imperdiet sit amet porttitor a, sagittis id mauris. Duis vel velit finibus, egestas nunc nec, rutrum est. Curabitur euismod ornare ipsum, eleifend commodo ante porttitor et. Duis sit amet dolor sit amet turpis laoreet scelerisque. Ut feugiat risus ac nulla laoreet venenatis. Etiam et nunc velit. Nulla facilisi. Donec in sollicitudin odio. Quisque at quam sit amet ipsum suscipit suscipit. Nam gravida sem quam, a cursus elit volutpat in. Nunc eget dignissim ligula, in iaculis felis. Suspendisse ipsum leo, placerat vel risus sit amet, dignissim lacinia odio. Nunc nec nisl sit amet felis feugiat interdum. Nunc erat est, commodo non dolor vitae, maximus pulvinar sapien. Nullam ac ligula eu metus pharetra commodo. In id condimentum magna, ac eleifend magna. Pellentesque ut congue velit. Fusce maximus vehicula felis. Nulla porta tortor nibh, volutpat aliquam nisl iaculis nec. In varius est quis ante luctus commodo. Donec sagittis cursus nunc, quis ultrices justo rutrum sollicitudin. Sed in interdum sem. Donec eu quam tincidunt, cursus nulla pellentesque, placerat augue. Ut enim dolor, convallis vitae ultricies eget, molestie at mauris. Suspendisse vel sagittis ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vestibulum at dignissim ex. Sed ullamcorper dui lectus, nec varius velit commodo ac. Cras nec leo eget ex rutrum malesuada. Nunc tristique mi metus, nec tempor nibh interdum vel. Phasellus id sem egestas, placerat est at, vehicula nunc. Nulla at est ligula. In tincidunt pretium cursus. Quisque leo nibh, dignissim a imperdiet a, rutrum quis sapien. Vestibulum ut velit in orci porttitor luctus. Aenean porttitor malesuada tortor a porttitor. Nulla rhoncus magna eu bibendum faucibus. Maecenas elit sem, convallis vel bibendum quis, suscipit quis nisi. Integer vitae elementum sapien. Ut bibendum vehicula elit. Curabitur in tortor enim. Nam interdum lectus sed elit lobortis sagittis. Phasellus quis fringilla tellus. Maecenas dapibus elementum eleifend. Curabitur ac varius dui. Donec felis nibh, faucibus nec augue non, lacinia mattis quam. Vestibulum blandit gravida arcu a volutpat. Cras finibus accumsan ex sagittis congue. Aliquam erat volutpat. Nullam elementum gravida risus fringilla maximus. In iaculis, sem ut porta mollis, lorem nunc sollicitudin lectus, a dictum neque felis nec nisi. Vivamus quam dui, efficitur at ultrices at, ultrices vel ex. Fusce cursus tortor vitae turpis iaculis, et feugiat ligula semper. Aliquam quis porta leo, id molestie ipsum. Phasellus lacinia posuere lobortis. Vestibulum maximus augue in suscipit eleifend. Nunc posuere rhoncus est, faucibus fringilla leo ornare ac. Donec porttitor metus vel faucibus tempus. Praesent lacinia hendrerit convallis. Nulla facilisis tortor egestas erat consectetur, eu posuere ante malesuada. Integer venenatis rutrum nunc et aliquam. Quisque auctor consectetur tellus, in sollicitudin ex facilisis vel. In sit amet egestas ipsum. Sed imperdiet tortor eu risus malesuada, eu fermentum libero eleifend. Vivamus consequat dignissim volutpat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam sem metus, aliquam eu libero at, pharetra luctus ante. Pellentesque non metus a lorem feugiat interdum fermentum ac ligula. Morbi vulputate, nisi non tristique mattis, nibh enim pellentesque ex, et pretium ligula mi at tortor. Fusce id ante justo. Duis lacinia mattis massa nec posuere. Morbi tempor ut lorem eget tincidunt. Cras imperdiet leo aliquet urna tincidunt vestibulum. Ut imperdiet, ex quis tempus tempus, justo libero placerat quam, quis tempor eros nulla a purus. Suspendisse sapien ante, imperdiet sit amet mattis in, cursus a risus. Nunc porttitor sem turpis. Morbi scelerisque mollis dui, in blandit dui aliquet suscipit. Nam fermentum nisi at erat posuere, eget interdum massa feugiat. Quisque quis volutpat sapien, non aliquam justo. Mauris sollicitudin malesuada ipsum, eget pretium tellus auctor a. Vivamus maximus urna odio, ac feugiat nisi porta mattis. Ut vulputate elementum cursus. Praesent cursus ultrices varius. Morbi vitae odio convallis, consectetur turpis eget, facilisis erat. Phasellus dapibus facilisis venenatis. Suspendisse rutrum felis id quam maximus consectetur. Curabitur sed semper massa. Morbi a libero ultricies, ornare sem at, dictum enim. Pellentesque tempor enim in mauris elementum, vitae ornare nibh facilisis. Sed consequat diam vitae massa imperdiet, lacinia accumsan lectus pellentesque. Praesent iaculis auctor neque, vel convallis purus interdum ac. Sed vulputate ultrices felis ut congue. Integer eu risus non sem finibus tristique. Pellentesque eu nisi id magna dapibus sagittis. Sed varius, ex ut aliquet dignissim, orci tellus sollicitudin turpis, vitae commodo leo turpis quis enim. Morbi sodales pulvinar ultricies. Pellentesque sit amet justo nec ex mollis ultrices et quis magna. Suspendisse feugiat, massa at gravida fringilla, magna orci luctus erat, ut rutrum neque est sit amet lorem. Praesent sapien enim, elementum eu bibendum non, tincidunt eu augue. Proin eget viverra eros, eget laoreet tellus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Fusce vitae nisl semper libero dapibus dapibus a a nunc. Nulla venenatis sem sit amet maximus elementum. Donec id metus cursus, vehicula est ut, euismod elit. Nulla eget rhoncus leo. Quisque aliquet sed dui ut euismod. Maecenas pulvinar ligula in vehicula mattis. Aliquam sodales ipsum ipsum, et pellentesque erat iaculis eget. Sed accumsan scelerisque diam vel euismod. Aenean posuere lacus dolor, et tempor eros lobortis at. Proin justo neque, tristique vel ultrices sed, mattis at dui. Integer vehicula arcu vel eros vulputate, et aliquam mi condimentum. Donec sed justo et justo sollicitudin dignissim. Vestibulum mi urna, bibendum quis lectus quis, venenatis ullamcorper ex. Aenean mauris leo, imperdiet ac varius sed, ornare dictum libero. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec sem est, iaculis at felis in, tempor convallis arcu. Mauris eget velit vel lectus iaculis ullamcorper in id eros. Nullam mi dui, blandit at consequat sed, pretium ac nibh. Donec ligula arcu, consectetur eu purus imperdiet, volutpat varius lectus. Vivamus vitae hendrerit mauris. Proin euismod leo eu eleifend finibus. Nunc sed iaculis sapien, sit amet porta odio. Sed blandit enim a porttitor accumsan))). Integer faucibus maximus erat, sed interdum magna ultricies eget. Nam libero magna, laoreet id maximus sed, iaculis eu ex. Sed ultricies quam nec scelerisque imperdiet. Praesent a mauris ultrices, congue magna quis, convallis leo. Nunc eu orci augue. Pellentesque finibus tincidunt tincidunt. Pellentesque mattis odio at risus tristique, nec porttitor odio volutpat. Sed vel sapien nisi. Etiam varius, mauris a rhoncus egestas, mi lacus congue elit, eget sagittis eros risus a purus. Vivamus ac pretium sem. In id molestie felis, at dapibus nibh. Praesent sollicitudin ante gravida erat dictum ultrices. Vestibulum imperdiet id tellus in commodo. Nulla facilisi. Nam varius, ante sit amet ultricies vehicula, neque dui maximus orci, sit amet hendrerit nisl purus consequat tellus. Suspendisse bibendum ex ut leo dapibus, vitae dictum tortor dapibus. Integer sit amet tristique dui, suscipit lacinia nisl. Vestibulum iaculis odio ex, quis luctus augue pulvinar vel. Maecenas sem magna, egestas nec lorem sed, eleifend lacinia orci. Pellentesque sed justo ac quam cursus finibus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas quis dolor ac quam sodales fermentum. Aliquam erat volutpat. Curabitur quis dui quam. Curabitur nulla neque, pulvinar quis quam sed, vehicula volutpat turpis. Maecenas faucibus quam a ligula auctor, vel dapibus metus sodales. Duis fringilla orci vitae tortor condimentum rutrum. Nulla sit amet odio elementum, ornare nunc non, elementum nisi. Maecenas lectus orci, blandit eget hendrerit quis, pellentesque eu ex. In a lorem pellentesque, varius quam eget, cursus magna. Donec nibh ipsum, facilisis vitae leo pharetra, vulputate laoreet ligula. Aliquam varius leo eu lacus condimentum, eget euismod urna sagittis. Nunc condimentum venenatis efficitur. Integer eget purus nibh. Aliquam eros quam, imperdiet vitae rhoncus at, laoreet sit amet magna. Donec tempor leo facilisis pretium porttitor. Phasellus a nibh ac massa maximus euismod et ac augue. Morbi feugiat consequat vestibulum. Aliquam ac turpis sit amet purus luctus ultricies. Suspendisse vitae finibus nulla, eget facilisis diam. Proin et enim sollicitudin, porttitor massa sagittis, fermentum tortor. In feugiat suscipit augue vitae mattis. Vivamus mollis, eros nec volutpat suscipit, odio metus mollis odio, quis fringilla felis ipsum sit amet urna. Integer magna sem, accumsan ac rhoncus sit amet, accumsan in est. Praesent fermentum odio rutrum risus rutrum molestie. Duis id volutpat nulla. Etiam ornare scelerisque tellus, ac dictum nibh luctus in. Fusce diam ipsum, porta vel nisl eu, imperdiet aliquet magna. Nullam vitae eleifend purus. Suspendisse gravida felis sit amet facilisis volutpat. In sollicitudin diam libero, non euismod odio posuere non. Maecenas iaculis nisi sapien, quis fermentum nunc bibendum at. Vestibulum tempor erat vitae odio ultrices, fringilla iaculis dolor dignissim. Donec eu turpis quis justo malesuada euismod sed in mi. In feugiat hendrerit dui, eu facilisis nibh. Aenean nec dignissim urna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Sed finibus nibh sit amet feugiat malesuada. Donec orci nulla, viverra a congue a, blandit non diam. Ut non consectetur turpis. Ut in interdum purus. Donec feugiat magna sed libero mattis, quis sollicitudin sapien dapibus. Etiam ultricies quis nisl sit amet ultricies. Integer efficitur sapien id orci venenatis, vel vehicula ipsum sollicitudin. Fusce eget pharetra est. Nulla ac interdum quam. Duis sit amet feugiat sapien. Mauris malesuada ex risus, dapibus vestibulum est facilisis eget. Ut ut tincidunt metus, a malesuada nisi. Duis vitae ante eget nulla facilisis sollicitudin eu fermentum nisl. Fusce id turpis dapibus lectus lacinia efficitur sed quis enim. Aenean volutpat magna sapien, eget volutpat ipsum tempor at. Nullam sollicitudin pretium nisi, quis auctor lorem sodales non. Quisque vel lectus lacinia, accumsan felis eget, viverra ligula. Proin eget nibh sed dolor scelerisque pellentesque non eget massa. Pellentesque at sodales sapien. Nam dolor erat, aliquet at enim nec, eleifend dictum est. In hac habitasse platea dictumst. Fusce lobortis feugiat ex at rhoncus. Praesent cursus felis at mi molestie, viverra pulvinar ipsum dignissim. Nam cursus leo non dolor tincidunt pharetra. Aliquam erat volutpat. Etiam porta enim lectus. Proin ex turpis, volutpat lobortis dignissim id, rhoncus non ligula. Aliquam eget semper lorem, eu convallis nisi. Praesent placerat sapien id metus consequat mollis. Mauris in dapibus ligula. Morbi pharetra bibendum suscipit. Vivamus et tristique tortor. Vestibulum interdum tempus eros, at scelerisque velit ultricies at. Cras tincidunt lectus est. Sed gravida fringilla vehicula. Aliquam at consequat orci, ac pretium sapien. Pellentesque in bibendum urna. Duis congue feugiat magna nec venenatis. Phasellus sed felis vel magna rutrum ornare. Fusce nisl sapien, feugiat ac faucibus id, consequat id eros. Cras maximus augue nunc, nec laoreet quam volutpat ut. Sed cursus, nunc sit amet fringilla viverra, nisl dolor rutrum nulla, eget pellentesque sapien mauris et tellus. Aenean eu porttitor augue. Nulla at nulla aliquet augue commodo volutpat eu auctor magna. Fusce ut tristique augue, non vestibulum felis. Cras ullamcorper metus vel enim viverra pharetra. Donec nisi lacus, ultrices a metus et, laoreet aliquam neque. Praesent nunc neque, vehicula nec ante quis, hendrerit rhoncus libero. Fusce pellentesque tortor et erat ultricies placerat. Sed egestas, mauris sed vulputate dignissim, tellus nisi iaculis neque, et scelerisque lacus erat eget leo. Cras accumsan pretium dui, vitae aliquet odio egestas ac. Maecenas pharetra purus non quam suscipit iaculis. Phasellus posuere iaculis nulla a lacinia. Nam eu semper nisi, suscipit facilisis nibh. Pellentesque nec sollicitudin lorem. Nulla ipsum purus, commodo at felis non, rhoncus pellentesque odio. Suspendisse laoreet nibh urna, id consequat ex laoreet ac. Proin ultricies ex quis mauris euismod imperdiet. Nam volutpat justo mauris. Donec nibh nibh, lacinia at sapien ut, porttitor bibendum ligula. Phasellus tristique varius ultrices. Mauris sed enim augue. Proin ut ligula et lacus dignissim condimentum. Aenean vel neque mauris. Phasellus nibh mi, imperdiet id tempor in, vulputate sit amet odio. Nam neque dui, dictum eget finibus at, consequat eu turpis. Nam consectetur vel leo a volutpat. Praesent rutrum elit ac turpis imperdiet pulvinar quis sed arcu. Morbi fringilla, nibh non ultrices scelerisque, est leo euismod sem, a imperdiet felis leo quis lectus. Donec feugiat nibh sagittis, fringilla mauris non, suscipit nisi. Maecenas dignissim justo in elit tempor commodo. Aenean hendrerit non dolor a pharetra. Nullam fringilla, nunc consectetur cursus iaculis, magna nisi iaculis erat, eget suscipit velit dolor et tortor. Maecenas nec metus nunc. Aliquam volutpat efficitur mauris, non efficitur neque bibendum vitae. Mauris mollis libero sit amet aliquet semper. Maecenas luctus mauris et mollis porttitor. Quisque faucibus, enim eu vulputate mattis, leo elit pellentesque tellus, in tristique metus neque et enim. Nullam et mauris dictum, ullamcorper libero nec, facilisis quam. Curabitur ante dui, pellentesque et ex et, sollicitudin laoreet justo. Praesent sollicitudin lectus eros, vitae malesuada erat scelerisque eget. Nam suscipit posuere egestas. Suspendisse potenti. Cras maximus elit vitae auctor fermentum. Praesent porta urna sed sollicitudin hendrerit. Suspendisse condimentum pulvinar blandit. Mauris sed interdum risus. Suspendisse sed sapien posuere, dictum sapien tincidunt, varius augue. Phasellus lobortis sed eros vitae efficitur. Donec vulputate eros sit amet convallis semper. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus id purus at nisl rutrum pellentesque. Integer ut sagittis felis, sit amet malesuada nunc. Cras vitae leo id diam suscipit vulputate. Suspendisse eget ante semper, facilisis velit ut, imperdiet arcu. Praesent sagittis rhoncus nibh quis ultrices. Vivamus pharetra gravida orci, ac placerat risus imperdiet eget. Etiam accumsan vitae urna id lobortis. Pellentesque a erat eleifend, posuere dolor non, mattis leo. Pellentesque tristique nisl nec lacus tempus molestie. Sed eu nunc quis purus luctus euismod vitae non diam. Vestibulum ut nisl justo. Suspendisse potenti. Nulla ut feugiat diam, dignissim viverra lectus. Sed ac gravida elit, sed ullamcorper ipsum. Mauris laoreet volutpat ante ac molestie. Cras lacinia augue sed est hendrerit semper. Nulla facilisi. Suspendisse in condimentum nibh. Sed consequat auctor sem vitae venenatis. In sagittis lobortis nunc, in pulvinar purus tincidunt vel. Praesent sollicitudin, augue a interdum tincidunt, lorem enim finibus libero, vel cursus orci ligula eu quam. Praesent scelerisque erat ac lacinia ultrices. Aliquam posuere ultrices risus sed venenatis. Donec dictum iaculis ante eu fringilla. Aliquam non lectus lacus. Morbi et ante sagittis, convallis ipsum ac, sodales libero. Ut vitae metus sollicitudin, eleifend lorem eu, vestibulum lorem. Praesent maximus mollis leo at commodo. Vivamus consequat, velit sed maximus pulvinar, lacus tortor pretium ante, non rhoncus orci ipsum et ante. Ut aliquet consectetur orci, at bibendum massa consequat sed. Pellentesque tempor pretium tellus, sit amet sollicitudin tortor euismod feugiat. Aenean rutrum ipsum leo, eu mollis quam auctor vel. Maecenas sollicitudin leo eget vehicula vestibulum. Integer lobortis eu eros sed consectetur. Aenean consequat, nunc a maximus molestie, urna sem bibendum justo, ut mattis augue enim vel lectus. Aenean mattis metus interdum diam tincidunt, non laoreet augue interdum. Ut eget purus vitae quam iaculis ultrices quis in arcu. Donec imperdiet sed ex vitae ornare. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Mauris accumsan aliquam eros a egestas. Donec sit amet eros a neque dignissim feugiat et vitae orci. Curabitur sed ultricies lorem. Phasellus quis quam venenatis magna iaculis placerat sit amet ornare nulla. Phasellus aliquam vehicula erat, sed ultrices sapien cursus id. Duis arcu erat, consectetur ut orci ac, finibus varius lacus. Vestibulum eget augue in felis fermentum lobortis in vel diam. Maecenas arcu eros, porttitor quis risus sed, porttitor ultricies orci. Nullam viverra libero nisi. Nullam blandit, lacus quis convallis cursus, urna nisl scelerisque tellus, vel euismod magna risus a lectus. Aliquam ligula est, luctus sit amet pharetra non, commodo at massa. Quisque blandit massa vel risus bibendum aliquet. Duis sit amet ultricies magna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Praesent cursus felis a turpis dignissim ultricies. Mauris sed lacus nec purus consequat faucibus sed id ante. In sed aliquam nibh, ac blandit dui. Nunc tortor nisl, tincidunt vitae urna sed, tincidunt placerat ligula. Duis at ullamcorper turpis. Quisque ac diam lacus. Praesent placerat arcu ut fermentum efficitur. Proin et purus nec diam euismod finibus. Morbi pulvinar pellentesque eleifend. Donec pretium arcu eu aliquam tempor. Nam sodales neque sit amet mauris semper, vitae dictum lacus placerat. Vivamus at dolor cursus leo tempor vehicula non et nibh. In odio sem, vestibulum ut accumsan nec, ornare et nulla. Pellentesque faucibus magna et mauris bibendum suscipit. Praesent laoreet mi faucibus, vehicula nisl eget, viverra leo. Vestibulum placerat ipsum urna, vitae pellentesque ipsum viverra in. Integer id efficitur magna, ut volutpat risus. Cras tellus tortor, fermentum vitae condimentum non, efficitur vel magna. Duis pulvinar ultrices est, quis blandit massa ullamcorper quis. Maecenas condimentum mi id facilisis vestibulum. In mollis vitae orci a elementum. Nullam ullamcorper eleifend erat pretium facilisis. Nulla eleifend luctus odio a ullamcorper. Vivamus quam orci, tristique eu dapibus sit amet, scelerisque eget ex. Donec quis mauris et odio interdum commodo. Nunc vitae tempus quam. Donec mi orci, commodo quis lectus vel, dictum faucibus nulla. Vivamus a risus lorem. Donec tempus at augue sed consectetur. Etiam vitae luctus turpis. Maecenas tincidunt aliquet tellus, sit amet venenatis magna. Aenean vel est mollis, pulvinar elit posuere, feugiat lorem. Praesent hendrerit facilisis nisl et fermentum. Aenean convallis pellentesque tortor, quis iaculis lectus bibendum nec. Aenean tempus luctus erat vitae suscipit. Ut euismod scelerisque erat ut hendrerit. Morbi maximus eu ligula ac facilisis. Pellentesque id egestas ligula, et suscipit ligula. Duis imperdiet felis ac ipsum dapibus faucibus. Phasellus iaculis sagittis mauris. Nulla vel ante sed elit malesuada vestibulum ut eu eros. Suspendisse massa tellus, vehicula sed quam quis, consequat scelerisque felis. Suspendisse vel semper elit. Proin nec sem sem. Maecenas finibus tellus et risus molestie faucibus. Curabitur facilisis quam eu sem ullamcorper, ut malesuada tortor sagittis. Sed aliquet ligula at laoreet volutpat. Fusce ut purus dignissim, accumsan ligula eget, cursus neque. Suspendisse potenti. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec ut luctus diam. Suspendisse id augue lacus. Curabitur tempus placerat pharetra. Nunc ac aliquam felis, non ullamcorper libero. Aenean eu est ligula. Vivamus commodo, lorem quis semper aliquet, libero leo pellentesque nisi, vel vestibulum risus quam at velit. Nunc viverra in sapien vel cursus. Curabitur pharetra fermentum velit, ac bibendum lacus cursus sit amet. Nulla vel elit nibh. Vestibulum tortor est, aliquet non turpis id, sagittis scelerisque orci. Vestibulum in volutpat felis. Nunc magna nisl, aliquam eu molestie ut, lobortis eu justo. Pellentesque viverra congue tempus. Curabitur commodo mauris at nulla mattis euismod. Sed vitae efficitur massa, eget congue sem. Donec lacinia leo diam, ut dignissim ex vestibulum in. Duis id porttitor dolor, ac accumsan tellus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque eu ornare diam. Etiam bibendum orci convallis odio eleifend, ac luctus leo tempor. Curabitur eget posuere elit. Nullam pellentesque molestie magna, ultrices semper tortor pellentesque vel. Ut dapibus pharetra risus sit amet molestie. Morbi quis ultricies mi. Cras non neque risus. Morbi id massa blandit, semper purus eu, pulvinar ante. Vivamus mattis hendrerit ex, eu volutpat tortor sollicitudin quis. Duis ante ex, venenatis eu iaculis sagittis, aliquam sit amet eros. Mauris et ligula elit. Donec condimentum, sem eget ullamcorper imperdiet, diam dolor laoreet metus, sed facilisis sem sapien a mi. Donec elementum ex eu nulla venenatis ullamcorper. Mauris eget erat vitae erat hendrerit interdum. Ut et lobortis lectus, vel molestie sem. In suscipit tortor arcu, quis condimentum dui blandit vel. Pellentesque pulvinar pretium dui at mollis. Aliquam ac dolor et eros consectetur cursus in eu sapien. Ut blandit ultricies massa vitae accumsan. Suspendisse eget cursus tellus. Fusce iaculis vel ante sit amet luctus. Maecenas lacinia risus a metus malesuada ornare. Aliquam sed sagittis lectus. Nulla eu lectus ipsum. Mauris sodales a mauris at bibendum. Nulla non hendrerit enim. Maecenas euismod dolor velit. Mauris posuere dapibus lacus, a cursus justo iaculis vitae. Nulla cursus tortor scelerisque nisl elementum, vel congue nibh convallis. Donec eros orci, auctor a risus sit amet, dictum tempor leo. Mauris sit amet mauris nec nisl elementum iaculis. Integer malesuada varius massa ut aliquam. Curabitur scelerisque elit sit amet consequat euismod. Vestibulum semper orci quam. Fusce eu viverra magna. In sed fringilla nibh. Quisque eleifend massa non turpis scelerisque aliquam. Pellentesque volutpat, mi nec lobortis imperdiet, quam risus fermentum elit, a pellentesque augue est eget dui. Sed hendrerit imperdiet erat ac efficitur. Donec eget magna et ex dictum luctus. Donec quis justo nulla. Nulla ac commodo justo. Morbi accumsan turpis et magna consectetur pulvinar. Curabitur tincidunt eleifend felis non pellentesque. Duis et dolor in dolor consectetur varius sed nec nunc. Aenean et sapien ultricies, accumsan dui ut, posuere arcu. Pellentesque viverra urna vitae magna ultricies volutpat. Vestibulum ipsum velit, faucibus vel dignissim vitae, fringilla vitae dolor. Fusce bibendum sed orci id mollis. Suspendisse dignissim sapien vitae suscipit commodo. Aliquam iaculis diam elit, a scelerisque eros facilisis quis. Vivamus consequat in felis vitae vulputate. Suspendisse rutrum magna ipsum, vitae gravida urna feugiat ac. Morbi pretium odio vel sollicitudin finibus. In hac habitasse platea dictumst. Cras ultricies varius enim, quis congue eros efficitur in. Morbi tempor consequat nisi quis lacinia. Sed laoreet eros et facilisis eleifend. Mauris ut pellentesque sem. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ut ligula nisl. Praesent sagittis est id iaculis lobortis. Quisque sollicitudin nisi at ipsum ultrices, sed blandit sem pretium. Sed a nibh id risus dapibus eleifend eget vitae est. Vivamus diam risus, tincidunt nec mi at, tristique elementum turpis. Sed urna augue, cursus vel massa a, congue semper diam. Aenean id justo quis velit vehicula iaculis sed at nulla. Praesent fermentum, leo ultricies mattis dignissim, mauris libero placerat erat, nec pellentesque nibh est non diam. Nulla facilisi. Pellentesque neque risus, luctus sed lorem quis, scelerisque mollis enim. Nullam lectus tortor, tincidunt et varius sit amet, posuere in elit. Nulla nec tempor sem. Fusce ornare sem nec pretium vehicula. Suspendisse consectetur enim vitae erat ultrices suscipit. Nam in magna vel ligula viverra posuere id at felis. Sed consectetur lectus eu augue rhoncus, non mollis nunc ullamcorper. Sed elementum et nisl vitae eleifend. Maecenas semper convallis arcu in auctor. Vestibulum eget ultrices sem. Fusce egestas ultrices augue, et scelerisque ipsum feugiat vitae. Suspendisse lorem leo, laoreet in pulvinar quis, mattis eleifend purus. Integer a convallis quam, a pellentesque ex. Nam a tellus sit amet urna sodales dapibus. Maecenas quis elementum tortor. Nullam sit amet nibh nunc. Etiam vehicula blandit semper. Donec blandit tempus urna a consequat. Vestibulum lectus risus, pharetra ac sollicitudin quis, pellentesque in libero. Etiam id porta ligula, non cursus tortor. Mauris tortor sem, dapibus sit amet eleifend sed, laoreet vitae turpis. Duis pharetra nulla ligula, ut ullamcorper risus semper eget. Vivamus non luctus nisi. Sed eget dictum justo. Nam quis mattis lacus, quis aliquet lorem. Praesent tempor orci metus, vel ullamcorper enim convallis ut. Pellentesque congue feugiat sem et faucibus. Proin quis lectus sit amet arcu lobortis cursus nec non velit. Donec vitae lobortis ante, sed ultricies risus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Maecenas erat leo, dignissim eu felis ut, molestie semper mauris. Cras ex augue, consequat eu consequat id, mattis placerat justo. Pellentesque a tincidunt urna, in imperdiet nisl. Nulla vel lorem id eros egestas iaculis. Fusce ullamcorper tellus sit amet lacus congue, ut fermentum orci interdum. Praesent in ligula non nulla ultrices tincidunt at nec dui. Curabitur nibh est, ullamcorper at felis sed, aliquam semper diam. Pellentesque eget vulputate diam. Donec fringilla urna non urna aliquet mattis. Cras dictum, tellus sit amet lobortis laoreet, purus urna maximus ante, eget accumsan lacus nunc eu felis. Nulla non ultrices velit, eget hendrerit libero. In et enim elit. Vestibulum aliquet eu nisl sit amet faucibus. Suspendisse sapien diam, malesuada id est quis, sagittis scelerisque est. Ut condimentum aliquet viverra. Donec lacinia lobortis elit. Proin posuere efficitur dolor nec condimentum. Nunc sit amet sapien porttitor, malesuada purus ac, semper lectus. Etiam eu ultricies urna, at ullamcorper nisl. Sed imperdiet venenatis dolor. Nulla neque ipsum, feugiat nec eros fringilla, rutrum dictum quam. Pellentesque sed nulla vel magna dapibus ultricies. Vestibulum placerat eu eros ut volutpat. Curabitur ornare mauris et hendrerit dictum. In hac habitasse platea dictumst. Pellentesque volutpat elit ex, a vehicula ex sodales sit amet. Aenean nibh erat, ullamcorper ut ligula at, tincidunt laoreet erat. Vestibulum viverra nisl blandit ultricies feugiat. Nulla mi eros, pulvinar sed condimentum quis, finibus vitae est. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec placerat dictum hendrerit. In ut elit sed urna faucibus pellentesque. Nunc ut malesuada ipsum. Morbi viverra mi id ullamcorper hendrerit. Donec sit amet dictum libero, in porta enim. Integer vel elementum neque. Etiam interdum ligula elit, a vehicula orci euismod cursus. Nam et laoreet lectus. Pellentesque ut pulvinar erat, quis porta sem. Vivamus fermentum augue eu lectus suscipit, quis maximus justo hendrerit. Maecenas feugiat gravida elit, nec porttitor leo pellentesque lobortis. Cras pharetra, quam nec bibendum faucibus, diam turpis pellentesque orci, sit amet iaculis ex elit in purus. Vestibulum venenatis erat diam, non volutpat ex dapibus vel. Suspendisse potenti. Donec venenatis justo a quam semper, ac feugiat ex finibus. Nullam facilisis porta neque. Donec sed imperdiet purus. Maecenas malesuada metus nisi, ut efficitur ligula pellentesque eget. Duis interdum suscipit enim sed mollis. Vestibulum congue iaculis ante non porta. Nulla eu est at neque ornare faucibus ut quis tortor. Nulla scelerisque erat vel mauris molestie porttitor at in orci. Maecenas quis sapien a sem commodo auctor sit amet eget purus. Quisque iaculis, sapien ut interdum dignissim, neque sem molestie neque, eget imperdiet nibh neque ac quam. Etiam nec dolor purus. Pellentesque non egestas lectus. Nunc sed posuere libero. Praesent nec augue nulla. Phasellus rutrum, massa in dignissim bibendum, ante est tincidunt mi, ac consequat justo sem id augue. Quisque sed velit nec nisi convallis posuere vel sed purus. Sed ut ligula ex. Fusce porta, ante eget vulputate tempus, nulla lacus consectetur sem, ut eleifend nunc lectus varius felis. Suspendisse cursus dui non turpis pellentesque, vitae elementum nunc euismod. Nulla facilisi. Donec quam neque, vestibulum pretium diam ac, maximus iaculis felis. Donec fringilla elementum lectus ut dictum. Donec mollis orci risus, eget consectetur turpis hendrerit sed. Sed maximus leo lacinia magna ultrices, sit amet eleifend urna laoreet. Vivamus vestibulum quam eget diam tincidunt, vitae faucibus purus malesuada. Etiam porttitor nibh sed sem blandit, vitae fermentum tellus auctor. Pellentesque consectetur vel felis nec eleifend. Nulla facilisi. Praesent ultrices purus augue, vel maximus neque fermentum semper. Quisque efficitur pretium gravida. Suspendisse eu fermentum eros, et lacinia ligula. Maecenas pellentesque eu velit a congue. Aliquam feugiat tellus libero, sit amet consequat ligula suscipit id. Pellentesque ante justo, molestie id luctus at, sodales in elit. Morbi id sapien finibus, pellentesque neque ut, facilisis purus. Nullam pharetra velit magna, sit amet laoreet risus dignissim vel. Proin a aliquam erat. Duis auctor ornare luctus. Suspendisse pretium massa eget condimentum lobortis. Integer nec imperdiet ante, eu condimentum erat. Integer porttitor lacus nec pellentesque ultricies. Praesent non mattis arcu. Nunc et turpis ex. Maecenas semper lectus eu congue scelerisque. Vivamus vitae tempus nunc. Proin eget justo fermentum, imperdiet nulla ac, iaculis arcu. Cras ornare, ligula eget fringilla tristique, nulla augue vulputate velit, nec luctus diam odio sit amet tortor. Pellentesque ut leo facilisis, mattis velit ac, condimentum nisl. Mauris vehicula, metus nec pulvinar ornare, sapien erat tincidunt magna, eget vulputate dui lectus in felis. Nulla luctus sapien tempus nisl eleifend, quis rhoncus augue varius. Suspendisse sem velit, porttitor a molestie in, consectetur vitae nisl. Proin ac massa semper, tempor justo quis, bibendum est. Sed non maximus turpis. Suspendisse nec faucibus ligula. In hac habitasse platea dictumst. Praesent vel felis fringilla, porttitor felis quis, vehicula magna. Integer commodo leo lacus, quis tincidunt risus tempor ut. Morbi leo nisl, auctor et est non, gravida fermentum risus. Morbi aliquam, nibh at dictum malesuada, ipsum sapien blandit nisi, ac luctus libero neque id nulla. Quisque porttitor nunc at lobortis vestibulum. Nam a mi mauris. Mauris interdum malesuada arcu, non pellentesque velit lobortis nec. Donec eget arcu et orci consequat porta. Praesent lacus sem, vulputate id odio a, aliquet aliquet massa. Etiam egestas non nisi tincidunt malesuada. Sed sollicitudin nunc ullamcorper, pretium enim a, scelerisque erat. Praesent fermentum porta posuere. Phasellus eu luctus libero. Nullam in rutrum ipsum, ut lobortis arcu. In urna risus, commodo eget pretium luctus, laoreet sit amet odio. Curabitur semper, augue eu sollicitudin finibus, ligula nisl semper metus, accumsan condimentum massa dui ut ex. Morbi laoreet metus arcu. Cras eu ex eu quam tempor eleifend sit amet eu orci. Pellentesque semper odio non velit cursus maximus. Morbi a diam quis enim maximus laoreet. Etiam posuere molestie dictum. Vivamus eget imperdiet purus, sit amet fringilla sem. Curabitur eget velit aliquam, tincidunt quam quis, rutrum nulla. Donec ut tempor ante. In suscipit quam sed elit sodales ullamcorper. Integer euismod tincidunt tellus non accumsan. Quisque aliquam nisi eu nibh dapibus venenatis. In molestie risus nec velit semper volutpat. Aenean et ipsum iaculis, tincidunt ante sed, maximus dui. Suspendisse viverra magna et eros ultrices, sit amet mattis odio venenatis. Vestibulum eros mi, accumsan ac viverra sed, pulvinar vitae nisi. Nam at accumsan sem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed aliquam leo quis lacus luctus, rutrum ultrices dolor iaculis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut hendrerit mi quis nunc dignissim, in rutrum mauris pulvinar. Nunc pellentesque lorem vel enim facilisis maximus. Quisque iaculis non nisl non dictum. Praesent aliquam maximus diam, vitae sollicitudin felis molestie vitae. Aliquam tincidunt elit a ante vehicula placerat. Vestibulum ornare mattis lorem id dignissim. Suspendisse lobortis ut lorem ut tincidunt. Aliquam ultricies ante sed turpis venenatis pretium. Donec ultrices elementum sem et suscipit. Sed quis pellentesque ex. Nulla porta ultricies sem, ut egestas nisl aliquet euismod. Donec laoreet dui eget porta ullamcorper. Maecenas imperdiet sagittis molestie. In hac habitasse platea dictumst. Donec interdum pharetra neque eu semper. Nam et volutpat erat. Donec volutpat purus vel turpis consectetur tempor. Suspendisse bibendum magna eu risus venenatis ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla nec mauris sit amet ligula accumsan eleifend. Nullam vel pulvinar magna. Curabitur dolor lectus, convallis sit amet luctus id, tristique et lacus. Maecenas suscipit varius nisi quis iaculis. Morbi ornare enim metus. Cras elementum fringilla velit at auctor. Etiam dapibus augue in ante venenatis volutpat. Cras venenatis pretium ligula in pellentesque. Nam nec aliquam ipsum. Pellentesque viverra nibh in nulla facilisis dapibus. Integer non pulvinar libero, vitae condimentum lacus. Sed auctor tincidunt placerat. Proin consequat orci a augue tincidunt, pulvinar hendrerit sem rhoncus. Etiam elit purus, mollis eget consectetur in, ornare et purus. Praesent vel auctor lectus. Proin dapibus lorem at nisl consequat, in auctor nulla vehicula. Nam aliquet quam at elit efficitur pulvinar. Quisque non lacus at leo finibus hendrerit. Donec sit amet ante odio. Nunc cursus ullamcorper felis, fringilla placerat libero ultrices at. Quisque sit amet risus scelerisque, bibendum leo et, aliquet mi. Aenean at scelerisque risus, ut mattis ligula. In sodales eros at magna ultricies, vitae mollis arcu molestie. Nullam ut libero tortor. Nulla lacinia tincidunt condimentum. Proin laoreet lacinia enim, sit amet condimentum sapien placerat varius. Nunc at facilisis nibh, non tempor nisi. Vivamus et gravida neque. Donec posuere faucibus malesuada. Nullam mauris turpis, dictum in orci sed, dapibus hendrerit quam. Fusce vehicula turpis vitae tristique aliquam. Aliquam eget purus arcu. Phasellus eu leo sed urna ullamcorper ullamcorper ac id tortor. Aenean a metus in tortor porttitor ultrices. Ut eleifend aliquet tincidunt. Donec eu velit sem. Quisque pellentesque feugiat ante vel convallis. Suspendisse posuere ligula eu dictum tempor. Nunc pharetra, enim in sagittis semper, sapien velit condimentum odio, sed volutpat sem est eget enim. Nulla sollicitudin tellus et orci elementum, consequat elementum purus tincidunt. In suscipit rhoncus elit non sollicitudin. Sed mattis pulvinar quam at aliquet. Vivamus posuere magna non sem sollicitudin eleifend. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris lacinia vulputate placerat. Aliquam nisl enim, tincidunt sed eleifend eget, luctus sit amet lorem. Donec et lacinia tortor. Mauris lorem nunc, porttitor suscipit fringilla at, semper a massa. Nulla in velit ut lorem maximus feugiat nec ut ligula. Donec ac quam in est congue accumsan. Morbi et ante at augue viverra egestas in a ipsum. Nullam ex mi, condimentum nec molestie quis, varius sed arcu. Maecenas eleifend in turpis vel varius. Nam felis ante, mollis eget pulvinar vitae, dapibus a ante. Maecenas consequat quam id mauris placerat, non auctor turpis semper. Sed quis vehicula nulla. Nulla imperdiet imperdiet augue, non dapibus velit laoreet eu. Nulla venenatis mauris dui, vulputate efficitur risus fringilla id. Morbi vitae lobortis sem. Nunc volutpat nisl eu sem egestas, a rhoncus dui sollicitudin. Aenean vehicula venenatis hendrerit. Sed nulla felis, ornare eu eleifend vel, tincidunt nec ipsum. Nullam in sollicitudin justo. Ut sit amet laoreet erat, nec finibus tellus. Nam eros mi, luctus ac mauris sit amet, mattis bibendum metus. Ut quis ornare tellus. Donec euismod dignissim magna, non tempus ipsum. Fusce in diam eleifend, aliquam elit vestibulum, luctus leo. Sed tincidunt elit at interdum vestibulum. Aliquam vitae dignissim dolor, non viverra nisl. Quisque vel faucibus nisl. Duis vitae ante sed ante feugiat fringilla. Aenean semper quis massa eu elementum. Duis non luctus ex, ac molestie leo. Maecenas mollis sodales turpis, iaculis congue purus pulvinar vel. Sed faucibus, metus id feugiat tincidunt, leo quam sollicitudin ipsum, a tincidunt urna ante ut nisl. Nulla facilisi. Mauris sit amet ligula nec arcu rhoncus interdum. Aliquam erat volutpat. Maecenas non lorem quis felis posuere porttitor vitae nec eros. Cras pulvinar elementum est vitae lobortis. Quisque ultricies ipsum ex, quis porta leo vestibulum et. Vestibulum interdum nibh in neque condimentum, sit amet fermentum nisl dignissim. Suspendisse mattis, quam vitae ornare malesuada, sem ex rhoncus justo, ut blandit nibh est vel augue. Nulla mauris urna, malesuada quis sagittis sed, malesuada vel turpis. Praesent sit amet dolor vel est consequat rhoncus. Nulla tellus magna, fermentum id lorem nec, interdum tincidunt est. Sed auctor diam orci, sit amet venenatis mauris tincidunt et. Maecenas fringilla neque id facilisis vulputate. Interdum et malesuada fames ac ante ipsum primis in faucibus. Vestibulum massa ex, vestibulum et libero eu, dictum facilisis ligula. Morbi pharetra non sem eget fringilla. Donec eu sodales eros. In tristique lorem nec risus fringilla pulvinar. Aliquam massa dui, vehicula in porta et, volutpat sit amet ligula. Fusce dictum tortor ac est rutrum mattis. Vivamus nisi lectus, gravida id placerat quis, ullamcorper a nibh. Donec pellentesque tincidunt enim at vulputate. Nam maximus est vitae odio convallis maximus. Fusce mi nunc, pulvinar in purus quis, varius fringilla est. Fusce ut dictum tellus. Ut fermentum enim eu nibh lobortis, ut molestie enim aliquet. Mauris malesuada mi sed tortor rutrum pellentesque. Fusce fermentum scelerisque odio sit amet tincidunt. In hac habitasse platea dictumst. Curabitur rutrum tristique semper. Nunc efficitur, ipsum ut mollis accumsan, sapien enim pulvinar ex, ac tincidunt sem mauris eu enim. Integer tincidunt, ex at auctor fermentum, augue lectus fermentum arcu, non congue quam elit in felis. Morbi euismod a dui a blandit. Nam nec accumsan leo, et egestas arcu. Nunc interdum sit amet quam at sodales. Duis metus ligula, mollis quis sapien id, interdum viverra risus. Cras vehicula malesuada bibendum. Vestibulum dictum dolor et neque mattis, quis laoreet risus placerat. Curabitur vulputate mattis nulla eget faucibus. Morbi id justo hendrerit, rutrum ipsum nec, faucibus est. Nunc molestie massa non cursus gravida. Nunc tempor enim bibendum, elementum velit nec, finibus nisi. Donec enim nisi, lobortis id neque non, ullamcorper consectetur nisl. Sed tristique neque quis hendrerit varius. Maecenas finibus commodo quam at porttitor. Suspendisse venenatis egestas luctus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla id molestie risus. Nam quam ex, condimentum vel nulla sit amet, consequat dictum arcu. Proin eget diam ultricies, faucibus arcu dictum, commodo est. Donec metus arcu, sodales quis semper id, efficitur quis urna. Sed porta iaculis diam sed fringilla. Phasellus eleifend sagittis pellentesque. Sed cursus erat quis suscipit vestibulum. Phasellus varius arcu tellus, venenatis sagittis tellus venenatis id. Nulla vitae accumsan eros. Integer lacus dolor, dapibus at lacus nec, hendrerit molestie ex. Donec vehicula non erat et placerat. Interdum et malesuada fames ac ante ipsum primis in faucibus. Donec fermentum augue varius libero pulvinar, sit amet molestie felis finibus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus a mi justo. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur ullamcorper efficitur orci, nec tincidunt orci lobortis et. Nunc eget sodales nisi, non sagittis felis. Vestibulum in luctus mi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque ultrices dignissim urna vel sollicitudin. Nullam vel tortor metus. Pellentesque sed massa erat. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis pellentesque mi vel justo mollis, vel scelerisque felis ullamcorper. Phasellus vestibulum sagittis orci a bibendum. Quisque id metus hendrerit, porttitor orci ut, faucibus augue. Donec non dolor tellus. Morbi rutrum eros vitae nunc gravida, sed convallis est porta. Donec at dui arcu. Phasellus lacinia, justo sed lacinia ornare, nulla quam euismod ante, non fermentum diam justo at urna. Cras accumsan ante vel euismod tempor. Fusce tincidunt venenatis turpis malesuada pretium. Nulla facilisi. Ut id fermentum sem, ut aliquam mi. Proin nisi ex, volutpat vitae venenatis sed, auctor ut dui. Donec in iaculis ligula. Maecenas condimentum eleifend sollicitudin. Curabitur fermentum convallis elit, ac condimentum nulla euismod id. Phasellus sit amet elit eu dui rhoncus molestie in sit amet ipsum. Phasellus posuere augue a dignissim efficitur. Proin vel velit vel nisi rhoncus sollicitudin. Mauris vitae sapien non nulla ornare elementum. Curabitur arcu nisi, condimentum semper volutpat eget, interdum vitae sem. Sed sollicitudin, erat quis mollis condimentum, neque velit bibendum tortor, nec luctus metus libero tincidunt erat. Integer a fringilla orci, vel feugiat nibh. In erat eros, efficitur sed enim eu, molestie bibendum neque. Nulla ut sodales nisl. Aenean posuere dignissim nunc sed sollicitudin. Nunc ligula tortor, aliquam varius imperdiet a, volutpat in dui. Nam condimentum consequat tellus, vitae vehicula nunc scelerisque ac. Aenean dictum erat ac nibh malesuada, quis egestas sem suscipit. Suspendisse interdum ullamcorper leo ut finibus. Ut id porttitor odio, ut porta odio. Nulla id mattis lacus. Nam accumsan nunc sit amet tortor scelerisque finibus. Curabitur eget fringilla nibh, ut blandit mi. Nunc nec elit non libero faucibus aliquet mollis suscipit ante. Fusce nec ante tempor turpis consectetur dictum id eget leo. Cras orci lectus, posuere a ex eget, dictum consectetur ante. Aliquam mattis molestie lorem, varius gravida lorem vulputate eu. Pellentesque leo ante, mollis in massa et, ornare commodo elit. Praesent et turpis tincidunt mauris lobortis porttitor tincidunt vel dui. Nullam massa felis, congue ac malesuada quis, tempor sed elit. Nam sagittis dui tempor pulvinar finibus. Nullam molestie malesuada urna, sed ultricies urna vehicula eu. Interdum et malesuada fames ac ante ipsum primis in faucibus. In magna ligula, tempus vel est eu, maximus consectetur orci. Nulla facilisi. Duis nec porttitor dolor. Nunc sed semper mi. Cras quis augue sit amet purus bibendum ultrices sed id ipsum. Quisque luctus est ut ligula dignissim fermentum. Mauris consequat volutpat neque sit amet bibendum. Integer congue scelerisque nisi. Vivamus vehicula sapien massa, et placerat metus ullamcorper id. Etiam vestibulum elementum scelerisque. Aenean ut elit in tortor feugiat tincidunt at ac nulla. Donec faucibus, dolor eget ornare gravida, magna orci congue tellus, quis aliquam est mauris vitae eros. Pellentesque quam augue, feugiat sed metus ut, aliquet tempor lorem. Donec non vestibulum turpis. Ut posuere mollis turpis, pellentesque lobortis mauris. Pellentesque congue augue sit amet turpis molestie eleifend. Nulla facilisi. Fusce nec nulla et ante congue cursus sit amet tincidunt nulla. Nulla et neque a dolor malesuada luctus eget non nunc. Mauris id interdum justo. Suspendisse facilisis rutrum tincidunt. Nullam consequat sagittis purus et eleifend. Nullam ligula libero, tempus vel tincidunt non, pretium vel libero. Mauris molestie, lacus sed blandit tincidunt, ipsum tellus accumsan nibh, sit amet consequat diam nibh id nisi. Nulla accumsan pulvinar leo, nec cursus urna vehicula faucibus. Mauris non tortor convallis, efficitur dui id, elementum diam. Cras eu ornare sem, sed dignissim elit. Sed laoreet, mauris consectetur molestie luctus, sapien ex euismod eros, vitae mattis nunc massa sed erat. Duis malesuada tellus purus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In pulvinar gravida semper. Vivamus purus nisi, placerat et felis a, suscipit pharetra dolor. Donec quis orci urna. Pellentesque lacus ligula, sagittis et imperdiet vel, pretium in justo. Praesent eu quam dapibus, commodo ligula sed, ullamcorper erat. Proin sagittis scelerisque sapien a sagittis. Donec in accumsan nisi, non mollis nisl. Nam vulputate iaculis arcu, id hendrerit ipsum volutpat id. Praesent pharetra ex vitae faucibus feugiat. Sed interdum ex vitae massa porta, vel varius ante fringilla. Phasellus egestas nisl vel urna hendrerit semper ac quis tortor. Morbi quis consectetur diam, vel hendrerit nibh. Vivamus a velit malesuada, faucibus felis in, pharetra enim. Nullam auctor dolor vel nisl porta, nec pulvinar felis viverra. Curabitur tristique justo facilisis, lacinia augue non, facilisis arcu. Quisque cursus ante urna, non facilisis felis eleifend vel. Morbi dapibus sit amet turpis vitae commodo. Nullam eu arcu ut orci iaculis elementum semper ut tortor. Nunc tincidunt orci tristique odio faucibus imperdiet. Maecenas dignissim fringilla dui vel elementum. Aliquam in posuere mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer feugiat dui in mi fermentum, a porta ex faucibus. Aliquam malesuada iaculis libero. Nullam volutpat erat ante, ut maximus lacus tempor vitae. Fusce euismod, ipsum nec pharetra imperdiet, libero est aliquet lacus, vel tempor nisi lectus et erat. Proin id nunc blandit, mattis diam non, ullamcorper risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in eros est. Duis auctor justo in nisl commodo, vitae scelerisque nisi euismod. Vivamus suscipit lacus eget ligula feugiat, nec elementum massa dictum. Curabitur ac efficitur ante, interdum ornare lacus. Nullam tincidunt, libero quis convallis hendrerit, mi odio egestas nulla, eget ultrices dui arcu nec arcu. Etiam convallis suscipit sem non semper. Aliquam tempus nibh vitae orci faucibus, vulputate sagittis lectus sodales. Phasellus a libero nulla. Cras ut lacus congue, pharetra risus sit amet, posuere ante. Aliquam volutpat quam sit amet nisi blandit, eu fringilla eros cursus. Curabitur blandit pulvinar semper. Praesent maximus molestie nibh, eget fermentum dolor facilisis id. Ut aliquet dolor malesuada, pellentesque dolor vel, egestas elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque tempus vel ligula a molestie. Ut volutpat faucibus magna, ut pretium metus. Phasellus lectus mi, ultrices a ante in, sodales sodales massa. Fusce rhoncus nisi at erat rhoncus aliquam. Sed fermentum finibus nisl, nec ullamcorper lorem tristique sed. Praesent ac nulla commodo, faucibus massa ut, placerat enim. Nullam semper nunc mattis massa facilisis, eu aliquet turpis tempus. Aliquam non tellus sagittis, ornare felis quis, facilisis enim. Pellentesque lectus orci, vestibulum non sem quis, pellentesque condimentum enim. Maecenas feugiat, mauris id congue rutrum, leo dolor elementum velit, vitae tincidunt orci sapien in mauris. Nullam malesuada id magna id viverra. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Curabitur condimentum justo id posuere laoreet. In iaculis semper lorem. Cras a maximus erat. Donec imperdiet consequat urna ut volutpat. Maecenas varius aliquam turpis, pulvinar faucibus orci fringilla ac. Sed sit amet dui nec nisl dignissim gravida et in purus. Aliquam congue pulvinar lacus at ornare. Nulla venenatis lectus eu libero condimentum lacinia. Duis sollicitudin, odio eu iaculis consectetur, ligula diam condimentum nisl, in faucibus ipsum arcu sit amet ligula. Nullam leo nisi, interdum ac elementum non, viverra eu nulla. Pellentesque vehicula aliquam ante at blandit. Donec commodo dolor vel sem feugiat, ut iaculis est maximus. Suspendisse sagittis dolor vel sodales cursus. Donec auctor nulla in lectus lacinia pretium. Etiam vel ligula dui. Etiam lobortis condimentum neque, vitae consequat risus. Maecenas pellentesque tincidunt elit, eget viverra purus dignissim eu. Praesent consectetur elementum dui vel scelerisque. Quisque id iaculis enim. In sed dui ac lorem vulputate imperdiet ac et nunc. Nulla mauris mauris, tincidunt eu urna id, congue tincidunt neque. Vivamus at vehicula sapien. Ut massa tortor, consequat laoreet neque sit amet, tincidunt hendrerit dui. Aliquam ultrices risus non mi vestibulum tristique. Vivamus non consequat velit. Maecenas efficitur augue eget faucibus semper. Morbi nunc nunc, viverra eget maximus id, varius in felis. Maecenas hendrerit urna vel nulla vulputate molestie. Vivamus rutrum ac enim nec interdum. Fusce quis justo tempor, varius sem vel, convallis tellus. Sed laoreet quis lectus sed pellentesque. Maecenas cursus tincidunt odio posuere interdum. Suspendisse nec egestas arcu. Proin fringilla ipsum id purus varius viverra. Suspendisse accumsan, ex sit amet tempor sagittis, diam nulla elementum elit, a condimentum lacus eros eu libero. Duis ac enim varius, pulvinar nunc eget, blandit urna. Sed suscipit, augue in congue rutrum, tellus ex auctor ligula, in rutrum felis lorem quis lorem. Donec sit amet posuere odio, at cursus diam. Nunc ac felis sed leo fringilla ullamcorper. Quisque diam tellus, commodo non ex eu, interdum dictum metus. Sed eu gravida quam. Aenean justo mauris, gravida in luctus ut, ultricies vel lorem. Phasellus hendrerit in nunc sed aliquam. Praesent convallis nunc nec mauris pretium rutrum. Integer congue mollis maximus. Cras ut purus at mi tincidunt tincidunt vitae ac sem. Vestibulum vitae massa libero. Curabitur rhoncus efficitur ligula quis pellentesque. Suspendisse porta orci lectus, eget tincidunt augue mollis dapibus. Mauris vel risus eu ante lacinia gravida. Suspendisse potenti. Cras viverra purus ac velit pellentesque malesuada. Quisque et nunc consequat, condimentum urna eu, luctus tortor. Sed lobortis laoreet quam id feugiat. Praesent sit amet mattis mauris, eget semper libero. Nam viverra augue ac orci egestas tempus. Praesent commodo in sem sit amet ultrices. In at velit nec turpis fermentum egestas sed blandit nisl. Nulla mollis blandit dolor vitae vestibulum. Aliquam orci dui, porttitor vitae lacus eget, sagittis ornare metus. Mauris a enim faucibus, porta ante gravida, sodales sem. Sed egestas sem felis, eu ultricies velit tristique in. Aliquam accumsan, mi at varius posuere, justo augue tincidunt felis, in condimentum arcu metus et eros. Etiam non felis fringilla, mattis lectus nec, scelerisque dolor. Praesent quis molestie dolor, et porttitor elit. Pellentesque tincidunt ultrices porttitor. Maecenas lacus sapien, vulputate vel turpis commodo, dapibus mollis ligula. Mauris dignissim sapien et erat dictum, sit amet fermentum nunc tristique. Ut ornare dignissim sapien. Nam vel velit nec ligula sodales consectetur nec et ipsum. Pellentesque molestie, ante vel viverra lobortis, ex massa imperdiet metus, sed ultricies ante turpis sit amet eros. Etiam metus ipsum, porta id congue in, tincidunt nec orci. Suspendisse porttitor eget tortor sit amet elementum. Nullam tempor mauris tempus felis suscipit dapibus. Sed quis ante tincidunt, fermentum lectus in, mattis augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Phasellus fringilla risus sit amet neque semper pretium. Cras lacinia ut ligula a cursus. Quisque eros mauris, fringilla non est et, sollicitudin semper ex. Donec non sem ac lectus dapibus blandit at non purus. Mauris venenatis in risus facilisis lobortis. Pellentesque et bibendum enim. Vestibulum id metus congue diam sollicitudin pulvinar id non nisl. Nam est arcu, vehicula a felis quis, semper maximus metus. Nullam nec convallis turpis. Cras condimentum, ante quis posuere efficitur, arcu sem venenatis elit, sit amet dictum ex ex id ligula. Nullam interdum nunc eu nisi dignissim, sit amet cursus neque suscipit. Pellentesque tincidunt auctor ipsum ac hendrerit. In euismod euismod elit, id bibendum enim bibendum eget. Nulla sollicitudin ac sapien ut gravida. Aliquam sed nulla tortor. Maecenas sed tellus ut dui scelerisque rutrum. Cras vehicula nibh ipsum, quis feugiat massa egestas eget. Vivamus id sodales orci, et hendrerit nulla. Sed bibendum lorem vel posuere mattis. Sed vel dignissim neque. Ut interdum orci lacus, vel efficitur mi dictum quis. Nulla at gravida turpis. In hac habitasse platea dictumst. Curabitur condimentum dui blandit sollicitudin facilisis. Aliquam sagittis sapien non libero imperdiet lacinia. Aliquam erat volutpat. Nam posuere sapien vel ullamcorper vehicula. Mauris ornare blandit cursus. Ut tincidunt egestas sapien, a tristique lorem ultrices et. Vestibulum nisl velit, molestie scelerisque convallis at, consectetur in augue. Donec sed lacus consectetur, varius orci non, egestas nunc. In feugiat nulla et vulputate viverra. Ut vehicula eu lorem nec maximus. Etiam vitae elit feugiat, rutrum magna tempor, venenatis ipsum. Sed scelerisque viverra dui vitae fermentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque feugiat, mauris vel faucibus fermentum, metus neque finibus nulla, sit amet luctus mi nunc vel erat. Pellentesque lobortis arcu sed odio tempor, at commodo nisi imperdiet. Mauris mattis nisi vitae arcu dictum, eget tristique tellus vestibulum. Donec sit amet pharetra massa. Suspendisse in justo rutrum ante hendrerit finibus ac eu arcu. Aenean maximus imperdiet purus, nec pharetra lectus iaculis vehicula. Integer tempus massa vel aliquet ullamcorper. Etiam in ex ligula. Aenean varius sit amet est quis faucibus. Ut bibendum enim a ullamcorper tincidunt. Donec ut purus condimentum, pulvinar tellus et, tempor massa. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse in pellentesque erat. Praesent egestas aliquet sem vitae consectetur. Pellentesque aliquet aliquam feugiat. Maecenas sed elementum nunc. Curabitur aliquam non ligula in pellentesque. Maecenas eu massa vel lorem consequat tempor. Integer fermentum ultricies accumsan. In non ex a quam sollicitudin luctus in quis libero. Quisque blandit mollis tincidunt. Sed porttitor imperdiet diam at fringilla. Vestibulum neque felis, gravida dignissim nibh at, maximus varius purus. Donec tincidunt tincidunt sagittis. Sed blandit luctus dui, eu blandit ante cursus eu. Morbi sagittis ante velit, eget consequat diam lobortis scelerisque. Pellentesque ut auctor nisl. Pellentesque eget metus non sapien aliquet malesuada. Integer egestas, metus in ornare consectetur, justo sem dictum mi, ultricies laoreet dolor turpis lacinia dolor. Nam volutpat ante nec arcu sodales dictum. Vivamus vel mi orci. Fusce eu dui augue. Ut pharetra massa a augue porttitor dapibus. Phasellus lacinia orci in commodo ultrices. Duis ut varius nibh, in iaculis libero. In hac habitasse platea dictumst. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam id sodales enim. Quisque faucibus tortor eget nisl feugiat, id dapibus nisl efficitur. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla accumsan pulvinar leo, nec cursus urna vehicula faucibus. Mauris non tortor convallis, efficitur dui id, elementum diam. Cras eu ornare sem, sed dignissim elit. Sed laoreet, mauris consectetur molestie luctus, sapien ex euismod eros, vitae mattis nunc massa sed erat. Duis malesuada tellus purus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. In pulvinar gravida semper. Vivamus purus nisi, placerat et felis a, suscipit pharetra dolor. Donec quis orci urna. Pellentesque lacus ligula, sagittis et imperdiet vel, pretium in justo. Praesent eu quam dapibus, commodo ligula sed, ullamcorper erat. Proin sagittis scelerisque sapien a sagittis. Donec in accumsan nisi, non mollis nisl. Nam vulputate iaculis arcu, id hendrerit ipsum volutpat id. Praesent pharetra ex vitae faucibus feugiat. Sed interdum ex vitae massa porta, vel varius ante fringilla. Phasellus egestas nisl vel urna hendrerit semper ac quis tortor. Morbi quis consectetur diam, vel hendrerit nibh. Vivamus a velit malesuada, faucibus felis in, pharetra enim. Nullam auctor dolor vel nisl porta, nec pulvinar felis viverra. Curabitur tristique justo facilisis, lacinia augue non, facilisis arcu. Quisque cursus ante urna, non facilisis felis eleifend vel. Morbi dapibus sit amet turpis vitae commodo. Nullam eu arcu ut orci iaculis elementum semper ut tortor. Nunc tincidunt orci tristique odio faucibus imperdiet. Maecenas dignissim fringilla dui vel elementum. Aliquam in posuere mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer feugiat dui in mi fermentum, a porta ex faucibus. Aliquam malesuada iaculis libero. Nullam volutpat erat ante, ut maximus lacus tempor vitae. Fusce euismod, ipsum nec pharetra imperdiet, libero est aliquet lacus, vel tempor nisi lectus et erat. Proin id nunc blandit, mattis diam non, ullamcorper risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin in eros est. Duis auctor justo in nisl commodo, vitae scelerisque nisi euismod. Vivamus suscipit lacus eget ligula feugiat, nec elementum massa dictum. Curabitur ac efficitur ante, interdum ornare lacus. Nullam tincidunt, libero quis convallis hendrerit, mi odio egestas nulla, eget ultrices dui arcu nec arcu. Etiam convallis suscipit sem non semper. Aliquam tempus nibh vitae orci faucibus, vulputate sagittis lectus sodales. Phasellus a libero nulla. Cras ut lacus congue, pharetra risus sit amet, posuere ante. Aliquam volutpat quam sit amet nisi blandit, eu fringilla eros cursus. Curabitur blandit pulvinar semper. Praesent maximus molestie nibh, eget fermentum dolor facilisis id. Ut aliquet dolor malesuada, pellentesque dolor vel, egestas elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque tempus vel ligula a molestie. Ut volutpat faucibus magna, ut pretium metus. Phasellus lectus mi, ultrices a ante in, sodales sodales massa. Fusce rhoncus nisi at erat rhoncus aliquam. Sed fermentum finibus nisl, nec ullamcorper lorem tristique sed. Praesent ac nulla commodo, faucibus massa ut, placerat enim. Nullam semper nunc mattis massa facilisis, eu aliquet turpis tempus. Aliquam non tellus sagittis, ornare felis quis, facilisis enim. Pellentesque lectus orci, vestibulum non sem quis, pellentesque condimentum enim. Maecenas feugiat, mauris id congue rutrum, leo dolor elementum velit, vitae tincidunt orci sapien in mauris. Nullam malesuada id magna id viverra. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Curabitur condimentum justo id posuere laoreet. In iaculis semper lorem. Cras a maximus erat. Donec imperdiet consequat urna ut volutpat. Maecenas varius aliquam turpis, pulvinar faucibus orci fringilla ac. Sed sit amet dui nec nisl dignissim gravida et in purus. Aliquam congue pulvinar lacus at ornare. Nulla venenatis lectus eu libero condimentum lacinia. Duis sollicitudin, odio eu iaculis consectetur, ligula diam condimentum nisl, in faucibus ipsum arcu sit amet ligula. Nullam leo nisi, interdum ac elementum non, viverra eu nulla. Pellentesque vehicula aliquam ante at blandit. Donec commodo dolor vel sem feugiat, ut iaculis est maximus. Suspendisse sagittis dolor vel sodales cursus. Donec auctor nulla in lectus lacinia pretium. Etiam vel ligula dui. Etiam lobortis condimentum neque, vitae consequat risus. Maecenas pellentesque tincidunt elit, eget viverra purus dignissim eu. Praesent consectetur elementum dui vel scelerisque. Quisque id iaculis enim. In sed dui ac lorem vulputate imperdiet ac et nunc. Nulla mauris mauris, tincidunt eu urna id, congue tincidunt neque. Vivamus at vehicula sapien. Ut massa tortor, consequat laoreet neque sit amet, tincidunt hendrerit dui. Aliquam ultrices risus non mi vestibulum tristique. Vivamus non consequat velit. Maecenas efficitur augue eget faucibus semper. Morbi nunc nunc, viverra eget maximus id, varius in felis. Maecenas hendrerit urna vel nulla vulputate molestie. Vivamus rutrum ac enim nec interdum. Fusce quis justo tempor, varius sem vel, convallis tellus. Sed laoreet quis lectus sed pellentesque. Maecenas cursus tincidunt odio posuere interdum. Suspendisse nec egestas arcu. Proin fringilla ipsum id purus varius viverra. Suspendisse accumsan, ex sit amet tempor sagittis, diam nulla elementum elit, a condimentum lacus eros eu libero. Duis ac enim varius, pulvinar nunc eget, blandit urna. Sed suscipit, augue in congue rutrum, tellus ex auctor ligula, in rutrum felis lorem quis lorem. Donec sit amet posuere odio, at cursus diam. Nunc ac felis sed leo fringilla ullamcorper. Quisque diam tellus, commodo non ex eu, interdum dictum metus. Sed eu gravida quam. Aenean justo mauris, gravida in luctus ut, ultricies vel lorem. Phasellus hendrerit in nunc sed aliquam. Praesent convallis nunc nec mauris pretium rutrum. Integer congue mollis maximus. Cras ut purus at mi tincidunt tincidunt vitae ac sem. Vestibulum vitae massa libero. Curabitur rhoncus efficitur ligula quis pellentesque. Suspendisse porta orci lectus, eget tincidunt augue mollis dapibus. Mauris vel risus eu ante lacinia gravida. Suspendisse potenti. Cras viverra purus ac velit pellentesque malesuada. Quisque et nunc consequat, condimentum urna eu, luctus tortor. Sed lobortis laoreet quam id feugiat. Praesent sit amet mattis mauris, eget semper libero. Nam viverra augue ac orci egestas tempus. Praesent commodo in sem sit amet ultrices. In at velit nec turpis fermentum egestas sed blandit nisl. Nulla mollis blandit dolor vitae vestibulum. Aliquam orci dui, porttitor vitae lacus eget, sagittis ornare metus. Mauris a enim faucibus, porta ante gravida, sodales sem. Sed egestas sem felis, eu ultricies velit tristique in. Aliquam accumsan, mi at varius posuere, justo augue tincidunt felis, in condimentum arcu metus et eros. Etiam non felis fringilla, mattis lectus nec, scelerisque dolor. Praesent quis molestie dolor, et porttitor elit. Pellentesque tincidunt ultrices porttitor. Maecenas lacus sapien, vulputate vel turpis commodo, dapibus mollis ligula. Mauris dignissim sapien et erat dictum, sit amet fermentum nunc tristique. Ut ornare dignissim sapien. Nam vel velit nec ligula sodales consectetur nec et ipsum. Pellentesque molestie, ante vel viverra lobortis, ex massa imperdiet metus, sed ultricies ante turpis sit amet eros. Etiam metus ipsum, porta id congue in, tincidunt nec orci. Suspendisse porttitor eget tortor sit amet elementum. Nullam tempor mauris tempus felis suscipit dapibus. Sed quis ante tincidunt, fermentum lectus in, mattis augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Phasellus fringilla risus sit amet neque semper pretium. Cras lacinia ut ligula a cursus. Quisque eros mauris, fringilla non est et, sollicitudin semper ex. Donec non sem ac lectus dapibus blandit at non purus. Mauris venenatis in risus facilisis lobortis. Pellentesque et bibendum enim. Vestibulum id metus congue diam sollicitudin pulvinar id non nisl. Nam est arcu, vehicula a felis quis, semper maximus metus. Nullam nec convallis turpis. Cras condimentum, ante quis posuere efficitur, arcu sem venenatis elit, sit amet dictum ex ex id ligula. Nullam interdum nunc eu nisi dignissim, sit amet cursus neque suscipit. Pellentesque tincidunt auctor ipsum ac hendrerit. In euismod euismod elit, id bibendum enim bibendum eget. Nulla sollicitudin ac sapien ut gravida. Aliquam sed nulla tortor. Maecenas sed tellus ut dui scelerisque rutrum. Cras vehicula nibh ipsum, quis feugiat massa egestas eget. Vivamus id sodales orci, et hendrerit nulla. Sed bibendum lorem vel posuere mattis. Sed vel dignissim neque. Ut interdum orci lacus, vel efficitur mi dictum quis. Nulla at gravida turpis. In hac habitasse platea dictumst. Curabitur condimentum dui blandit sollicitudin facilisis. Aliquam sagittis sapien non libero imperdiet lacinia. Aliquam erat volutpat. Nam posuere sapien vel ullamcorper vehicula. Mauris ornare blandit cursus. Ut tincidunt egestas sapien, a tristique lorem ultrices et. Vestibulum nisl velit, molestie scelerisque convallis at, consectetur in augue. Donec sed lacus consectetur, varius orci non, egestas nunc. In feugiat nulla et vulputate viverra. Ut vehicula eu lorem nec maximus. Etiam vitae elit feugiat, rutrum magna tempor, venenatis ipsum. Sed scelerisque viverra dui vitae fermentum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque feugiat, mauris vel faucibus fermentum, metus neque finibus nulla, sit amet luctus mi nunc vel erat. Pellentesque lobortis arcu sed odio tempor, at commodo nisi imperdiet. Mauris mattis nisi vitae arcu dictum, eget tristique tellus vestibulum. Donec sit amet pharetra massa. Suspendisse in justo rutrum ante hendrerit finibus ac eu arcu. Aenean maximus imperdiet purus, nec pharetra lectus iaculis vehicula. Integer tempus massa vel aliquet ullamcorper. Etiam in ex ligula. Aenean varius sit amet est quis faucibus. Ut bibendum enim a ullamcorper tincidunt. Donec ut purus condimentum, pulvinar tellus et, tempor massa. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse in pellentesque erat. Praesent egestas aliquet sem vitae consectetur. Pellentesque aliquet aliquam feugiat. Maecenas sed elementum nunc. Curabitur aliquam non ligula in pellentesque. Maecenas eu massa vel lorem consequat tempor. Integer fermentum ultricies accumsan. In non ex a quam sollicitudin luctus in quis libero. Quisque blandit mollis tincidunt. Sed porttitor imperdiet diam at fringilla. Vestibulum neque felis, gravida dignissim nibh at, maximus varius purus. Donec tincidunt tincidunt sagittis. Sed blandit luctus dui, eu blandit ante cursus eu. Morbi sagittis ante velit, eget consequat diam lobortis scelerisque. Pellentesque ut auctor nisl. Pellentesque eget metus non sapien aliquet malesuada. Integer egestas, metus in ornare consectetur, justo sem dictum mi, ultricies laoreet dolor turpis lacinia dolor. Nam volutpat ante nec arcu sodales dictum. Vivamus vel mi orci. Fusce eu dui augue. Ut pharetra massa a augue porttitor dapibus. Phasellus lacinia orci in commodo ultrices. Duis ut varius nibh, in iaculis libero. In hac habitasse platea dictumst. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam id sodales enim. Quisque faucibus tortor eget nisl feugiat, id dapibus nisl efficitur. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. \begin{equation} 1+1=2 \end{equation} \end{document} --------------295159D9D73C14E3629EA5F0-- From unknown Fri Aug 15 04:07:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#42267: Fontification takes a long time when an equation contains a double prime Resent-From: Ikumi Keita Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Thu, 09 Jul 2020 16:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42267 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: Najib Idrissi Cc: Arash Esbati , 42267@debbugs.gnu.org Received: via spool by 42267-submit@debbugs.gnu.org id=B42267.159431265532191 (code B ref 42267); Thu, 09 Jul 2020 16:38:02 +0000 Received: (at 42267) by debbugs.gnu.org; 9 Jul 2020 16:37:35 +0000 Received: from localhost ([127.0.0.1]:41554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtZYF-0008N9-1R for submit@debbugs.gnu.org; Thu, 09 Jul 2020 12:37:35 -0400 Received: from smtp1a.inetd.co.jp ([210.129.88.11]:38080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtZYA-0008Mx-OX for 42267@debbugs.gnu.org; Thu, 09 Jul 2020 12:37:33 -0400 Received: from localhost (42-146-134-146.rev.home.ne.jp [42.146.134.146]) by smtp1a.inetd.co.jp (Postfix) with ESMTPA id 789445F; Fri, 10 Jul 2020 01:37:28 +0900 (JST) From: Ikumi Keita In-reply-to: <9574f6cd-2df1-f416-b871-21a97b6690e5@gmail.com> References: <861rllpxi4.fsf@gnu.org> <9574f6cd-2df1-f416-b871-21a97b6690e5@gmail.com> Comments: In-reply-to Najib Idrissi message dated "Thu, 09 Jul 2020 10:14:47 +0200." X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 26.3 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Date: Fri, 10 Jul 2020 01:37:25 +0900 Message-ID: <53977.1594312645@localhost> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Hi Najib, >>>>> Najib Idrissi writes: > Sure, see the attached file. As I said, it's a file filled with lipsum > with a single equation at the bottom. >> AUCTeX's fontification for math went through a bigger overhaul. Please >> share the file and a recipe (preferably starting with `emacs -Q') how to >> trigger your obeservation, that would help a lot. > 1. Open the file and go to the equation at the bottom > 2. Notice that editing speed inside the equation is normal (e.g. hold > the space bar inside the equation and notice that it goes at a > normal speed) > 3. Add a double prime somewhere in the equation, e.g. after the 2 so > that it becomes 1+1=2'' > 4. Notice that now editing speed is degraded, for example hold the > space bar at the end of the equation and notice that there is now a > stutter. If your CPU is too fast and you don't notice the stutter, > you can just copy more paragraphs of lipsum, I guess. > In my real life example (that I cannot share because the article in > question is not public yet) the slowdown is so bad that a single > keystroke inside an affected equation can take several seconds. Thank you for providing concrete example and procedure to reproduce. I experience the slowdown you described. The attached patch fixes, or at least reduces, the slowdown on my side. Could you check whether it works for you or not? Best Regards, Ikumi Keita --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=patch Content-Description: temporal fix diff --git a/font-latex.el b/font-latex.el index d7d26fab..7c88dff2 100644 --- a/font-latex.el +++ b/font-latex.el @@ -2076,6 +2076,9 @@ set to french, and >>german<< (and 8-bit) are used if set to german." (setq nest-count (1+ nest-count)) (when (/= nest-count 0) (setq nest-count (1- nest-count))))))) + (unless (and (> (point) point-of-surrender) + (not (bobp))) + (throw 'extend nil)) (when (< (point) font-lock-beg) (setq font-lock-beg (point)) (throw 'extend t))))))))) --=-=-=-- From unknown Fri Aug 15 04:07:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#42267: Fontification takes a long time when an equation contains a double prime Resent-From: Najib =?UTF-8?Q?Idrissi-Ka=C3=AFtouni?= Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Thu, 09 Jul 2020 23:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42267 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: Ikumi Keita Cc: Arash Esbati , 42267@debbugs.gnu.org Received: via spool by 42267-submit@debbugs.gnu.org id=B42267.159433719922599 (code B ref 42267); Thu, 09 Jul 2020 23:27:02 +0000 Received: (at 42267) by debbugs.gnu.org; 9 Jul 2020 23:26:39 +0000 Received: from localhost ([127.0.0.1]:41875 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtfw6-0005sQ-NQ for submit@debbugs.gnu.org; Thu, 09 Jul 2020 19:26:39 -0400 Received: from mail-wm1-f43.google.com ([209.85.128.43]:40492) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtZzs-0000aC-DS for 42267@debbugs.gnu.org; Thu, 09 Jul 2020 13:06:11 -0400 Received: by mail-wm1-f43.google.com with SMTP id f139so2609326wmf.5 for <42267@debbugs.gnu.org>; Thu, 09 Jul 2020 10:06:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=v9ojSdqOXcxjI62ZMT8Wpy5hVRHj6s4dKRhBQmlalK4=; b=soNQ0B4Q8MDsff9goOYp01JzP9g3AcFa4zzC3HlUMZiJicjaZbH87XYtUv1IcnE62E Y6v9Iw6U3V2cor8tFiGTT0omlpcjn2kXzlh/4pzxJqmv/Eh6QPWpIpLgskIdohQE4wxB qEIuNHXD6jqExpLJ4jiWk3AaIylvtvtXU2X1/dXPVSzF8vCOV87wDpzfwd9j4B3fGJ+n mVdsnZ3fqN6pzFyirWg+oRLVKAItEiqUkEmrjYchB5jGhnUwGY+GL6i+X5R9wjC9SUie s/2Jrn8kAt3JjReR4hSoo8j80qopJf6CI5XF+MJXXKcFKpYHsULL7lKkPHdbscJRTCIX 0HnQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=v9ojSdqOXcxjI62ZMT8Wpy5hVRHj6s4dKRhBQmlalK4=; b=ZMUKWyx7jIf7NsjnigLgcbiZwVwmZ3X1jUDkmxCn2DGpjz6G3o4k86ZPVA+eGENI1y 7AXpNzdpL/DF9hbB6+NARZXGIjdbB4VRFhS+AcudVySQap+n5ypsMSRG2cSk4aPmQxgJ ykl8JM2CLibHl00x9qUhzSNSpmCkEG1Y5WKocrVVcF+/uRDjblbkFxpEkWLP5wm0BlVj c0XNE4qHS4CqQuw+D8gh/lJ82pOK0gPUYgJ4S5Px7hIL/090Jk8b5CpNQygxllWXO4yV Gu4GLs81BSnVSS1+Mh+jWl2qnmtJV7lPU5Xo+Zo5lnqh9OIqRUKfJi0lCCZXnTXOHp3t xM1g== X-Gm-Message-State: AOAM530b7i20rgl/81oJ7pE33f1y1DYIRvFkSYevrQbJDm/qQPKPgyLO 1dnfeU7iI5pEpQiT3bpCus6UAQvn X-Google-Smtp-Source: ABdhPJyOzOyNQ/aguQKyUMkx1HxIASsmLsawOih+lckZqzpcjkd5L6OOf3tCDy7g4P3GqVCXOr9mgA== X-Received: by 2002:a1c:6308:: with SMTP id x8mr1032823wmb.92.1594314361896; Thu, 09 Jul 2020 10:06:01 -0700 (PDT) Received: from [192.168.0.10] (180.196.90.92.rev.sfr.net. [92.90.196.180]) by smtp.gmail.com with ESMTPSA id z1sm6448280wru.30.2020.07.09.10.06.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 09 Jul 2020 10:06:01 -0700 (PDT) References: <861rllpxi4.fsf@gnu.org> <9574f6cd-2df1-f416-b871-21a97b6690e5@gmail.com> <53977.1594312645@localhost> From: Najib =?UTF-8?Q?Idrissi-Ka=C3=AFtouni?= Message-ID: <409954df-f9c3-33b4-fd71-d8acfdf01510@gmail.com> Date: Thu, 9 Jul 2020 19:05:58 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <53977.1594312645@localhost> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: fr X-Spam-Score: 0.0 (/) X-Mailman-Approved-At: Thu, 09 Jul 2020 19:26:37 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Yes, this is much, much better with this patch. I don't experience any noticeable slowdown anymore, whether in the test file or in my "real world" file. Thanks! Best regards, Najib Idrissi Le 09/07/2020 à 18:37, Ikumi Keita a écrit : > Hi Najib, > >>>>>> Najib Idrissi writes: >> Sure, see the attached file. As I said, it's a file filled with lipsum >> with a single equation at the bottom. >>> AUCTeX's fontification for math went through a bigger overhaul. Please >>> share the file and a recipe (preferably starting with `emacs -Q') how to >>> trigger your obeservation, that would help a lot. >> 1. Open the file and go to the equation at the bottom >> 2. Notice that editing speed inside the equation is normal (e.g. hold >> the space bar inside the equation and notice that it goes at a >> normal speed) >> 3. Add a double prime somewhere in the equation, e.g. after the 2 so >> that it becomes 1+1=2'' >> 4. Notice that now editing speed is degraded, for example hold the >> space bar at the end of the equation and notice that there is now a >> stutter. If your CPU is too fast and you don't notice the stutter, >> you can just copy more paragraphs of lipsum, I guess. >> In my real life example (that I cannot share because the article in >> question is not public yet) the slowdown is so bad that a single >> keystroke inside an affected equation can take several seconds. > Thank you for providing concrete example and procedure to reproduce. I > experience the slowdown you described. > > The attached patch fixes, or at least reduces, the slowdown on my side. > Could you check whether it works for you or not? > > Best Regards, > Ikumi Keita > From unknown Fri Aug 15 04:07:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#42267: Fontification takes a long time when an equation contains a double prime Resent-From: Ikumi Keita Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Fri, 10 Jul 2020 07:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42267 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: Najib =?UTF-8?Q?Idrissi-Ka=C3=AFtouni?= Cc: 42267@debbugs.gnu.org Received: via spool by 42267-submit@debbugs.gnu.org id=B42267.15943676274887 (code B ref 42267); Fri, 10 Jul 2020 07:54:02 +0000 Received: (at 42267) by debbugs.gnu.org; 10 Jul 2020 07:53:47 +0000 Received: from localhost ([127.0.0.1]:42220 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtnqt-0001Gl-8L for submit@debbugs.gnu.org; Fri, 10 Jul 2020 03:53:47 -0400 Received: from smtp1a.inetd.co.jp ([210.129.88.11]:40160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jtnqp-0001GZ-74 for 42267@debbugs.gnu.org; Fri, 10 Jul 2020 03:53:45 -0400 Received: from localhost (42-146-134-146.rev.home.ne.jp [42.146.134.146]) by smtp1a.inetd.co.jp (Postfix) with ESMTPA id E6BD561; Fri, 10 Jul 2020 16:53:40 +0900 (JST) From: Ikumi Keita In-reply-to: <409954df-f9c3-33b4-fd71-d8acfdf01510@gmail.com> References: <861rllpxi4.fsf@gnu.org> <9574f6cd-2df1-f416-b871-21a97b6690e5@gmail.com> <53977.1594312645@localhost> <409954df-f9c3-33b4-fd71-d8acfdf01510@gmail.com> Comments: In-reply-to Najib =?UTF-8?Q?Idrissi-Ka=C3=AFtouni?= message dated "Thu, 09 Jul 2020 19:05:58 +0200." X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 26.3 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Date: Fri, 10 Jul 2020 16:53:39 +0900 Message-ID: <3951.1594367619@localhost> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Hi Najib and all, >>>>> Najib Idrissi-Ka=EFtouni writes: > Yes, this is much, much better with this patch. I don't experience any > noticeable slowdown anymore, whether in the test file or in my "real > world" file. Thanks! Thanks for confirmation. We'll fix the problem soon. To AUCTeX developers: I propose to install the attached fix. Any comments and suggestions are welcome. [Analysis] The backgrounds of the problem are the following two: 1. When there is a closing quote (or double prime) '' without matching opening quote `` before it, current `font-latex-extend-region-backwards-quotation' ends up to decrease `font-lock-beg' by 5000 (=3Ddefault value of `font-latex-multiline-boundary') and returns t. 2. Previously, font-latex-extend-region-backwards-* functions were stored in `font-latex-extend-region-functions' and called just once per fontify operation. However, now they are in `font-lock-extend-region-functions' and can be called repeatedly in `font-lock-default-fontify-region', until all of them return nil. Therefore, when there is math expression like $f''(x)=3Dx^{3}$, current f-l-e-r-b-q repeatedly decreases `font-lock-beg' so that the font lock region begins with BOB eventually. Thus every key stroke forces to re-fontify all the region from top of the buffer. This is the reason of the apparent slowdown in a large buffer. I think the behavior of the above item 1 is a bug. When f-l-e-r-b-q cannot find a matching opening quote, it should just give up to extend the region anymore. Regards, Ikumi Keita --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Don-t-extend-font-lock-region-too-much-bug-42267.patch Content-Description: candidate patch >From f4cda23f94b803b499c96b58924ef57f24170834 Mon Sep 17 00:00:00 2001 From: Ikumi Keita Date: Thu, 9 Jul 2020 23:26:53 +0900 Subject: [PATCH] Don't extend font lock region too much (bug#42267) * font-latex.el (font-latex-extend-region-backwards-quotation): If there is no accompanying open quote, don't extend the font lock region. --- font-latex.el | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/font-latex.el b/font-latex.el index d7d26fab..ac7573be 100644 --- a/font-latex.el +++ b/font-latex.el @@ -2066,16 +2066,25 @@ set to french, and >>german<< (and 8-bit) are used if set to german." (setq opening-quote (car elt)) (throw 'found nil)))) ;; Find opening quote taking nested quotes into account. - (while (progn - (re-search-backward (concat opening-quote "\\|" - closing-quote) - point-of-surrender 'move) - (when (and (> (point) point-of-surrender) - (not (bobp))) + (while (if (re-search-backward (concat opening-quote "\\|" + closing-quote) + point-of-surrender t) + ;; Found quotes before point-of-surrender. (if (string= (match-string 0) closing-quote) + ;; Increase nest-count and continue the + ;; inner loop. (setq nest-count (1+ nest-count)) - (when (/= nest-count 0) - (setq nest-count (1- nest-count))))))) + ;; If in nest, decrease nest-count and + ;; continue. Else terminate the inner loop. + (if (/= nest-count 0) + (setq nest-count (1- nest-count)))) + ;; Didn't find until point-of-surrender. + ;; Terminate the outer loop and don't extend + ;; the region. (bug#42267) + (throw 'extend nil))) + ;; If the opening quote begins before `font-lock-beg', + ;; terminate the outer loop and extend the region. Else + ;; continue. (when (< (point) font-lock-beg) (setq font-lock-beg (point)) (throw 'extend t))))))))) -- 2.27.0 --=-=-=-- From unknown Fri Aug 15 04:07:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#42267: Fontification takes a long time when an equation contains a double prime Resent-From: Ikumi Keita Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Sat, 11 Jul 2020 05:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42267 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: 42267@debbugs.gnu.org Received: via spool by 42267-submit@debbugs.gnu.org id=B42267.159444692613775 (code B ref 42267); Sat, 11 Jul 2020 05:56:02 +0000 Received: (at 42267) by debbugs.gnu.org; 11 Jul 2020 05:55:26 +0000 Received: from localhost ([127.0.0.1]:43784 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ju8Tu-0003a6-7n for submit@debbugs.gnu.org; Sat, 11 Jul 2020 01:55:26 -0400 Received: from smtp1a.inetd.co.jp ([210.129.88.11]:41892) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ju8Tp-0003Zr-WD for 42267@debbugs.gnu.org; Sat, 11 Jul 2020 01:55:25 -0400 Received: from localhost (42-146-134-146.rev.home.ne.jp [42.146.134.146]) by smtp1a.inetd.co.jp (Postfix) with ESMTPA id 7018A5F for <42267@debbugs.gnu.org>; Sat, 11 Jul 2020 14:55:19 +0900 (JST) From: Ikumi Keita In-reply-to: <3951.1594367619@localhost> References: <861rllpxi4.fsf@gnu.org> <9574f6cd-2df1-f416-b871-21a97b6690e5@gmail.com> <53977.1594312645@localhost> <409954df-f9c3-33b4-fd71-d8acfdf01510@gmail.com> <3951.1594367619@localhost> Comments: In-reply-to Ikumi Keita message dated "Fri, 10 Jul 2020 16:53:39 +0900." X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 26.3 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Date: Sat, 11 Jul 2020 14:55:18 +0900 Message-ID: <13477.1594446918@localhost> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain >>>>> Ikumi Keita writes: > I think the behavior of the above item 1 is a bug. When f-l-e-r-b-q > cannot find a matching opening quote, it should just give up to extend > the region anymore. After reconsideration, I realized that such giving up is not appropriate when that unmatched close quote has, in front of it, other open-close quote pairs. Examples: abc ``def ghi'' jkl $y''=x^{2}$ abc <> jkl $y''=x^{2}$ So the correct way is to continue searching backwards another close quote, I think. The revised patch is attached. I'll install it soon. Regards, Ikumi Keita --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Don-t-extend-font-lock-region-too-eagerly-bug-42267.patch Content-Description: revised patch >From e86fdf248155cce325a4a660f6afc67fda528fa6 Mon Sep 17 00:00:00 2001 From: Ikumi Keita Date: Thu, 9 Jul 2020 23:26:53 +0900 Subject: [PATCH] Don't extend font lock region too eagerly (bug#42267) * font-latex.el (font-latex-extend-region-backwards-quotation): If there is no matching open quote, don't extend the font lock region. --- font-latex.el | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/font-latex.el b/font-latex.el index d7d26fab..09a6feb1 100644 --- a/font-latex.el +++ b/font-latex.el @@ -2066,19 +2066,33 @@ set to french, and >>german<< (and 8-bit) are used if set to german." (setq opening-quote (car elt)) (throw 'found nil)))) ;; Find opening quote taking nested quotes into account. - (while (progn - (re-search-backward (concat opening-quote "\\|" - closing-quote) - point-of-surrender 'move) - (when (and (> (point) point-of-surrender) - (not (bobp))) - (if (string= (match-string 0) closing-quote) - (setq nest-count (1+ nest-count)) - (when (/= nest-count 0) - (setq nest-count (1- nest-count))))))) - (when (< (point) font-lock-beg) - (setq font-lock-beg (point)) - (throw 'extend t))))))))) + (while (and (re-search-backward (concat opening-quote "\\|" + closing-quote) + point-of-surrender t) + ;; Found quotes before point-of-surrender. + (cond ((string= (match-string 0) closing-quote) + ;; Encountered another closing quote. + ;; Increase nest-count and continue + ;; the inner loop. + (setq nest-count (1+ nest-count))) + ;; Found an opening quote. + ((/= nest-count 0) + ;; If in nest, decrease nest-count + ;; and continue the inner loop. + (setq nest-count (1- nest-count))) + ;; Else we arrived at the opening quote + ;; matching with the closing quote found + ;; in the outer loop. + ((< (point) font-lock-beg) + ;; If that opening quote locates + ;; before `font-lock-beg', break the + ;; outer loop and extend the region. + (setq font-lock-beg (point)) + (throw 'extend t)) + (t + ;; Else terminate the inner loop and + ;; continue the outer loop. + nil))))))))))) (defun font-latex-match-script (limit) "Match subscript and superscript patterns up to LIMIT." -- 2.27.0 --=-=-=-- From unknown Fri Aug 15 04:07:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#42267: Fontification takes a long time when an equation contains a double prime Resent-From: PierGianLuca Porta Mana Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Sat, 11 Jul 2020 06:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42267 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: 42267@debbugs.gnu.org Cc: Ikumi Keita Received: via spool by 42267-submit@debbugs.gnu.org id=B42267.159444948417782 (code B ref 42267); Sat, 11 Jul 2020 06:39:02 +0000 Received: (at 42267) by debbugs.gnu.org; 11 Jul 2020 06:38:04 +0000 Received: from localhost ([127.0.0.1]:43790 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ju999-0004ck-LU for submit@debbugs.gnu.org; Sat, 11 Jul 2020 02:38:03 -0400 Received: from mail-lj1-f174.google.com ([209.85.208.174]:35799) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ju995-0004cD-Co for 42267@debbugs.gnu.org; Sat, 11 Jul 2020 02:38:02 -0400 Received: by mail-lj1-f174.google.com with SMTP id q4so8859897lji.2 for <42267@debbugs.gnu.org>; Fri, 10 Jul 2020 23:37:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:cc:from:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=CubGptDbucZ4701uKy6k3S8Bs1Oo2ohJhSrv7SxM93o=; b=tloUdC1yQL6V1O9Hty0b0sZCAeEE7YfjNS0SQAbRxwQ4OyzewvIkyy+4c2u7rECnRV JIgJxYlPaWIV5ABLVSHS1zz1iSnJd1CZW66ZQF0/HlvLgWyhhGqlHPx/g3H/TjHYC81I eYUvxpbktfgdadtyH2j5SWXvSlkEirNImHDThXfNb85ipHDGks7j+/cIbB5HhVRRzhmn PXUzyBeYP5pgE0g3SIwQ4sYvM27i4N5TGO5Y6LeLnu/Y+4zU0ZvHTgbidBwZqqdNePMU q++hUw2vrodxMTLUJ1pCnqpNCiAH9fHydBoT5j3SXf78X3r+aWlym9glVRmpZCwNOzMA 9utw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=CubGptDbucZ4701uKy6k3S8Bs1Oo2ohJhSrv7SxM93o=; b=HlVKppONd4xx8U38/wi/Off9c1fHl354KCBuDDuYALJ5JItTkFSlXP+VRt2789XIcq jLOeRR+b3Bo3rIG/jHTW7KTrL1HXJdzTbRnsVBbX90yOebw5k4T/9KpMfq8YRHlAmlmc 12N4G1hFsIivXrBy9nvdcRuWJ8pUo/jC6vqLrxzTtgrNOuDCyUSC15AkQmeQl7BzqqJ1 3C9gOVnTQv0SXPE7T9ZGvJnLpUBFIsCaj1dp9/DZZGMO6Pmvj4Ek6yBD3UCLe9qfkVPH fRkwdDpZntac5e0F4lfQB0qiULaSXFdzfx4lnkdGoV5w12z2BZZHmG2E7AkLv4lYx8GC f5eg== X-Gm-Message-State: AOAM532mg7Dgwk5oM/Af/hqv/RChXqurFgaSNiDq2Pdpvc5p+dsz/Cuv 3k4SIlKsuc+lX8uB0jlWyBU8g4U= X-Google-Smtp-Source: ABdhPJyJgqJqAz1DFfR7u7jXIhw9KlZ1Bljw36Zq9Vgw5hBSED31MvLpJkCdVHvPATXst9UTmCKMFQ== X-Received: by 2002:a2e:9ed8:: with SMTP id h24mr41657269ljk.86.1594449473141; Fri, 10 Jul 2020 23:37:53 -0700 (PDT) Received: from ?IPv6:2001:700:300:4115:ed4a:2c68:cd9e:4bbf? ([2001:700:300:4115:ed4a:2c68:cd9e:4bbf]) by smtp.gmail.com with ESMTPSA id q2sm3801847ljp.135.2020.07.10.23.37.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Jul 2020 23:37:52 -0700 (PDT) References: <861rllpxi4.fsf@gnu.org> <9574f6cd-2df1-f416-b871-21a97b6690e5@gmail.com> <53977.1594312645@localhost> <409954df-f9c3-33b4-fd71-d8acfdf01510@gmail.com> <3951.1594367619@localhost> <13477.1594446918@localhost> From: PierGianLuca Porta Mana Organization: MAGNASPESMERETRIX Message-ID: <579d06d9-9ae6-1d85-cf12-10ba852ea73c@gmail.com> Date: Sat, 11 Jul 2020 08:37:50 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <13477.1594446918@localhost> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-CA Content-Transfer-Encoding: 8bit X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi Ikumi, thank you for taking care of this. I wonder what other people's opinions would be about turning *off* raw-quotes highlighting by default (is it on by default?) =?UTF-8?Q?=E2=80=93?= or maybe eliminating it altogether. There would be several reason for t [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.6 HK_RANDOM_ENVFROM Envelope sender username looks random 1.0 HK_RANDOM_FROM From username looks random -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.208.174 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (pglpm0[at]gmail.com) 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (pglpm0[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.208.174 listed in wl.mailspike.net] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.9 (/) Hi Ikumi, thank you for taking care of this. I wonder what other people's opinions would be about turning *off* raw-quotes highlighting by default (is it on by default?) – or maybe eliminating it altogether. There would be several reason for this: – Quirks with apostrophes used in math mode, as the present bug showed; and also the complexity of distinguishing a genitive apostrophe ("the students' books") from a closing quote mark in a single-quote style, which often occurs in British writings for example. – Quirks with multi-paragraph quotes, when one uses the quotation style that repeats the opening quotes (but not the closing quotes) at each paragraph. – Syntactically it's best to introduce quotations with an appropriate macro, eg \enquote{} from the csquotes package, which also automatically takes care of quotation styles like the ones mentioned above. Just some thoughts. Cheers, Luca On 2020-07-11 07:55, Ikumi Keita wrote: >>>>>> Ikumi Keita writes: >> I think the behavior of the above item 1 is a bug. When f-l-e-r-b-q >> cannot find a matching opening quote, it should just give up to extend >> the region anymore. > > After reconsideration, I realized that such giving up is not appropriate > when that unmatched close quote has, in front of it, other open-close > quote pairs. Examples: > abc ``def ghi'' jkl $y''=x^{2}$ > abc <> jkl $y''=x^{2}$ > > So the correct way is to continue searching backwards another close > quote, I think. The revised patch is attached. I'll install it soon. > > Regards, > Ikumi Keita > > > _______________________________________________ > bug-auctex mailing list > bug-auctex@gnu.org > https://lists.gnu.org/mailman/listinfo/bug-auctex > From unknown Fri Aug 15 04:07:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#42267: Fontification takes a long time when an equation contains a double prime Resent-From: Ikumi Keita Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Sat, 11 Jul 2020 09:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42267 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: PierGianLuca Porta Mana Cc: 42267@debbugs.gnu.org Received: via spool by 42267-submit@debbugs.gnu.org id=B42267.15944609302511 (code B ref 42267); Sat, 11 Jul 2020 09:49:01 +0000 Received: (at 42267) by debbugs.gnu.org; 11 Jul 2020 09:48:50 +0000 Received: from localhost ([127.0.0.1]:43836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1juC7l-0000eO-T5 for submit@debbugs.gnu.org; Sat, 11 Jul 2020 05:48:50 -0400 Received: from smtp1a.inetd.co.jp ([210.129.88.11]:42262) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1juC7j-0000eC-Pj for 42267@debbugs.gnu.org; Sat, 11 Jul 2020 05:48:48 -0400 Received: from localhost (42-146-134-146.rev.home.ne.jp [42.146.134.146]) by smtp1a.inetd.co.jp (Postfix) with ESMTPA id 7D39A5F; Sat, 11 Jul 2020 18:48:45 +0900 (JST) From: Ikumi Keita In-reply-to: <579d06d9-9ae6-1d85-cf12-10ba852ea73c@gmail.com> References: <861rllpxi4.fsf@gnu.org> <9574f6cd-2df1-f416-b871-21a97b6690e5@gmail.com> <53977.1594312645@localhost> <409954df-f9c3-33b4-fd71-d8acfdf01510@gmail.com> <3951.1594367619@localhost> <13477.1594446918@localhost> <579d06d9-9ae6-1d85-cf12-10ba852ea73c@gmail.com> Comments: In-reply-to PierGianLuca Porta Mana message dated "Sat, 11 Jul 2020 08:37:50 +0200." X-Mailer: MH-E 8.6+git; nmh 1.7.1; GNU Emacs 26.3 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Sat, 11 Jul 2020 18:48:43 +0900 Message-ID: <19308.1594460923@localhost> X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi PierGianLuca, >>>>> PierGianLuca Porta Mana writes: > I wonder what other people's opinions would be about turning *off* > raw-quotes highlighting by default (is it on by default?) Yes, it's on by default, and can be turned off by setting the customize option `font-latex-quotes' to nil. > =E2=80=93 or maybe eliminating it altogether. > There would be several reason for this: > - Quirks with apostrophes used in math mode, as the present bug > showed; and also the complexity of distinguishing a genitive > apostrophe ("the students' books") from a closing quote mark in a > single-quote style, which often occurs in British writings for > example. I think those cases don't matter. The default settings of font-latex.el don't interact with such single apostrophe, and only respond to doubled apostrophe '' and doubled backquote ``, possibly along with French or German style quotes. (See the doc string of `font-latex-quote-list'.) > - Quirks with multi-paragraph quotes, when one uses the quotation > style that repeats the opening quotes (but not the closing quotes) at > each paragraph. If there are many ``s without matching ''s, they are displayed with warning color. I agree that that warning color would be annoying for users who have such style of writing. (However, it seems that no users of AUCTeX complain about it currently. Do you think that there are potentially many such users actually?) > - Syntactically it's best to introduce quotations with an appropriate > macro, eg \enquote{} from the csquotes package, which also > automatically takes care of quotation styles like the ones mentioned > above. Well, I suppose that many users still prefer casual style ``...'' over \enquote{} etc. because the former is easier to type. To be honestly :-), the highlighting of ``...'' is not an important feature for me because most LaTeX documents I encounter are oriented for math and physics, and have very few ``...''s. So I don't object to eliminate that feature if a lot of people have opinions to do so. Regards, Ikumi Keita From unknown Fri Aug 15 04:07:35 2025 X-Loop: help-debbugs@gnu.org Subject: bug#42267: Fontification takes a long time when an equation contains a double prime Resent-From: PierGianLuca Porta Mana Original-Sender: "Debbugs-submit" Resent-CC: bug-auctex@gnu.org Resent-Date: Sat, 11 Jul 2020 10:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42267 X-GNU-PR-Package: auctex X-GNU-PR-Keywords: To: Ikumi Keita Cc: 42267@debbugs.gnu.org Received: via spool by 42267-submit@debbugs.gnu.org id=B42267.159446451116696 (code B ref 42267); Sat, 11 Jul 2020 10:49:02 +0000 Received: (at 42267) by debbugs.gnu.org; 11 Jul 2020 10:48:31 +0000 Received: from localhost ([127.0.0.1]:43873 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1juD3X-0004LE-Lk for submit@debbugs.gnu.org; Sat, 11 Jul 2020 06:48:31 -0400 Received: from mail-lj1-f169.google.com ([209.85.208.169]:33182) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1juD3V-0004L1-1e for 42267@debbugs.gnu.org; Sat, 11 Jul 2020 06:48:30 -0400 Received: by mail-lj1-f169.google.com with SMTP id e8so9244574ljb.0 for <42267@debbugs.gnu.org>; Sat, 11 Jul 2020 03:48:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=EMrpzb6KuR9VR9j6IjSClbnQak/VOZQWkmNgLLik60g=; b=jK1xfqYiyWbrfZ84I5pKq73uoIteI5WEirUQpTlmgpi4WfDD+VMsjs6Bj0i4ddw+kO dAze84xJwHszpz5mmQyo/qnhiom56fjxsow07T3bvEM6/bJU5SKUNiFBheWKCNhbz6wG tHE0Cp4cZtlYALk7awoNvPvVjNpdyLwDngJSXxjGKDzm+5AHY8C1msgFqsanA3ZyVg9i 8mmyCFMjxVORK2K+ncf6SXHe8SkUbjC1egl/dyAhjIZQ7Pk4bxRjCRDi9zqCz4ksPwYh RxQ8QOZVZ/QMC2fDRkdCXvACbQCuqNb+5enO8Z2pQldBIxAICPMVavEYWq/XPXpBgQo5 zloQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=EMrpzb6KuR9VR9j6IjSClbnQak/VOZQWkmNgLLik60g=; b=VSk9SWpU5a9fXLqedqZoy8kVNB0mYubbaETmjt36YTzZgH5BiEIbcdHKxbYphke40g ++t9pr2Af3DZbzS8M9177oMSxgN4OaPpgQMZhIkxyDnEmj9tqQdn8ljPtHQOsw+/w44x egRik5LNwSvbEoJuJEwW3MWwrHZY6nZvCejzuoF7BlAj8n0SWEhLet590ytJHxTsidzi hY8uq1uKA+B4tab8RntZk5Mt1cPDVAeaNAhO8Ax3b7Q1ADAundczaFtQV+zMX79rCM4v wY/EGvXdA19XtpU1smqSbK03uCArJ2ACMSiV+cqFCWFwoWQAFPkfQZt4I2fpYEn8m+9R lkPA== X-Gm-Message-State: AOAM531NkwTAevBmZBGBMISyiTa0MGN1tTr3rT7NugcV4YbnVBBaWlVH acMPVhCitOwQ7JYw0UTDvrjZhAQ= X-Google-Smtp-Source: ABdhPJw8BUBcPNPS1EOpycK1VOfxxSin0xrjRvrgB7JCFRDXVDNEbgrcjWQEWL/52uF3EhDrXDZgpA== X-Received: by 2002:a2e:91c4:: with SMTP id u4mr40898926ljg.20.1594464502595; Sat, 11 Jul 2020 03:48:22 -0700 (PDT) Received: from ?IPv6:2001:700:300:4115:ed4a:2c68:cd9e:4bbf? ([2001:700:300:4115:ed4a:2c68:cd9e:4bbf]) by smtp.gmail.com with ESMTPSA id h21sm2682305ljk.31.2020.07.11.03.48.21 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 11 Jul 2020 03:48:21 -0700 (PDT) References: <861rllpxi4.fsf@gnu.org> <9574f6cd-2df1-f416-b871-21a97b6690e5@gmail.com> <53977.1594312645@localhost> <409954df-f9c3-33b4-fd71-d8acfdf01510@gmail.com> <3951.1594367619@localhost> <13477.1594446918@localhost> <579d06d9-9ae6-1d85-cf12-10ba852ea73c@gmail.com> <19308.1594460923@localhost> From: PierGianLuca Porta Mana Organization: MAGNASPESMERETRIX Message-ID: <6a7ce7ea-ad04-8cfc-1dc5-2d87ae7852e4@gmail.com> Date: Sat, 11 Jul 2020 12:48:21 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <19308.1594460923@localhost> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-CA Content-Transfer-Encoding: 7bit X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi Ikumi, I'm actually guilty of both quotation-style sins I mentioned :) But AUCTeX works well for me: as in your case I have turned off fontification for quotes, and have instead activated fontification for t [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.6 HK_RANDOM_ENVFROM Envelope sender username looks random 1.0 HK_RANDOM_FROM From username looks random 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (pglpm0[at]gmail.com) 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (pglpm0[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.208.169 listed in list.dnswl.org] -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [209.85.208.169 listed in wl.mailspike.net] 0.0 NICE_REPLY_A Looks like a legit reply (A) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.9 (/) Hi Ikumi, I'm actually guilty of both quotation-style sins I mentioned :) But AUCTeX works well for me: as in your case I have turned off fontification for quotes, and have instead activated fontification for the package csquotes (which is also taken care of in preview). I wanted to put those thoughts out there just in case. Wish you all a pleasant weekend, Luca On 2020-07-11 11:48, Ikumi Keita wrote: > To be honestly :-), the highlighting of ``...'' is not an important > feature for me because most LaTeX documents I encounter are oriented for > math and physics, and have very few ``...''s. So I don't object to > eliminate that feature if a lot of people have opinions to do so. > > Regards, > Ikumi Keita > From debbugs-submit-bounces@debbugs.gnu.org Sat Jul 11 13:09:47 2020 Received: (at control) by debbugs.gnu.org; 11 Jul 2020 17:09:48 +0000 Received: from localhost ([127.0.0.1]:44863 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1juJ0V-0001A8-NR for submit@debbugs.gnu.org; Sat, 11 Jul 2020 13:09:47 -0400 Received: from smtp1a.inetd.co.jp ([210.129.88.11]:42744) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1juJ0T-00019w-U1 for control@debbugs.gnu.org; Sat, 11 Jul 2020 13:09:46 -0400 Received: from localhost (42-146-134-146.rev.home.ne.jp [42.146.134.146]) by smtp1a.inetd.co.jp (Postfix) with ESMTPA id 348755F for ; Sun, 12 Jul 2020 02:09:43 +0900 (JST) To: control@debbugs.gnu.org From: Ikumi Keita Subject: control message for bug #42267 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <29467.1594487381.1@localhost> Date: Sun, 12 Jul 2020 02:09:41 +0900 Message-ID: <29468.1594487381@localhost> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) tags 42267 fixed close 42267 quit