From 254b346f4d82cc9cb985547721fc718fdb47af78 Mon Sep 17 00:00:00 2001 From: Michael Wiebusch Date: Tue, 27 May 2014 15:12:12 +0200 Subject: [PATCH] slightly more significant update --- mvdsensorcontrol/bib.tex | 25 +++++ mvdsensorcontrol/config_structure.tex | 114 ++++++++++++++++++++ mvdsensorcontrol/daqsetup.tex | 145 +++++++++++++++++++------- mvdsensorcontrol/documentation.tex | 118 +-------------------- mvdsensorcontrol/peripheral_FPGA.pdf | Bin 0 -> 15775 bytes mvdsensorcontrol/remarks.tex | 5 +- mvdsensorcontrol/strang.pdf | Bin 77921 -> 84471 bytes 7 files changed, 256 insertions(+), 151 deletions(-) create mode 100644 mvdsensorcontrol/config_structure.tex create mode 100644 mvdsensorcontrol/peripheral_FPGA.pdf diff --git a/mvdsensorcontrol/bib.tex b/mvdsensorcontrol/bib.tex index 137a20e..7727495 100644 --- a/mvdsensorcontrol/bib.tex +++ b/mvdsensorcontrol/bib.tex @@ -3,6 +3,31 @@ ST Microelectronics, STM32F103xC STM32F103xD STM32F103xE datasheet, April 2011\\ http://www.st.com/st-web-ui/static/active/en/resource/technical/\\ document/datasheet/CD00191185.pdf (2014) +\bibitem{jan_dissertation} +Jan Michel, +\emph{Development and Implementation of a New Trigger and Data Acquisition System +for the HADES Detector} (PhD thesis). +Institut für Kernphysik, +Goethe-Universität Frankfurt am Main, +2012 + +\bibitem{jan_diplom} +Jan Michel, +\emph{Development of a Realtime Network Protocol for HADES and FAIR Experiments} (diploma thesis). +Institut für Kernphysik, +Goethe-Universität Frankfurt am Main, +2008 + +\bibitem{bertram_master} +Bertram Neumann, +\emph{Entwicklung einer +FPGA-basierten +JTAG-Ansteuerung für die +Sensoren des CBM-MVD} (master's thesis) +Institut für Kernphysik, +Goethe-Universität Frankfurt am Main, +2013 + % \bibitem{bibitem000:cbmphysicsbook} % Friman, B. diff --git a/mvdsensorcontrol/config_structure.tex b/mvdsensorcontrol/config_structure.tex new file mode 100644 index 0000000..7b8f896 --- /dev/null +++ b/mvdsensorcontrol/config_structure.tex @@ -0,0 +1,114 @@ +\section{The prototype DAQ configuration file structure} +In this section the MVD DAQ prototype configuration file structure is explained top to bottom. +\subsection{Directories (draft)} +[Which file is stored where?] +\begin{description} +\item[JTAG configuration XML files] +are stored in mvdconfig/config/ +\item[System configuration XML files] +are stored in mvdconfig/system/ +\item[Setup configuration XML files] +are stored in mvdconfid/setup/ +\item[Sensor specification XML files] +are stored in mvdsensorcontrol/spec +\end{description} +\subsection{The system configuration file} +\label{sec:systemFile} +The system configuration file is the top level configuration file for a MVD prototype DAQ system. +It defines the FPGA addresses of the central control unit (ccu), the TRBnet hub (hub) and the +gigabit ethernet link (gbe). All three entities may be located in the same FPGA and may consequently +have the same address, which is usually the address of the central FPGA in a TRB3 set-up. +A system may have multiple readout controllers (roc), which are usually implemented in the +peripheral FPGAs of the TRB3. +Apart from a description text for the system, also the daqopserver\footnote{ +[hostname]:[port] of the computer on which the TRBnet daemon is running +} for the entire system is defined in this file. + + +Example: +% \begin{Verbatim}[frame=single, +% framesep=2mm, +% label=jtag\_cmd\_m26c Port,labelposition=all,commandchars=\\\{\}] +\begin{Verbatim}[frame=single, framesep=2mm, fontsize=\small, label=mvdconfig/system/ELab.xml] + + + The Elab maps system setup file + + jspc55:88 + + + + + + +\end{Verbatim} + + +\subsection{The setup configuration file} +\label{sec:setupFile} +The setup configuration file groups and defines all entities that make up a detector setup. +The entire detector setup, which can consist of multiple sensors connected to multiple rocs, +must be associated with one single readout system. +In the current DAQ configuration a detector setup can have up to four controllers\footnote{rocs}, +one in each peripheral TRB3 FPGA. +Each controller can have up to two (JTAG)chains, while each chain can contain up to two sensors. +Overall, one TRB3 can accommodate $4\times2\times2=16$ sensors. +Each sensor must be assigned a unique id, since this id will later be found inside the +sensor data headers to make different data chunks attributable to their respective origin. +(??) +% [serial, enabled] +The sensor also has the attribute "config", which assignes a (high level) JTAG configuration XML +file to the sensor, from which it will acquire its JTAG register content. +(The position information is not used yet.) +Each chain node inside the setup file can have multiple config\footnote{ +for details about these parameters, see Bertram Neumann - +Dokumentation: JTAG-Chain-Controller (fuer +TRB V3) und JTAG-Monitor} +child nodes. When the +sensors are programmed, all text content of the config nodes will be interpreted as additional +settings for the corresponding JTAG controller. +Config nodes outside a chain node are settings for the JTAG controller as well, but not chain +specific. + +Example: +\begin{verbatim} + + + The main MVD prototype system setup file + + + + + + + Sensor G03 on CB13 no 2 + + + delay0 + set_timing_10mhz + set_inout + maps_reset_before_off + maps_reset_after_on + + waitbeforestart_6us + trigger_init_sequence + + +\end{verbatim} \ No newline at end of file diff --git a/mvdsensorcontrol/daqsetup.tex b/mvdsensorcontrol/daqsetup.tex index 9590bf3..b14c816 100644 --- a/mvdsensorcontrol/daqsetup.tex +++ b/mvdsensorcontrol/daqsetup.tex @@ -2,27 +2,48 @@ % \subsection{Overview} +% \begin{figure}[H] +% \centering +% \includegraphics[width=.8\textwidth]{principlechain.pdf} +% \caption{Simplified schema of the MVD DAQ} +% \label{fig:principlechain} +% \end{figure} \begin{figure}[H] \centering -\includegraphics[width=.8\textwidth]{principlechain.pdf} -\caption{Simplified schema of the MVD DAQ} -\label{fig:principlechain} +\includegraphics[width=.38\textwidth]{strang.pdf} +\caption{Schema of the MVD DAQ} +\label{fig:chain} \end{figure} -A strand of a MVD DAQ chain consists of the following items (see figure \ref{fig:principlechain}): +A strand of the MVD DAQ chain consists of the following items (see figure \ref{fig:chain}): \begin{description} \item[The sensors:] -MAPS of the model MIMOSA26 -\item[Front-end electronics] +A group of sensors that are mounted in row on a mechanical support structure and are +operated with the same set of front-end electronics is referred to as a ladder. +In this hardware concept two\footnote{Number of sensors per ladder may change +in future revisions of the hardware} +MAPS of the model \hyperref[sec:The_sensors]{MIMOSA26} form one ladder. +\item[Front-end electronics:] Specialized electronics (PCBs and cables) that supply the sensors with power and external reference -voltages and to some extend convert between different logic signal standards (for example -TTL$\Leftrightarrow$LVDS). -\item[FPGA boards] -TRB3 boards, the latest general purpose FPGA platform used by the HADES experiment. -\item[Computer] +voltages. +The sensors are bonded to a custom made FPC\footnote{Flex print cable} which connects to the +\hyperref[sec:front-end_board]{front-end board}. +The front-end board is connected to the +\hyperref[sec:converter_board]{converter board} via two industry standard 50 pin FPCs. +To some extend the front-end electronics convert between different logic signal +standards (for example TTL$\Leftrightarrow$LVDS) and provide means to monitor the behaviour +of the sensor. +\item[FPGA board:] +The \hyperref[sec:TRB3_FPGA_board]{TRB3} is +the latest general purpose FPGA platform used by the HADES experiment. +The FPGA is programmed with a custom logic design that containts the readout and control +logic for the sensors. +An adapter board (Ada-AddOn) is used to provide a connector that is compatible with the converter board. +\item[Computer:] Common PC running Linux and custom control, monitoring, and data acquisition software. \end{description} \subsection{The sensors} +\label{sec:The_sensors} The MIMOSA26 sensors are Monolithic Active Pixel Sensors (MAPS). In contrast to CCD sensors MAPS can be produced in a standard CMOS process and have an amplifying transistor in each pixel (thus "active"). This way even small amounts of charge separation can produce a measurable @@ -61,7 +82,7 @@ The anode of a silicon diode implemented on the sensor for temperature measureme The cathode is connected to analog ground. \item External outputs of the discriminator threshold voltage DACs. One differential voltage pair -for each of the four DACs. +for each of the four DACs. See \hyperref[sec:ADC]{section ADC} for details. \item The clamping voltage (VClp) input. The clamping voltage is a reference voltage that has to be supplied to all pixels in the pixel matrix. It serves as a reset potential for parts of the @@ -227,7 +248,7 @@ bridges are closed. % \paragraph{Signal switches} \subsubsection{Signal switches} \label{sec:Signal_switches} -The converter board provides semiconductor switches to enable/disable the sensor control signals +The converter board provides solid state switches to enable/disable the sensor control signals and to enable/bypass JTAG for each sensor. There are four individual control signals that can be set by slow control: \begin{description} @@ -280,8 +301,8 @@ The microcontroller is a general purpose device and has to be programmed with a in order to perform the above tasks. The firmware is written in C and compiled via a cross compiler. The resulting executable binary file is written to the microcontroller's flash memory by using an -SWD\footnote{Serial wire debug, a serial debug and programming interface developed by ST -Microeletronics} +SWD\footnote{Serial Wire Debug, a serial debug and programming interface comparable to the +JTAG standard but using only one clock and one bidirectional data line} programmer. % - ?? why the microcontroller - to save lines - should I write that? @@ -325,6 +346,7 @@ in order to be monitored by the CbController FPGA entity. \subsection{TRB3 FPGA board} +\label{sec:TRB3_FPGA_board} \begin{figure}[H] \centering \includegraphics[width=.6\textwidth]{TRB3.png} @@ -333,34 +355,86 @@ in order to be monitored by the CbController FPGA entity. \end{figure} + + The TRB3 board is the third iteration of the FPGA based multi purpose data acquisition platform that was developed for the HADES experiment. It is also used in several other high energy physics experiments due to its versatility. +Meanwhile the TRB3 hardware platform and the associated software framework are developed and maintained +by the TRB collaboration that includes contributors from several different countries. It is equipped with five Lattice ECP3-150EA FPGAs, i.e. one central and four peripheral FPGAs. The board possesses eight SFP ports that are able to accommodate optical or electrical ethernet adaptors. -Next to each peripheral FPGA a high pin density extension connector is located, that can be equipped +Next to each peripheral FPGA a compact 200 pin extension connector is located, that can be equipped with specialized adaptor or interface boards. This way a wide range of data acquisition applications -is possible. The FPGAs have an internal flash storage for its design configuration. -When the FPGA is powered or reset, it retrieves and loads the configuration from this flash. -The TRB3 hardware platform and the associated software framework are developed and maintained -by the TRB collaboration. - -In this set-up, the TRB3 is used as a network controlled data readout board for the MIMOSA26 MAPS. +is possible. Each FPGA has an internal flash storage for its design configuration. +When the FPGA is powered or reset, it retrieves and loads the configuration from the flash. + +In the HADES detector set-up the different data acquisition and data processing FPGA boards +communicate via TrbNet\cite{jan_diplom}, a network protocol taylored to the needs +of a large triggered detector experiment. It is used for the configuration and monitoring of the +components (slow control), +the distribution of trigger signals and the transport of large amounts of acquired +data. A TrbNet link transports triggers, data and slow control calls over a single serial +transmission line (optical fiber or wire) by multiplexing. +For realtime performance reasons, the trigger packets have priority over the data packets, +which in turn have priority over the slow control packets. At each network node the packets +are being demultiplexed into independent channels again while each channel +has its proper receive buffer. +In a TrbNet network, there are two different kinds of nodes: endpoints and hubs. +Endpoints are nodes that insert and/or extract data packets to/from the network, +while hubs route packets between other nodes (each hub is connected to one endpoint +so it can be configured via slow control). + +(For a detailed description of the HADES DAQ see \cite{jan_dissertation}.) + +In the MVD set-up, the TRB3 is used as a network controlled data readout board for the MIMOSA26 MAPS. The connection to the converter board is achieved by attaching an ADA-AddOn board to one of the peripheral extension connectors. This board is a passive adaptor that provides two 80 pin flat cable connectors, compatible with the connector on the converter board. This way up to two\footnote{?? not implemented yet, only one converter board can be operated due to the roc code ??} converter boards can be operated with one peripheral FPGA. -\subsection{FPGA design entities (draft!)} +\begin{figure}[H] +\centering +\includegraphics[width=.6\textwidth]{peripheral_FPGA.pdf} +\caption{Simplified schema of the entities inside the peripheral FPGA design} +\label{fig:peripheral_FPGA} +\end{figure} + +% \subsection{FPGA design entities} The FPGA design is internally divided into individual modules, the so called entities. An entitity can be pictured as a (virtual) black box with a multitude of binary data inputs and outputs. Entities can contain virtually every kind of digital circuitry, such as combinatorial logic, memory, arithmetic processing elements, etc. + The design for the TRB3 peripheral FPGAs consists of -three main entities: The readout controller (ROC), the JTAG controller and the converter board -controller (CbController). Each of the three has its distinct functionality. +three main entities: The \hyperref[sec:ReadoutController]{readout controller} (ROC) +, the \hyperref[sec:JTAG_controller]{JTAG controller} and the +\hyperref[sec:CbController]{converter board controller} (CbController) +(see figure \ref{fig:peripheral_FPGA}). +Apart from these front-end specific functional groups the design incorporates a TrbNet endpoint +that connects the above entities to the DAQ network. The media interface entity serves as an +adaptor between the abstract/generic endpoint and the physical data transmission medium, +which can be an optical transceiver, or in this case, a differential line between two FPGAs. + +The central FPGA houses a TrbNet hub as well as a gigabit ethernet +link entity (GbE) and the so called central control unit (CCU). +The gigabit ethernet entity allows to use an attached SFP module to establish a gigabit ethernet +link to the computer that runs the data acquisition, configuration and monitoring software. +This way all endpoints connected to the central hub (i.e. all peripheral FPGAs) can be accessed +by the user or automated DAQ software. + +The central control unit is an entity that generates trigger signals for the readout controllers. +The CBM MVD is a detector that is designed to be free running, i.e. triggerless, while the +hardware concepts are adapted from the HADES system, which is a triggered detector. +In the MVD setup the central control unit resumes the task of the HADES +CTS\footnote{central triggering system \cite{jan_dissertation}} +but in a much simpler fashion. It sends trigger signals with a fixed frequency that corresponds +to twice the sensor frame rate. This way such a readout request is guaranteed to occur within one +frame and there is at least half a frame period to transmit the data before a new frame is acquired. + + \subsubsection{Readout controller} \label{sec:ReadoutController} The readout controller\footnote{Implemented by Borislav Milanovic during his PhD. studies} @@ -387,7 +461,8 @@ to a data acquisition computer via TRBnet where the data is finally stored. \subsubsection{JTAG controller} \label{sec:JTAG_controller} While the ROC is concerned with the data coming from the sensor, the JTAG -controller\footnote{Developed by Bertram Neuman during his master's thesis} handles the +controller\footnote{Developed by Bertram Neuman during his master's thesis\cite{bertram_master}} +handles the communication to the sensor. The MIMOSA26 sensor possesses a JTAG interface (a synchronous serial data interface) that provides access to the settings registers of the chip. Multiple sensors can have their JTAG interfaces connected in series (comparable to shift registers) @@ -397,6 +472,9 @@ to program the sensors with their respecitve settings automatically. Furthermore the JTAG controller controls the START and the RESET signal of the sensor, so the sensor can be initialized and reset via slow control commands. +In the current set-up two sensors (= one ladder $\stackrel{\wedge}{=}$ one converter board) +are operated as a JTAG chain that is controlled by one JTAG controller. + See section \ref{sec:JTAG_programming} for more details about JTAG registers and their manipulation. \subsubsection{Converter board controller} @@ -407,16 +485,13 @@ It acts as a slow control bridge to the functionality of the the entity allows for the switching of power and signal lines to and from the sensor via slow control. Furthermore it is involved in the acquisition of sensor status information, such as sensor temperature and power consumption. -The ADC data acquisition and the converter board components are controlled by the on board +The ADC data acquisition and the converter board components are controlled by the on-board \hyperref[sec:Microcontroller]{microcontroller}. To communicate with the microcontroller the entity incorporates an SPI slave interface and a bidirectional UART. The CbController entity forwards slow control commands to the converter board via the UART -and receives status information in turn. -The SPI slave constantly receives a joint data stream of all voltage and current measurements performed -by the ADCs on the converter board. -The readings get stored in dedicated registers and are refreshed continuously. The register contents -can then be read out via slow control requests. -\subsubsection{hub/ccu?(draft!)} -[??placeholder] - +and receives status information in return. +The SPI slave constantly receives a joint data stream from the microcontroller. +It contains all voltage and current measurements performed by the ADCs on the converter board. +The readings are stored in dedicated registers in the FPGA and are refreshed continuously. +These registers can then be read out via slow control requests. diff --git a/mvdsensorcontrol/documentation.tex b/mvdsensorcontrol/documentation.tex index 849629a..e847125 100644 --- a/mvdsensorcontrol/documentation.tex +++ b/mvdsensorcontrol/documentation.tex @@ -13,8 +13,8 @@ \usepackage[urlcolor=blue,linkcolor=blue,colorlinks=true]{hyperref} \usepackage{siunitx} \geometry{verbose,tmargin=3cm,bmargin=3cm,lmargin=3cm,rmargin=3cm} - - +% \usepackage{framed} +\usepackage{fancyvrb} \begin{document} % \bibliographystyle{plain} @@ -92,119 +92,7 @@ a guide to the monitoring, control and data acquisition software for the high le \include{daqsetup} - -\section{The prototype DAQ configuration file structure} -In this section the MVD DAQ prototype configuration file structure is explained top to bottom. -\subsection{Directories (draft)} -[Which file is stored where?] -\begin{description} -\item[JTAG configuration XML files] -are stored in mvdconfig/config/ -\item[System configuration XML files] -are stored in mvdconfig/system/ -\item[Setup configuration XML files] -are stored in mvdconfid/setup/ -\item[Sensor specification XML files] -are stored in mvdsensorcontrol/spec -\end{description} -\subsection{The system configuration file} -\label{sec:systemFile} -The system configuration file is the top level configuration file for a MVD prototype DAQ system. -It defines the FPGA addresses of the central control unit (ccu), the TRBnet hub (hub) and the -gigabit ethernet link (gbe). All three entities may be located in the same FPGA and may consequently -have the same address, which is usually the address of the central FPGA in a TRB3 set-up. -A system may have multiple readout controllers (roc), which are usually implemented in the -peripheral FPGAs of the TRB3. -Apart from a description text for the system, also the daqopserver\footnote{ -[hostname]:[port] of the computer on which the TRBnet daemon is running -} for the entire system is defined in this file. - - -Example: -\begin{verbatim} - - - The Elab maps system setup file - - jspc55:88 - - - - - - -\end{verbatim} - - -\subsection{The setup configuration file} -\label{sec:setupFile} -The setup configuration file groups and defines all entities that make up a detector setup. -The entire detector setup, which can consist of multiple sensors connected to multiple rocs, -must be associated with one single readout system. -In the current DAQ configuration a detector setup can have up to four controllers\footnote{rocs}, -one in each peripheral TRB3 FPGA. -Each controller can have up to two (JTAG)chains, while each chain can contain up to two sensors. -Overall, one TRB3 can accommodate $4\times2\times2=16$ sensors. -Each sensor must be assigned a unique id, since this id will later be found inside the -sensor data headers to make different data chunks attributable to their respective origin. -(??) -% [serial, enabled] -The sensor also has the attribute "config", which assignes a (high level) JTAG configuration XML -file to the sensor, from which it will acquire its JTAG register content. -(The position information is not used yet.) -Each chain node inside the setup file can have multiple config\footnote{ -for details about these parameters, see Bertram Neumann - -Dokumentation: JTAG-Chain-Controller (fuer -TRB V3) und JTAG-Monitor} -child nodes. When the -sensors are programmed, all text content of the config nodes will be interpreted as additional -settings for the corresponding JTAG controller. -Config nodes outside a chain node are settings for the JTAG controller as well, but not chain -specific. - -Example: -\begin{verbatim} - - - The main MVD prototype system setup file - - - - - - - Sensor G03 on CB13 no 2 - - - delay0 - set_timing_10mhz - set_inout - maps_reset_before_off - maps_reset_after_on - - waitbeforestart_6us - trigger_init_sequence - - -\end{verbatim} - +\include{config_structure} \include{jtag} \include{daqscripts} \include{bib} diff --git a/mvdsensorcontrol/peripheral_FPGA.pdf b/mvdsensorcontrol/peripheral_FPGA.pdf new file mode 100644 index 0000000000000000000000000000000000000000..eb17cd6be9a7dfd88f830c6952e7764094d7282e GIT binary patch literal 15775 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 literal 0 HcmV?d00001 diff --git a/mvdsensorcontrol/remarks.tex b/mvdsensorcontrol/remarks.tex index ea41559..f0f953b 100644 --- a/mvdsensorcontrol/remarks.tex +++ b/mvdsensorcontrol/remarks.tex @@ -22,6 +22,8 @@ not sufficient? -> for renaming by start.pl \item \label{trap:jtagswitch} The JTAG enable and Sensor enable switches in the converter boards are not set by statup.pl! +\item +We don't have multiple JTAG chains and CbControllers in the peripheral FPGA yet. \end{itemize} \subsection{Naming consistency notes} \begin{itemize} @@ -43,7 +45,8 @@ Elaborate on the toolchain for the STM \item In the daqsetup, integrate the JAN-pic of the setup ( the corel pic). \hyperref[sec:Microcontroller]{sec:Microcontroller} - +\item +write about current sensor FPC? \end{itemize} \subsection{to investigate} diff --git a/mvdsensorcontrol/strang.pdf b/mvdsensorcontrol/strang.pdf index e894a87f5c978e7cb8673ca4a2a4b42626d91de2..e383cbf6407ea776c5463d9f8176ba673b90451b 100644 GIT binary patch delta 20723 zcmagE18`?gw=O)H*b_`_+vdbhCbn%GdouCF6WbG;zu2~I+r~Hl`VSiT7) zx}~!0>BPiIW@e70B0P2XHw={7sz!BPnU0c7#xZPP%LsJ_SP;4@TU3O?utUDTT<-6v zy5vdkRCZ4z?5p{>{=%pei)wLC=`syg-ak`v&Mp;4$B9wxkUSZj=8+UYz{K{iWq)zZ z(8i7!wRut7l=j>U#CCvz%CDt;&=9fOL?$3S?=P%oQD##LQ!d)qLA8QUVGkf);uJl z*H2V={!G|m?vWiH!>-A$L0c!@((4h$*Gm4djJc1fDxaD#`4R=qu#%W;J3E)N z>botkL3mdbBA@wIr#HT9UmeX-8BdAoVkca2t&k{!r80Y2q~bxeUDe@&3+;(P-&x%Z zO#VHsHP5jPIPMqnXp0l}I#zs>>0fdrw8M~Tc};x^HUSEsB2JkBY?s1h$KExtlGL6FWQK?2?g8uT(M&tc;%Oq|J(bAq8^4sLK)I-VT;AXs!GZ> zx5MZ#>7BYCQ(0XicxRWCK}WfVuYVOd{kuBr$2r)Q!r<#e-OD+5R=L!bqa$7dQAm7x z7C)6VuLx3$_G9`cO!+_ql=?k6I~ zTEbbT{3GM_$4Bvd%b(|r%gnfA_vwcz6+$+K+NaScvgLv|(qsMPtE?eMBK)mHcn1yo zM&xfRZ#6*Q$daJGS;J=6F3t;$iY9RT?zN4ohKhX1yicdD4XZbz+Sy_?TQe7D2)vrJ4Qc8xIr3 z$<~?dB1SO=cO$_aDZ`RYw8-2K{*XI-Jb3Fysxnul?%;2t4i?TbS^z2sS zM0x-&lOSvALU3J`XxqgqpHw^+5@)KQ9alp|t5qr6B^BCneo+DD1ufJ+0yxRe(PcshE%fc$^3+e}$3n>JNY?^+lbY`@1 zri9^R8;{P;p>U>lCeAKSriQlv)a;F{;MjMyM&a0;b7oo=Vak#ixY&3|IEx3H-u_{ z%FM;_k2a&EsinDv3lS?PYn(W=8W5(gqMixuQ0$whRzg)G?FRA7SMkgDFG7lLc_dJw z!J$wl$||Tyfn2#1xkRDDquh4A*te%!zjQn*@_rbmPZ1^x*S1Dw5?flHf6v1qK^#>U36s=As*eW=fe z!^p+g0WC5kys;AK#KQah>f5G!I?DnU9+j9rzCALUA)yeOBEZTF8_?UEGLt9bTi;W_ zM=>n3(B>2+S%8nm%FF652CPdX2n=b*rZLkFZ%oM!ihCZ3vr#CR@zcDcq%f0`VO>@W?Ghu;)@ATOF>bDoTuP$=M zoXvO?2{CuIavkVT`<~^*jlePgiKo}a@Rpp(DLO3sxuRyDDyF@l%}0Hl7ycQt{Tx13 zI^lVV@M?xJcBu|!fnUSJZo;3ev!~NxN-?XU6m*t54<* zy*NpZGY9lT+HXtEpO4F5TwK?;LCWA6vm_k&dtB-dIq;7i1GD;X=ddyZJ|3 z#ya$JF#-Taj|?UaUA>;4e-|-v&MZ7OAs*NA%#^U*s5oEnyzdd7aY_nk48|K;0uS%> ztZXbn$r$OFxGokYqiY{K+?2uzlE4YAcrjT5PbiNd3wP>J79(V&CuGEs`G`zK8w+L0 zF(I^-2Aw!hx;G{xG&=m<(qtFv)BpZ}f7K*S0`V`SFQ(13uU(&^mnKW&3Yaub3 zDPvX0g!5Rr`HXWk=($?GwY9Xi3@i;R6jMVz=yq8cc)}S~ zmn_!We0?O0H&0G>&MN9T;;t26v?i1Jiu)Z^96V0zny{~C(@;3+-GJ++SR^Z0%%M=`QL45PZucmbv|&X}!PU(T&7*~Gn$nk&<3>#va%#&ugPPa4j6iyD1b=6|!x zn1y(1Npgky(m%qzbf$#E)0S8%q(A$6Q7X(5tb&Ls89Ji^+cCz`l&{?h`1LmyUE;hr zaZUif8sEJZVlCy~b^wDeXPKU)t?GJJKTSKUPVvIg+IeTG5?+ZCMD$Sq#fmQ%GoGN` zsjstZ;^lV z>%UI^^hGYp5mHX?T4QaQ&{{t{FaNH75Li-jKJ$~X*B89Yd~mDN;cul5k8j5yP+TJ4 zcy~Ealu+lq7XuEnmp*(@q`8A^xA)ET{!R=Bm7AK-_%SxRNQ! zZZ@soo^s({aLrM!{Iz}R?*YJ2%XMr&-yQgRCe4DO{ptoif8V$ zk(gz4Z0YwodE>&?Mgz_DlGnM}5&eWlHePOuZ>6XtZ7#X7$)n4ZUh5KK`lrja7qr0f z*-EXo_11O#V62)_ZwtMwe{oM!Z$W|nTsqIoj^}X(uXl-=z0~<=_5Go4xe9~f&HVZM zdttw};D>M9obx?1)ouQlcGFEEO;_A}L1|uJ zTN-RN9}JzE8p*XH51B}zB=V=BL??zdYF>9*0fnNZhpTJyqYKez?qn2K(1)MHTFChB z-{V_6L|h?UL9&;KnAlHCB{bTt3B4RcOCMl}u{_mj^?Ch#d3kf?)Sx;75vrVk7+2N@ zmjEiLMQ;O)IF)6YwdoBu^pDISfeUug--kB}^s7Zej znqL@(jIc5-<;4$2;v6)<0S2FN_oBT1I~FOyI7(dE-aLVj;#KXzs5fDVr?c5uD1u8Z zn-Go0WQWt0!@_3MEV7!PRux#l9i+ATe!C$3peDWWxs|CA?{oRBYMT3-bg6Rlq03JFJ+LoiyPqQ#ooOQ{;)rX<~={2aae|)?N&eSA!_;+@V;_8nbGGhemI$#*LH=5KL}|lmOQem zFZk15kk?q5!xHs&`_Q>zdxS2Yf8Px zV)+q{mI63r3Y%9o8P#(T9cMg+Co+7%1biJ4)QL|-KRPHvbxaY3eG}w~e$sZ(m4u2L z^1@H+!A#R?c~Xdo^yX!T4e4#%F`{?|X`}$ZJkmM0zl4IPbm+oO5*9gl`uJa+1d>#T zO?R)anIrspyP2GfaWwW>71y9LHQK^;g!v4XRod~*D1XD+>?#lyRGf0mZdI>kY-d{N zdWXZlJVA&oxS^O?5#^?~kFz$TkDPD(M`cj-Gg6$q&n5zgeo0-`OmkB+sAIfm#yTIU z)c?dBVvL8>OBeM?Fe_Fslfd3&%F)@`)v0QJFzETCqqi<{3rP=*IIf#iAM@+iulQ)Z zd*#J5RVh4o<0WYdN~nB)Feku!`(x3__36&*xLfC{>o9Nxg6{%dv7P z_7nrvtp1ygNilewl2L?Y1IWPd9q6H}fZfM8A*Z*>)%*3X58B4cla9Axd@b5=+PS_; zH4G(O;LYmXPutvmB71&q?&@$n2po4Bp_ID^uK9H`=uZo>79pZlIkL82yPws?a{PBA zNZZBwL7k3+mK*g7&R5g#))qw{M=o=JvB+%;hNwMv(&W;}FWP%To@Zch7I+ytgu4QV98dMt2VM|T8JIs+(_QK`7?|~T^Dp$zdgc_;*ZFhzGXbIjK1JR0` z8@^V_TmkW_ChWRO z=&oK~4iXkUeLZN}~v0rCt3c`9FmaktDh#B+^=3^yJ<=6i~);-eCGPh z;-Rl1-25n3&{wKJ`YCTV^JDcCJ<siLTu%q#016Ied+X0%4>UE()pYszbE`goN^6>?RiKfL+wa*c5T_BtO zTO=%2I}3Hu5C*tU<@jmJLZ_$K(hK7xx}p&AKeVqnphiEAj&FIl6G36Io`N9C$@Q|O`16wIwxqUPNntgfY0K|56%u^9g|OV z@4;`{lVkXD^dyZ3Ld8%MaE)K!Q9KdRxrekB(Z&7;i9aw)+T}a@g~vmMZXraU@s+H` zxQ}t^uS-WSeGjK>S}+u4!*0VYM%ps3gDUQ`yIYGe6~2Vm3L|L5z(j@}Su7t1-tcq9 zLck!54v4bDEvm{2SdZ-qS&W<{=AgiSkS2j^S+~1Dq9Z?O4cEog*|T#){`v&VuUnX;gBfY12NtpjyUt1A01c~?1ptI|PAR!d8 z-i*QBQjdsPf{;{ru8R?Mk1%rx#N;*mXyo-BKZzxjY>?dhB^}qjt)fuDI~?0+SDJ0xtQc zU$RteN_W91aMQC&a=!j@T=TTd+Og79E@t~Gg=HW3;#-yM>#iH_we|V_)}Q3>8Ymq_ zvkXpGD6I-sl1z52JUjMwwywW$aJTFxEnBu54|&u(f1<33JNaZTXjtKK!A5zPgaWUJ zLE7Ua6gQC52qhgrG5<3UE7UdnW5Rz#OLBA{k-^6CcVjNqum3KZthhQPj$_`l&qHF@Xy4 zD{0wnBYD}{0Zpo78Z#7bUee$&?5so=dAPQIN-oAV@P=839!?ay`Z;Ozb6(F?Zbkr5M-HQ8L#n7N7-;sMcQ-WE_=QvF~n! zM`Lo|B$D8WxT}`#Ae<+jQzn>tPGhg?%+ZKed+D4Z*o`Ce7nZ1^S6UT#PFhv$|33xz zPmTB1{cFn54CD1}ZBYeVUg~!87PoUf1k`{a;{y^*6oog+Jx4suEF25 zGtog0baKoi=ikr@J++)}6@9eNqV5PQG7g6lEw25vP7y`yL*T=6g2;!Y4DGDq@jFhG z)Av3}!@YYXCzQRbxCoKJPOx1;DVA7CC}rxDzqmO~TlJ&}{%E54F1UfIB$iE+-Jg$d zhddGQEL)t+&I&s-(QnKj^bS6|J!~KvsS?q^mv+Smg0wKeLp@`?o~nrGPmT{jrBO2bTD8UFc;?|C~eTzo&q;4 zkcnM+`J=u6ZzXspF>)%vQy-XtstpzE3vw%Rm*=`&*khM zJJy$|QTB(ziEI57Z~U(@STGXgqbAQsO-m_;J~j-ig8^DeU*A{rJHuqLXN;PSKN%lp z2K@+d@JWYQl^K8(Af*K;g?w6n`Ed=Tq6-h}^VT{=JdFs`N+S^&5?E@%rsGVdCDfAI z#W~WGOVDIdc^v=QlsjUn{PRd#Rew;jONi`5%bd@&j;!p7Xi6%CL_axNLKPsPvr+UwfuO&m!1R)kv?T@F z?{_4#K#zr`)aC0}g8kd$FPWxwcsojqrD2-uSjF!#@> zAEeg9{CtLe8#u!+pUo7R1m5qk#o-|Y1RL7M_}8;{lv_3H26+fcI)nt(=zX-upKo4T zBf}Tf=R0ES1&1xR0k(m%K)_{lSUvxc51U>@!>s zVFSYw_Jz0pc$D}?aIoUeWx}M%yLh_L4-!43cs8FiQBNFZxzoz(Hw7Nvy)iQvzA{$6 z=(~PfW$(wyHu09P^))%zs$sWMlr?xstW43vKn46j@rW-FbM{(|I}yZVrKi#rE>pwJ1k6p?GPjU|FD&rh?#?(J5KcZ z8}MZdg^7#{mOLllpM#9vlNbhUnyv3_Om3MECpEu~ld~;oWo7@R05RzP&r>QzLq|#i zLNM8zFW>|CS)ZMcrm&iuji)>Br!O&o4*ZS>M+&8>UVd@-F*ZLiLBggT{l!kN-f~du zD&vuC-AO%Hk*bARqeR z9nyZ`bi1>ETKY91`F@fArcWF}Gt?4iP1Kf<*ZLPio0{*IZCiC&Vn3wSup&@M0WPUI z22npJ22Ed+OwE6E^W&sZ%>1cVH99eY;^P6OT0ai3CY-M1lYirfslHk@j1Oq1Wxz8t zt4`SXV}*1eow=2l3XQ)UDLXrgMme*OzpWaho9KknMIH-|64g zH8fbYZMrph@s*#KQg_>HL8nuz!as{cp_bv(OWq8_(_yk&i@AcMB_>|Lr*pHc_w z)^5e(aan>FjF~tuM=dW>+(@ymSNgv>aYgv|c}2Jg<^=?0aLI%#tyZ1mFJ51$|V8a@X8BfoM3CJ9{O9PL9$ZBhj85P z+F9VKc;8PxrGVpM+X!p(BFlIb?fM_M3@TuIsCqT%&3Uzzm&;#+Km3|6C1_OMrri4T za(wz~X*b^VE$heGe8efYWnk7`@--)KbQK6s`JQ6<25Za1>+QNTP8f_y@lKUvu{2*m>%Oq`c0vF%wo+Yu zfJAv}$J4s*zV$T9J$Az~YHE8^nm9JbQbITWySd(fJiwjDDJde*CiA;vNn6?YStafG zWQmmFn>Y(47Coi&Z=jb!xR?s9{Oe8Xne}NCx2+tGok4Tx?ZRbiu~uEO;V8oXsRKnx zgT=SFEdESi>a?LhxkWOyX!Fig@hL-^BI5q=g;-)T+plK>hNS+;f~>O z_%Z(8aK8@7D82|7$VJeb4UU6LAqd%5E@9!c3qCnUR=x~2p8)!+)wI)~2cN8$kmKqX zv+@!~!!3Xl@ARqyW;}IHX(yOX((|@Ww;)ntW9>KF^QikMd_!ftNz@|P{)CB7ip84@ zmGAMdWMXwFR&XPjE@n0{tQdUpX^RSz+MT8B@n8oIN$}cZ)PSKYf5)#x3E9Kyx{A8$ zj&Q0qbS5Y+R=`&lBEWwGsQ)qC(>eFq{G_w9f04@kfY&xPSs0tmEp_xhpBYL)wvjD@ zv%0E_@qTtU9Wr9evJ=5fX*j72mTf~jD>6&J)hyFet!K>@?SWNh#+vqeFMUM2#C=22 z#BJ@#;2@B49y!WJV)6pA z3!Vov3AZK}0c)fw)1Q^4OjtP7TK%5ZQ3F<*Tw;H1#}5BXMZcb?>5pRslpp@MIL;z4 zq3FG*(Lg@UQJ{qL^yZ%mCb6Kt%+JOu$|lTWhT{qMf>SNqv61lg1E>Stiua zo?8T0ZJc@@jCbBXex@SpiNpupt~cppi1p64o2@$)JcXL4Z9O%u@`IU4f-4tQhip+L z=RqM+>$Un9m&g(Mw*^?B`f&a7^+N1S6c zO0>m;<<-_>;WjgFW%Pjbdap6L`F52_@ote8o^k*WX?hkIc6^9eE?E*Q5olRhwpjq3 zGCwG}DDjhGl-j|!*~HOtea9I;7*vH{5V)~ePjyUETFOzHH-hhc4rV8Ok3IYcAqVZh zb%BH=S9 z;9HX-CVme0;dRB>cR~fwucKm7no53qI)rPE;)0YOCst$S)}tMqQ`vs=n^+l7?zJAI zn;3ssrCIA26;TO5Ooh(P9b@V|PA4a>WCkRP#}sJw1t^246)H3Je(1`O zs9ljYb#HmfeoEG?;CPX`j(^I1s(DJ))LRx;;?n9*?la90s!cwF(;9o)cVl&y76yz& zS&Lx5mcjR-1)xYL7W+rdJJ#b(Fm_WwGGS^Yfzwfx)cir#M6@*Qpf zXTZRxHgiJXS&d~~^K$8_(dm7U(cy>W8~u5v19v;>vl7=~lNYSbQs{7FT>; zE=-o(^6l$%h(kFnsl}wu-J)!D_FQ1O(CEIlQ_EA;0ly{EH^Mj3REj}h(R|gex8EZn z7Ugs6HW73v8W%04Q&~DZrN0)&uZIC4yvq4Lh;!Rzz@mWl@JdIHE?YS?z5JV6ga5q$ zD8%#|2~RdRLBN2)!eQjBq_Kou&nnR2tvd zir%xIlP--`6?~}EiX=38-+If4Z?Bm>psR3yc&Llob;_;GeqBPKzogdT@$=EzNVZ

nFcDYi?sON<|X&IQMx)g!G?P+Ziq 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 Ui77M(2MZS~G#Qzgyg2m#0WfG5#sB~S -- 2.43.0