Spelling suggestions: "subject:"hardware devevelopment"" "subject:"hardware agentdevelopment""
1 |
Design of hardware components for a baseband processing APIJosef Sadek, Fadi, Sabih ur Rehman Khan, Rana January 2006 (has links)
<p>The programming languages that describe hardware circuits are important for circuit </p><p>designers to assist them to design and develop the hardware circuits. </p><p> </p><p>In this master’s project, the Lava hardware description language is used to design and </p><p>develop hardware components for a baseband processing API. Lava is a language </p><p>embedded in the general purpose language Haskell. </p><p> </p><p>The function for checking transmission errors in the baseband processing chain, Cyclic </p><p>Redundancy Check (CRC) is implemented in different ways and tested. </p><p>Linear Feedback Shift Registers (LFSRs) circuits for a particular polynomial generator </p><p>are developed, implemented and simulated by using Lava code to calculate the CRC. </p><p> </p><p>A generalized function of CRC is developed as a circuit generator for any given </p><p>polynomial generator. The circuit is tested by automatic test program.</p>
|
2 |
Design of hardware components for a baseband processing APIJosef Sadek, Fadi, Sabih ur Rehman Khan, Rana January 2006 (has links)
The programming languages that describe hardware circuits are important for circuit designers to assist them to design and develop the hardware circuits. In this master’s project, the Lava hardware description language is used to design and develop hardware components for a baseband processing API. Lava is a language embedded in the general purpose language Haskell. The function for checking transmission errors in the baseband processing chain, Cyclic Redundancy Check (CRC) is implemented in different ways and tested. Linear Feedback Shift Registers (LFSRs) circuits for a particular polynomial generator are developed, implemented and simulated by using Lava code to calculate the CRC. A generalized function of CRC is developed as a circuit generator for any given polynomial generator. The circuit is tested by automatic test program.
|
3 |
Towards Predictable and Reliable Wireless Communication in Harsh EnvironmentsEkström, Martin January 2013 (has links)
Wireless communication in industrial, scientific and medical applications have several benefits. The main benefits when using wireless technologies include ease-of-deployment, the simplicity to introduce new units into the network and mobility. However it also put higher demands on the communication, including reliability and predictability compared to wired communication. The reliability issues correlate to the radio communication and the possibility to ensure that the user data is received, and within the time frame of the system requirements. This doctoral thesis presents an empirical measurement approach to investigate and model the behaviour linked to reliability and predictability. The focus of the work presented is energy consumption, packet-error-rate and latency studies. This is performed for various radio technologies and standards in (radio?) harsh environments. The main contributions of this thesis are the measurements platforms and procedures that have been developed to meet the requirements to investigate modern radio technologies in terms of predictability and reliability. This thesis show that it is possible to predict wireless communication in radio harsh environments. However it is necessary to determine the characteristics of the environment to be able to choose a suitable radio technology. The measurement procedures presented in this thesis alongside the platform developed enable these types of investigations. In this thesis a model of the energy consumption for a Bluetooth radio in low-duty-cycle applications with point-to-multipoint communication is presented. The measurements show that distance and transmission power will not effect the energy consumption for a Bluetooth nor ZigBee module. However the packet-error-rate and number of retransmissions will affect the overall energy consumption, and these parameters can be correlated to distance and foremost the environmental characteristics. This thesis also presents two application-based solutions, a time synchronized ECG network with reliable data communication as well as a low-latency wireless I/O for a hydro plant. / Tesla / Gauss
|
4 |
Attitude Determination and Control Hardware Development for Small SatellitesFournier, Marc 24 August 2011 (has links)
The development of a small spacecraft attitude determination and control subsystem is described. This subsystem is part of The Space Flight Laboratory's Generic Nanosatellite Bus. With a 20cm3 body, the bus has an attitude determination and control subsystem capable of full three-axis stabilization and control enabling more advanced missions previously only possible with bulkier and more power-consuming attitude control hardware. Specific contributions to the Space Flight Lab's attitude control hardware are emphasised. Particularly, the full development of a 32g three-axis nanosatellite rate sensing unit is described. This includes embedded software development, skew calibration, hardware modeling and qualification testing for the unit. Development work on a three-axis boom-mounted magnetometer is also detailed. A full hardware design is also described for a new microsatellite-sized rate sensor. Larger and more powerful than the nanosatellite rate sensors, the design ensures a low noise, low drift architecture to improve attitude determination on future microsatellite missions.
|
5 |
Attitude Determination and Control Hardware Development for Small SatellitesFournier, Marc 24 August 2011 (has links)
The development of a small spacecraft attitude determination and control subsystem is described. This subsystem is part of The Space Flight Laboratory's Generic Nanosatellite Bus. With a 20cm3 body, the bus has an attitude determination and control subsystem capable of full three-axis stabilization and control enabling more advanced missions previously only possible with bulkier and more power-consuming attitude control hardware. Specific contributions to the Space Flight Lab's attitude control hardware are emphasised. Particularly, the full development of a 32g three-axis nanosatellite rate sensing unit is described. This includes embedded software development, skew calibration, hardware modeling and qualification testing for the unit. Development work on a three-axis boom-mounted magnetometer is also detailed. A full hardware design is also described for a new microsatellite-sized rate sensor. Larger and more powerful than the nanosatellite rate sensors, the design ensures a low noise, low drift architecture to improve attitude determination on future microsatellite missions.
|
6 |
Desenvolvimento algorítmico e arquitetural para a estimação de movimento na compressão de vídeo de alta definição / Algorithmic and architectural development for motion estimation on high definition video compressionPorto, Marcelo Schiavon January 2012 (has links)
A compressão de vídeo é um tema extremamente relevante no cenário atual, principalmente devido ao crescimento significativo da utilização de vídeos digitais. Sem a compressão, é praticamente impossível enviar ou armazenar vídeos digitais devido à sua grande quantidade de informações, inviabilizando aplicações como televisão digital de alta definição, vídeo conferência, vídeo chamada para celulares etc. O problema vem se tornando maior com o crescimento de aplicações de vídeos de alta definição, onde a quantidade de informação é consideravelmente maior. Diversos padrões de compressão de vídeo foram desenvolvidos nos últimos anos, todos eles podem gerar grandes taxas de compressão. Os padrões de compressão de vídeo atuais obtêm a maior parte dos seus ganhos de compressão explorando a redundância temporal, através da estimação de movimento. No entanto, os algoritmos de estimação de movimento utilizados atualmente não consideram as variações nas características dos vídeos de alta definição. Neste trabalho uma avaliação da estimação de movimento em vídeos de alta definição é apresentada, demonstrando que algoritmos rápidos conhecidos, e largamente utilizados pela comunidade científica, não apresentam os mesmos resultados de qualidade com o aumento da resolução dos vídeos. Isto demonstra a importância do desenvolvimento de novos algoritmos focados em vídeos de altíssima definição, superiores à HD 1080p. Esta tese apresenta o desenvolvimento de novos algoritmos rápidos de estimação de movimento, focados na codificação de vídeos de alta definição. Os algoritmos desenvolvidos nesta tese apresentam características que os tornam menos suscetíveis à escolha de mínimos locais, resultando em ganhos significativos de qualidade em relação aos algoritmos rápidos convencionais, quando aplicados a vídeos de alta definição. Além disso, este trabalho também visa o desenvolvimento de arquiteturas de hardware dedicadas para estes novos algoritmos, igualmente dedicadas a vídeos de alta definição. O desenvolvimento arquitetural é extremamente relevante, principalmente para aplicações de tempo real a 30 quadros por segundo, e também para a utilização em dispositivos móveis, onde requisitos de desempenho e potência são críticos. Todos os algoritmos desenvolvidos foram avaliados para um conjunto de 10 sequências de teste HD 1080p, e seus resultados de qualidade e custo computacional foram avaliados e comparados com algoritmos conhecidos da literatura. As arquiteturas de hardware dedicadas, desenvolvidas para os novos algoritmos, foram descritas em VHDL e sintetizadas para FPGAs e ASIC, em standard cells nas tecnologias 0,18μm e 90nm. Os algoritmos desenvolvidos apresentam ganhos de qualidade para vídeos de alta definição em relação a algoritmos rápidos convencionais, e as arquiteturas desenvolvidas possuem altas taxas de processamento com baixo consumo de recursos de hardware e de potência. / Video compression is an extremely relevant theme in today’s scenario, mainly due to the significant growth in digital video applications. Without compression, it is almost impossible to send or store digital videos, due to the large amount of data that they require, making applications such as high definition digital television, video conferences, mobiles video calls, and others unviable. This demand is increasing since there is a strong growth in high definition video applications, where the amount of information is considerably larger. Many video coding standards were developed in the last few years, all of them can achieve excellent compression rates. A significant part of the compression gains in the current video coding standards are obtained through the exploration of the temporal redundancies by means of the motion estimation process. However, the current motion estimation algorithms do not consider the inherent variations that appear in high and ultra-high definition videos. In this work an evaluation of the motion estimation in high definition videos is presented. This evaluation shows that some well know fast algorithms, that are widely used by the scientific community, do not keep the same quality results when applied to high resolution videos. It demonstrates the relevance of new fast algorithms that are focused on high definition videos. This thesis presents the development of new fast motion estimation algorithms focused in high definition video encoding. The algorithms developed in this thesis show some characteristics that make them more resilient to avoid local minima, when applied to high definition videos. Moreover, this work also aims at the development of dedicated hardware architectures for these new algorithms, focused on high definition videos. The architectural development is extremely relevant, mainly for real time applications at 30 frames per second, and also for mobile applications, where performance and power are critical issues. All developed algorithms were assessed using 10 HD 1080p test video sequences, and the results for quality and computational cost were evaluated and compared against known algorithms from the literature. The dedicated hardware architectures, developed for the new algorithms, were described in VHDL and synthesized for FPGA and ASIC. The ASIC implementation used 0.18μm and 90nm CMOS standard cells technology. The developed algorithms present quality gains in comparison to regular fast algorithms for high definition videos, and the developed architectures presents high processing rate with low hardware resources cost and power consumption.
|
7 |
Desenvolvimento algorítmico e arquitetural para a estimação de movimento na compressão de vídeo de alta definição / Algorithmic and architectural development for motion estimation on high definition video compressionPorto, Marcelo Schiavon January 2012 (has links)
A compressão de vídeo é um tema extremamente relevante no cenário atual, principalmente devido ao crescimento significativo da utilização de vídeos digitais. Sem a compressão, é praticamente impossível enviar ou armazenar vídeos digitais devido à sua grande quantidade de informações, inviabilizando aplicações como televisão digital de alta definição, vídeo conferência, vídeo chamada para celulares etc. O problema vem se tornando maior com o crescimento de aplicações de vídeos de alta definição, onde a quantidade de informação é consideravelmente maior. Diversos padrões de compressão de vídeo foram desenvolvidos nos últimos anos, todos eles podem gerar grandes taxas de compressão. Os padrões de compressão de vídeo atuais obtêm a maior parte dos seus ganhos de compressão explorando a redundância temporal, através da estimação de movimento. No entanto, os algoritmos de estimação de movimento utilizados atualmente não consideram as variações nas características dos vídeos de alta definição. Neste trabalho uma avaliação da estimação de movimento em vídeos de alta definição é apresentada, demonstrando que algoritmos rápidos conhecidos, e largamente utilizados pela comunidade científica, não apresentam os mesmos resultados de qualidade com o aumento da resolução dos vídeos. Isto demonstra a importância do desenvolvimento de novos algoritmos focados em vídeos de altíssima definição, superiores à HD 1080p. Esta tese apresenta o desenvolvimento de novos algoritmos rápidos de estimação de movimento, focados na codificação de vídeos de alta definição. Os algoritmos desenvolvidos nesta tese apresentam características que os tornam menos suscetíveis à escolha de mínimos locais, resultando em ganhos significativos de qualidade em relação aos algoritmos rápidos convencionais, quando aplicados a vídeos de alta definição. Além disso, este trabalho também visa o desenvolvimento de arquiteturas de hardware dedicadas para estes novos algoritmos, igualmente dedicadas a vídeos de alta definição. O desenvolvimento arquitetural é extremamente relevante, principalmente para aplicações de tempo real a 30 quadros por segundo, e também para a utilização em dispositivos móveis, onde requisitos de desempenho e potência são críticos. Todos os algoritmos desenvolvidos foram avaliados para um conjunto de 10 sequências de teste HD 1080p, e seus resultados de qualidade e custo computacional foram avaliados e comparados com algoritmos conhecidos da literatura. As arquiteturas de hardware dedicadas, desenvolvidas para os novos algoritmos, foram descritas em VHDL e sintetizadas para FPGAs e ASIC, em standard cells nas tecnologias 0,18μm e 90nm. Os algoritmos desenvolvidos apresentam ganhos de qualidade para vídeos de alta definição em relação a algoritmos rápidos convencionais, e as arquiteturas desenvolvidas possuem altas taxas de processamento com baixo consumo de recursos de hardware e de potência. / Video compression is an extremely relevant theme in today’s scenario, mainly due to the significant growth in digital video applications. Without compression, it is almost impossible to send or store digital videos, due to the large amount of data that they require, making applications such as high definition digital television, video conferences, mobiles video calls, and others unviable. This demand is increasing since there is a strong growth in high definition video applications, where the amount of information is considerably larger. Many video coding standards were developed in the last few years, all of them can achieve excellent compression rates. A significant part of the compression gains in the current video coding standards are obtained through the exploration of the temporal redundancies by means of the motion estimation process. However, the current motion estimation algorithms do not consider the inherent variations that appear in high and ultra-high definition videos. In this work an evaluation of the motion estimation in high definition videos is presented. This evaluation shows that some well know fast algorithms, that are widely used by the scientific community, do not keep the same quality results when applied to high resolution videos. It demonstrates the relevance of new fast algorithms that are focused on high definition videos. This thesis presents the development of new fast motion estimation algorithms focused in high definition video encoding. The algorithms developed in this thesis show some characteristics that make them more resilient to avoid local minima, when applied to high definition videos. Moreover, this work also aims at the development of dedicated hardware architectures for these new algorithms, focused on high definition videos. The architectural development is extremely relevant, mainly for real time applications at 30 frames per second, and also for mobile applications, where performance and power are critical issues. All developed algorithms were assessed using 10 HD 1080p test video sequences, and the results for quality and computational cost were evaluated and compared against known algorithms from the literature. The dedicated hardware architectures, developed for the new algorithms, were described in VHDL and synthesized for FPGA and ASIC. The ASIC implementation used 0.18μm and 90nm CMOS standard cells technology. The developed algorithms present quality gains in comparison to regular fast algorithms for high definition videos, and the developed architectures presents high processing rate with low hardware resources cost and power consumption.
|
8 |
Desenvolvimento algorítmico e arquitetural para a estimação de movimento na compressão de vídeo de alta definição / Algorithmic and architectural development for motion estimation on high definition video compressionPorto, Marcelo Schiavon January 2012 (has links)
A compressão de vídeo é um tema extremamente relevante no cenário atual, principalmente devido ao crescimento significativo da utilização de vídeos digitais. Sem a compressão, é praticamente impossível enviar ou armazenar vídeos digitais devido à sua grande quantidade de informações, inviabilizando aplicações como televisão digital de alta definição, vídeo conferência, vídeo chamada para celulares etc. O problema vem se tornando maior com o crescimento de aplicações de vídeos de alta definição, onde a quantidade de informação é consideravelmente maior. Diversos padrões de compressão de vídeo foram desenvolvidos nos últimos anos, todos eles podem gerar grandes taxas de compressão. Os padrões de compressão de vídeo atuais obtêm a maior parte dos seus ganhos de compressão explorando a redundância temporal, através da estimação de movimento. No entanto, os algoritmos de estimação de movimento utilizados atualmente não consideram as variações nas características dos vídeos de alta definição. Neste trabalho uma avaliação da estimação de movimento em vídeos de alta definição é apresentada, demonstrando que algoritmos rápidos conhecidos, e largamente utilizados pela comunidade científica, não apresentam os mesmos resultados de qualidade com o aumento da resolução dos vídeos. Isto demonstra a importância do desenvolvimento de novos algoritmos focados em vídeos de altíssima definição, superiores à HD 1080p. Esta tese apresenta o desenvolvimento de novos algoritmos rápidos de estimação de movimento, focados na codificação de vídeos de alta definição. Os algoritmos desenvolvidos nesta tese apresentam características que os tornam menos suscetíveis à escolha de mínimos locais, resultando em ganhos significativos de qualidade em relação aos algoritmos rápidos convencionais, quando aplicados a vídeos de alta definição. Além disso, este trabalho também visa o desenvolvimento de arquiteturas de hardware dedicadas para estes novos algoritmos, igualmente dedicadas a vídeos de alta definição. O desenvolvimento arquitetural é extremamente relevante, principalmente para aplicações de tempo real a 30 quadros por segundo, e também para a utilização em dispositivos móveis, onde requisitos de desempenho e potência são críticos. Todos os algoritmos desenvolvidos foram avaliados para um conjunto de 10 sequências de teste HD 1080p, e seus resultados de qualidade e custo computacional foram avaliados e comparados com algoritmos conhecidos da literatura. As arquiteturas de hardware dedicadas, desenvolvidas para os novos algoritmos, foram descritas em VHDL e sintetizadas para FPGAs e ASIC, em standard cells nas tecnologias 0,18μm e 90nm. Os algoritmos desenvolvidos apresentam ganhos de qualidade para vídeos de alta definição em relação a algoritmos rápidos convencionais, e as arquiteturas desenvolvidas possuem altas taxas de processamento com baixo consumo de recursos de hardware e de potência. / Video compression is an extremely relevant theme in today’s scenario, mainly due to the significant growth in digital video applications. Without compression, it is almost impossible to send or store digital videos, due to the large amount of data that they require, making applications such as high definition digital television, video conferences, mobiles video calls, and others unviable. This demand is increasing since there is a strong growth in high definition video applications, where the amount of information is considerably larger. Many video coding standards were developed in the last few years, all of them can achieve excellent compression rates. A significant part of the compression gains in the current video coding standards are obtained through the exploration of the temporal redundancies by means of the motion estimation process. However, the current motion estimation algorithms do not consider the inherent variations that appear in high and ultra-high definition videos. In this work an evaluation of the motion estimation in high definition videos is presented. This evaluation shows that some well know fast algorithms, that are widely used by the scientific community, do not keep the same quality results when applied to high resolution videos. It demonstrates the relevance of new fast algorithms that are focused on high definition videos. This thesis presents the development of new fast motion estimation algorithms focused in high definition video encoding. The algorithms developed in this thesis show some characteristics that make them more resilient to avoid local minima, when applied to high definition videos. Moreover, this work also aims at the development of dedicated hardware architectures for these new algorithms, focused on high definition videos. The architectural development is extremely relevant, mainly for real time applications at 30 frames per second, and also for mobile applications, where performance and power are critical issues. All developed algorithms were assessed using 10 HD 1080p test video sequences, and the results for quality and computational cost were evaluated and compared against known algorithms from the literature. The dedicated hardware architectures, developed for the new algorithms, were described in VHDL and synthesized for FPGA and ASIC. The ASIC implementation used 0.18μm and 90nm CMOS standard cells technology. The developed algorithms present quality gains in comparison to regular fast algorithms for high definition videos, and the developed architectures presents high processing rate with low hardware resources cost and power consumption.
|
9 |
Agile Hardware Prototyping : A case study on agility and prototype workshops,obstacles and enablers / Agilt Hårdvaruprototypande : En fallstudie på agilitet och prototypverkstäder,hinder och möjliggörareGöransson, Albin, Lindgren, Felicia January 2022 (has links)
Agile is on the rise. The popular software development practice is making its way over to hardware development and companies are adopting it to reap the benefits. This phenomenon has been investigated to some degree and many companies are still trying to figure out if it is a useful way of working for them or not. At the Swedish MedTech company, Elekta, mechanical designers and engineers believe that hardware prototyping could be done better and faster than today. Elekta made an agile transformation to SAFe, which stands for Scaled Agile Framework, a few years ago and the hardware development struggle to match the speed of the development of software. Not much literature is aimed at agile hardware prototyping in particular. In the pursuit of adapting agile hardware development literature particularly to the prototyping process and investigating the actual process at the company, the case study presented in this report was formed. First, to explore the topic, a pre-study of orienting interviews was conducted and was complemented by a literature review. These then made up the basis for a qualitative interview study that consisted of semi-structured interviews with 12 employees at Elekta, as well as 5 employees at 5 other companies for benchmarking. The goals of this thesis project were to make recommendations to Elekta on how to adapt their prototyping process to better fit agile, as well as contribute to the relatively unexplored field of agile hardware prototyping. The case study resulted in a number of identified obstacles and enablers a company might have when implementing agile frameworks for hardware prototyping. Some of the obstacles identified were the difficulty of planning and dividing hardware in smaller tasks, not having in-house production and the difficulty to adapt to an agile mindset and focusing too much on the process of SAFe. Some of the enablers found were modularity, 3D-printing and having in-house capabilities for manufacturing prototypes. A prototyping workshop enables shorter feedback loops, which in turn enables a more agile process. The study also resulted in suggestions to Elekta, mainly concerning setting up a new prototyping workshop solution for the company, to adapt the prototyping process to better fit agile. / Agila arbetssätt blir alltmer populära. Metoderna som härstammar från mjukvaruutveckling spiller nu över till hårdvaruutveckling när företag försöker ta nästa steg mot mer moderna arbetssätt. Agil hårdvaruutveckling har studerats tidigare och många företag försöker fortfarande ta reda på om det är något för dem. På det svenska MedTech-bolaget Elekta tror konstruktörer och andra ingenjörer att hårdvaruprototypande kan gå att göra bättre och snabbare. Elekta införde SAFe, som står för Scaled Agile Framework, för några år sedan men har svårt att utveckla hårdvara lika snabbt som mjukvara. Det finns inte mycket litteratur som specifikt rör agilt hårdvaruprototypande. För att utforska ämnet genomfördes en fallstudie på Elekta. Studien inleddes med orienterande intervjuer som kompletterades av en litteraturstudie om agil hårdvaruutveckling. Dessa lade sedan grunden för den kvalitativa undersökningen som bestod av semistrukturerade intervjuer med 12 personer på Elekta samt 5 personer på andra företag som också hanterar hårdvaruprototypande. Målen med detta examensarbete var att ge Elekta rekommendationer om hur de ska anpassa sin prototypprocess för att bättre passa agila arbetssätt och att kunna bidra till det relativt outforskade ämnet, agilt hårdvaruprototypande. Fallstudien resulterade i identifiering av ett antal hinder och möjligheter som ett företag kan uppleva när de implementerar agila arbetssätt för hårdvaruprototypande. Några exempel på hinder var svårigheter med att planera och dela upp hårdvara i mindre uppgifter, att inte ha produktion in-house och svårigheten med att anamma ett agilt tankesätt istället för att fokusera för mycket på en metod eller struktur. Exempel på möjliggörare var modularitet, 3D-printning och möjligheter till prototyptillverkning in-house. En prototypverkstad tillåter kortare feedback-loopar vilket i sin tur möjliggör en mer agil process. Undersökningen resulterade också i förslag till Elekta, främst i att bygga en ny verkstadslösning för prototyptillverkning för att bättre kunna anpassa prototypandet till agilitet.
|
10 |
Implementation and Characterisation Testing of a PCDU for NanosatellitesGouvalas, Spyridon January 2023 (has links)
Satellite power management systems play a crucial role in ensuring the operational success andlongevity of satellite missions. As satellites operate in the harsh environment of space, efficient powermanagement is essential to maximize energy utilization, maintain stability, and extend mission lifespans.Within the framework of the Avionics department, CNES has acquired the Power Conditioning andDistribution Unit (PCDU) GOMSPACE P60, in order to demonstrate the reliability of Commercial Offthe Shelf (COTS) products and viability of a low-cost satellite architecture. In this thesis, the integrationand characterization of the GOMSPACE P60 PCDU is presented. This internship consisted of mainlythree objectives. The development of the software needed to control the equipment, the development ofa graphics unit interface (GUI) for housekeeping data visualisation and the preparation, carrying out andreporting of different performance tests. Some of the main characteristics of the system assessed, includethe high adaptability that it has based on the mission requirements. The equipment appeared to notprovide easy access to the design after delivery, but it functions nominally upon delivery. It is robust inlow or high temperatures as well as in harsh (electromagnetic interference) EMI perturbations. Thiselectrical power system (EPS) allows for high control of its board parameters and observability of thetelemetry data. However, this command control is hard to integrate based on the supplied C libraries andthere were occasional unexpected behaviours from the system. Based on the assessment done duringthis internship, it could replace previously used PCDUs that have lesser performance and higher cost infuture nanosatellites low cost missions such as student or proof of concept missions. However, thelimited information and details provided in the data package by the distributor, makes the equipmentinsufficient for larger missions. Higher level of analysis and qualification is required for this scope,based on the common requirements and standards followed by the agency.
|
Page generated in 0.0887 seconds