FlightGear Newsletter May 2021

From FlightGear wiki
Jump to navigation Jump to search

Magagazine.png
Enjoy reading the latest edition!
Please help us write the coming edition!
May 2021

We would like to emphasize that the monthly newsletter cannot live without the contributions of FlightGear users and developers. Everyone with a wiki account (free to register) is welcome to contribute to the newsletter. If you know about any FlightGear related news or projects such as for example updated scenery or aircraft, please do feel invited to add such news to the newsletter.

Development news

Note  FlightGear is currently undergoing a lot of huge changes. More importantly: Adopting OSG 3.6+[1], moving to the OpenGL core profile, WS 3.0, Osm2city buildings, Photoscenery and Compositor shadows & lights.

In addition, adopting OSG 3.6 means that the experimental CompositeViewer Support can be more widely enabled and tested[2] (it is already enabled by default on next).

Also, as part of the CompositeViewer effort, Canvas FBO rendering is in the process of being moved out of the scene graph into dedicated viewer-level cameras, which provides better support/integration with OSG threading and fixes the long-standing issue where Canvas textures were being rendered twice per view unnecessarily due to the original new/far camera scheme.

Furthermore, to support Canvas (actually CanvasPath/all SVG handling) on Core profile, the plan is to migrate our Canvas Path backend from Shiva to ‘something else’ (see Shiva Alternatives) which implements the required drawing operations, unlike Shiva, ShaderVG or NanoVG can target Core-profile OpenGL.[3]

It is likely the non-shader code path (fixed-function pipeline) will also go away in the next twelve months (~ early/mid 2022). We tried to communicate this: 2020.3 is the last release that will work on really old hardware: 'next' and future releases will need a more modern machine with an OpenGL 4 / DX12 class GPU.[4] 'next' is work-in-progress: likely 12 or 18 months before it becomes a release. In that time the build dependencies, minimum system requirements, performance baseline and basically everything else are going to change (and keep changing). Of course, we'll try to make it work on as wide a range of hardware as possible, but right now we don't know, and it would be incorrect to speculate or promise anything. (Eg, we cannot say 'an Intel 4000 will work but an Intel 3000 won't - we have no idea!)

If 'next' works for someone, that is great, but if you want stability, stable FPS and compatibility with older hardware, there is an easy answer: use 2020.3. That's what we recommend for everyone who wants to fly and enjoy flying. [5] The macOS and Windows nightly builds are now running OSG 3.6.5, so people can hopefully start testing WS3.0 [6] Also, be aware that the binary builds also switched to OSG 3.6, so that may have an FPS impact as well (either higher or lower…)[7]

FlightGear 2020.3.9 release preparations

As of the end of May, preparations are underway for the 2020.3.9 LTS point release (with bug fixes and some stabilised improvements/tweaks). This follows the point 2020.3.8 release which added 3d models of buildings, roads, other objects for the whole world based on OpenStreetMap data, as well as other improvements - see the April newsletter for details and tips on settings/performance.

2020.3.9 release candidates are already available download.flightgear.org. This includes the web-installer for Windows (see below). To test the web-installer download FlightGear-2020.3.9-web-rc.exe which is only 59MB.

Please test and report bugs or issues via the Sourceforge ticket system or the "fg-devel" mailing-list.

Web installer for Windows with 2020.3.9

The current plan is to make a web installer available for the 2020.3.x LTS when it is finished and tested - starting with the the upcoming 2020.3.9 release.

Slawek and James have been working on a new FlightGear Windows installer that will download most of the content from the web in compressed form - e.g. from Sourceforge servers. This installer has the ability to download more than 2GB of compressed content, and avoids the 2GB limit of the current innosetup installer configuration. The plan is to also eventually allow in-place updating when a new point release is published of the LTS - the idea is to download only the changed files (incremental updates). Downloading only changed files is faster, and hugely reduces bandwidth demands placed on Sourceforge. Recent installers (e.g. 2020.3.8 LTS) will also look for updates and notify users. This means that a lot of people will get bug fixes very quickly, and in-future, it should be convenient to have frequent releases with one or a few fixes as they become available. With the auto update feature there's not much reason to panic if a bug or issue has been found in your work - the fix can be distributed very quickly to the large majority of users (with the regular point release format it was pretty quick compared to previous times anyway).

The road ahead

See Help Wanted.

There are a lot of big projects that are currently under way - see the January newsletter for details for some of these projects. A lot of work (but not all) is already on the next branch (i.e. nightly builds). See the April newsletter for info on an experimental rendering pipeline that is not yet on the next branch. There is a lot to check out if you are curious - power users can run multiple installs of FlightGear in parallel. To contribute to any aspect of these projects, get in touch via the "fg-devel" mailing list.

Nightly builds with some of the big changes are available at download.flightgear.org as usual.

Nightly builds and the "next" branch are building towards a "development preview" release currently planned for sometime in the 2nd half of 2021 - see the April newsletter. As usual, plans can change and progress depends on the availability of contributors (including testing).

Please report bugs and issues via the sourceforge tickets system if you come across any on the next branch, or LTS.

Text animations and OSG 3.6

Fernando pushed two commits to simgear and fgdata that should hopefully fix the white osgText issue under OSG 3.6. Apparently assigning an Effect to the geode containing the osgText was enough to get it working. He thought it would conflict with OSG internal shaders, but it didn't. This might not be the case with the core profile, but has got a few tricks which should force our shaders to prevail over OSG's.

Anyway, Fernando tested it and it looks fine to him. If someone who is more used to using osgText can report if the fix was successful and the text looks exactly the same as before, it would be greatly appreciated.[8]

It is vital that people report back if this fix works for them or not, since the osgText issue has been preventing us from adopting OSG 3.6, and OSG 3.6 can be considered a prerequisite for some other core development efforts, namely WS30, Compositor and CompositeViewer Support - furthermore, once we can safely require OSG 3.6, it is also much more likely that we'll get support for Canvas Cameras (for features like tail cams, rear view mirrors, shuttle RMS arm etc).

Thus, please report back via the developers mailing list and/or the issue tracker.

World Scenery 3.0

World Scenery 3.0 (WS3) is FlightGear's next generation scenery - see the January newsletter for an introduction, and newsletters since then for updates. WS3 combines the benefits of different scenery approaches like WS2 and (raster) photoscenery without drawbacks, a bit like how the Compositor added shadows for certain cases and environmental lights that Rembrandt had without the performance drawbacks.

As of writing this, the World Scenery 3.0 prototype is almost ready to be activated in the Windows nightly builds. See the April newsletter for details on how the prototype will be fleshed out. WS3 development is coordinated via the "fg-devel" mailinglist, and you can use it to contribute, provide feedback on performance on your hardware as the prototype is fleshed out, or report bugs.

Related Software tools and projects

FGCom-mumble

FGCom-Mumble aims to provide a mumble based FGCom implementation. This will simulate radio communications in a seamless frequency spectrum. The project aims to be easy to use: Pilots just install the plugin, open mumble, join a channel on a mumble server and start using their radio stack in Flightgear.

The development is discussed in the FGCom-mumble topic on the forum This is a link to the FlightGear forum.. Releases can be downloaded from GitHub. The project also has a flightgear wikipage: FGCom-mumble

Release 0.13.0 restructures release files. Windows updater broken....

The release 0.13.0 is the last one to feature the binOnly release ZIP. In the future there are just two packages: one for everything client related (packaging the FGFS addon, the RadioGUI and of course the mumble plugin), and one for the server side (lua bot scripts, status webpage). This makes downloading and installing much easier.

Mumble will notify about plugin updates, but the updater is currently broken on windows, so you have to unzip the package and install the matching DLL by hand for now (just select it from mumbles plugin install dialog). The issue is already reported to the mumble team as Issue 4946.

Release 0.14.0 brings bugfixes, a new COM3 and ADF2

The next 0.14.0 release will contain a workaround for this:

  • 64bit mumble platforms should be able to directly fetch the new plugin version using the mumble updater.
  • 32bit windows will need a manual reinstall of the plugin with the current version. For win32 we temporarily deliver a separate download as long this issue is open, which will be fetched from the 0.14.0 (and onward) update engine on that platform.

Please don't forget to fetch the "new" normal release package fgcom-mumble-<version>.zip and also install the the current version of the FGFS addon.

Recently for the release 0.14.0 Colin added better support for Airliners: now we have support for COM3 and ADF2. As there are no keybinds for COM3 in FGData yet, I added a new COMBar, which can be opened from the Multiplayer/FGCom-mumble menu entry. It displays a small GUI element containing all known COM radios as buttons, which can be used to activate PTT for the radio.

Map mumbles inegrated PTT to FGCom-mumble radio PTT

0.13.0 brought a new feature to map mumbles own standard PTT keybinding to FGCom-mumble radio instances. You can use this to activate arbitary radios when pushing mumbles own PTT button.

This is configured in the (optional) fgcom-mumble.ini file. The default is that mumble's PTT will activate COM1. For Airliner pilots this may also be a good option to bind this to COM3, so you can activte COM1/COM2 trough the old FGCOM-Keybinds out of flightgear, and COM3 from mumble itself :)

ATIS playback fixed

Up until recently there was a bug in the underlying *lua-mumble* library for the server-bots. That problem manifested in the playback-bot going silent after a few minutes of transmitting. This was fixed, and I successfully run a test playback at EDDM for 48 hours.

In the hangar

EC 130 B4 sitting on the tarmac in dawn with lights on- showing compositor lights with ALS and Advanced weather
Airbus H130 T2 hovering above a lake on Hawaii near PHNL

News

The Eurocopter EC130 B4 and Eurocopter EC 135 helicopters are quite popular among helicopter fans in FlightGear. It´s main author and long term aircraft developer HHS, whose work in models, fdm, systems and instruments is used by many other helicopter and aircraft projects, is currently working on updating them. With the compositor pipeline, it is now possible to have shadows, lights and ALS all together- the aircraft needs some changes to make them work with. There will be also many other improvements. You can expect the finish results around early summer in FGAddon. Stay tuned!

New aircraft

Hughes MD500D

FGUK and StuartC have released a MD Helicopters MD 500D This is a link to a Wikipedia article for FlightGear. See the forum thread for more information, screenshots and download.

Lockheed P2V Neptune

Helijah has released a Lockheed P2V Neptune This is a link to a Wikipedia article for FlightGear based on the YaSim FDM. This is available directly from the FlightGear Qt launcher - search for "neptune" or browse. See the forum thread for more information and screenshots.

The Lockheed S3 Viking

Helijah has released a The Lockheed S3 Viking This is a link to a Wikipedia article for FlightGear based on the YaSim FDM. This is available directly from the FlightGear Qt launcher - search for "s3" or "viking", or browse. See the forum thread for more information and screenshots.

Updated aircraft

Pottier P130

The Pottier P130 UltraLight has received a new, JSBSim FDM as well as a lot of fixes and systems updates, based on the little data that is available.

Diamond HK36

The Diamond HK36 got also various fixes and additionally its interior was substantially improved, featuring now a detailed engine control quadrant and more. It also comes with another variant now, the -TC with a Rotax 912 engine.

F-16

The General Dynamics F-16 Fighting Falcon has been updated, this is some of the changes:

  • Helmet mounted off-bore display
  • Forward looking Infrared (FLIR) capability in the HUD.
  • Reworked steerpoint, markpoint, bulls-eye, threat-circles system.
  • Link16 by Colin, including possibility to send any points over the datalink.
  • Auto release program for chaff and flares.
  • CCIP aiming for hydra rockets.
  • New cannon aiming mode: STRF (strafe).
  • Bunch of new liveries by Bat.


Scenery corner

Photoscenery generator for Julia compiler

The G91R1B taking off from LIME with 32 Kpixel photoscenery

There had been talk of photoscenery for FGFS for years, but very little had been done to create a practical solution for everyone. Then the breath of fresh air coming from Flight Simulator 2020 gave the stimulus to try something similar also for FGFS. The result was to insert, in the development code, the system for loading the orthographic images to be spread over the 3D scenario instead of the classic textures linked to the type of territory. At the beginning of this adventure, I had done some tests noting that everything worked pretty well and the performance of the program was still good.

I then looked for a way to download blocks of images quickly and methodically and so I found this excellent software by the talented Nathaniel published at this link

The software is mainly written in Python for the image download part and in Perl for the area management part to cover a territory with orthographic images. I have been using the program for several weeks with satisfaction, but when my friends, from the Italian Flightgear forum on Discord "FG ITA Mercenaries", started asking me how to make it work on Windows 10 I had to waste a lot of time organizing a solution based on Linux Bash Shell.

It worked, but it was not very practical and then had various problems due to the difficulty of managing thousands of images and downloading, it had very long download times, the problem of resuming operation from an interruption, downloading very large images, such as 32K pixels (1GB image). Then there was the problem, for many of my forum friends, in using the Bash Shell.

Why use Julia and not Python

At this point I had made the decision to get into the code and make the additions that I deemed necessary to solve the problems reported by my friends. The code was written in Python, but I had noticed that many users also found it difficult to install Python 3 and the various libraries needed to make the program work.

However, in the meantime, for professional reasons, I was studying a programming language called Julia (https://julialang.org).

This language which is suitable for handling engineering, math and physics problems in a very efficient way and with full support of multi CPU and GPU systems. The language was developed in MIT with a respectable pedigree: Amazon, DARPA XDATA, Intel Science and Technology Center for Big Data, Saudi Aramco, MIT etc ... The good thing is that Julia installs very easily on any OS, all libraries are written directly in Julia and therefore can be run, without modifications, in any environment where the Julia compiler has been installed.

This means that I could make the software directly on my Linux Ubuntu PC and see it running on Windows, MAC .. Raspeberry without modifying anything! Not only that, but Julia is one of the fastest compilers that exist, it is on the level of C ++, but sometimes it surpasses it in speed, this is the reason why all the libraries are written in Julia and not with the usual C, C ++ or Fortran. It is a language made to chew numbers and AI programs and simulators for Quantum Computers, to replace Math CAD, R etc. The replacement of these languages has led the vast community of programmers to create many Julia libraries, all of which are lightning-fast and feature-rich.

At this point I decided to use Julia to write the program that could download the scenarios easily and quickly in FGFS.

The Photoscenary.jl program

The program was born with a name that is the Italian pronunciation of the word "photoscenery", the extension "jl" indicates that it is a program written in the Julia language.

The program exploits several Julia libraries in order to obtain a simple and fast code. The only problem is that there is no library for converting PNG images to DDS, but this must be done by a graphics processing program called ImageMagick it is also possible to use only PNG images to avoid using ImageMagick, but unfortunately this format slows down the operation of FGFS a lot and so I immediately discarded it.

Using the photoscenary.jl program

The program manual was written in the FGFS wiki at this address:

https://wiki.flightgear.org/Julia_photoscenery_generator

where it is possible to have all the necessary instructions for its installation and use, the program can currently be downloaded from my GIT with GPL2 license:

https://github.com/abassign/Photoscenary

You run the program by placing us with a console (Linux, Mac) or command prompt (Windows) in the directory ~ / Photoscenary by typing the command:

julia photoscenary.jl

This is how it already works and starts downloading an area of 10 nm radius around the LIME airport (Bergamo, Italy), so if you take off from that airport you can test the operation of the program and observe the results it produces.

If you want to see the scenery in another airport area (The program contains a database with over 60,000 ICAO airports) you have to add an option:

julia photoscenary.jl -i LOWI

The -i option is an airport selector that we want to use as reference coordinates. The parameter can be an ICAO abbreviation or the name (even partial) of the airport or the location.

From the LOWI airport (Innsbruck) there is a nice route that connects it with LIME passing through the Alpine area of the Dolomites, then takes a turn on the city of Verona (The city of Romeo and Juliet) and finally lands in LIME. This route is described by a file created with the FGFS Route Manager, the file has been inserted in the GIT, and then just type:

julia photoscenary.jl --route LOWI-LIME.xml

The program starts downloading almost 200 images of 2K pixels in about twenty blocks of process. If now we want to make everything faster we can insert the turbo:

julia -t 10 photoscenary.jl --route LOWI-LIME.xml

With this option the download speed increases by 2-10 times as we have authorized Julia to use up to a maximum of 10 CPUs (if any) of the PC. Thinking your system is slowing down? No, it doesn't slow down, you can continue to use FGFS without noticing anything, unless your system is old and maybe with a 2 CPU processor from 10 years ago.

The real limit is the speed of the Internet and how much the provider, which releases the orthographic images, is willing to give you. Normally, in my system, 2K pixel images download at the rate of one image every 2 seconds .. those at 4K (already very good for a VFR flight) at a rate of one image every 4 seconds.

This means that in the future, if our FGFS developer friends so wish, the program could load the scenario directly, while flying.

If we want to enlarge the area where the photoscenery is visible (by default it is 10 nm) we must add the -r option which defines the radius within which the images will be downloaded, for example we download the images in a radius of around 100 nm to the airport, with -r 100 option:

julia -t 10 photoscenary.jl -i “orio al serio” -r 100 -s 3

In summary, this command indicates that we download an area with Orio Al Serio (LIME) in the center, for a radius of 100 nm at the resolution of 4K pixels per image, the -s parameter can vary from 0 (512 pixels) to 6 (32768 pixels) and, in this case, -s 3 means a 4K pixel image.

We can also change the image server, there is the --map option followed by a number which is 2 for the US server (all the United States) or 3 for Spain.

Finally, another useful option is --over followed by a number that defines how the program behaves when it encounters an image already loaded, for example: --over 1 replaces the image it finds already inserted only if it has a smaller resolution of the new one. If, on the other hand, --over is not declared or is set to zero, the program does not download the image if it is already present. In this way it is possible to have differentiated areas in the resolution of the images.

I hope with this I have explained this project and have given you the curiosity to try it.

You can ask anything at this FGFS forum post:

Photoscenery generator for Julia compiler:

https://forum.flightgear.org/viewtopic.php?f=5&t=39066

Scenery releases

pb321 is working on, or has released custom sceneries for parts of the USA. These are first iterations:

  • Central Wisconsin Upper Peninsula of Michigan. Airports included: KOSH (Oshkosh, WI, home of the EAA AirVenture airshow), KATW (Appleton, WI), KGRB (Green Bay, Wi) etc. The package includes rebuilt elevation data based and landclass data, as well as an OSM2City build for the region. There are custom materials and textures, as well as some optional orthophotos. See forum thread for more info, screenshots (downloads are upcoming).
  • Champaign/Bloomington, Illinois to Chicago and Milwaukee scenery. Includes rebuilt terrain with updated landcover data. See forum thread for more info, screenshots, and download/

lomar is working on a project creating updated terrain, airports, and regional definitions for Brazil. He has released some scenery and airports as parts of his test runs - see the last few pages of his forum thread for info, downloads, and screenshots.






Help wanted

Post LTS work

After the 2020.2 release, some work lies ahead to improve the LTS and to help us pave the way for migrating to the OpenGL Core profile - any help would be greatly appreciated.

This may for example include:

Please get in touch via the developers mailing list to learn more. See Post FlightGear 2020.2 LTS changes and 2022.X Release Plan for more details.

World Scenery 3.0

The FlightGear project is in the process of exploring how Virtual Planet Builder can be adopted. For details, see: World Scenery 3.0 roadmap

Aerial (drone) photos for Terrain textures

Wanted: good top-down aerial photos to create textures from to use with the procedural Regional Texturing system. Drones This is a link to a Wikipedia article with cameras are ideal. People with access to drones are in a good position to take high-quality photographs.

A particular need as of 2020 is photos of agriculture (farm lands) from different parts of the world.

Good GPLv2 compatible photos suitable for textures are hard to find, and an easy way is for people to take photos of their region. Flightgear's procedural systems can do a lot with less art content, so photo contributions can strongly improve visuals.

See: How to: take photos of terrain for textures. For examples of final textures: see /data/Textures/Terrain. e.g. UK countryside.

You can get in touch via the Scenery forum or the flightgear-devel mailing list

Photos of trees for textures

Wanted: good quality photos of different trees and vegetation from various parts of the world. Flightgear's vegetation system can handle multiple layers of trees and bushes.

Strong shadows should be avoided. Each tree should be against a background of a different colour: sky (preferably) , clouds , or buildings. This allows the tree to be separated from the background in a photo-editor like GIMP.

See: How to: take photos of vegetation. For examples of final textures: see /data/Textures/Trees. e.g. Coniferous.

You can get in touch via the Scenery forum or the flightgear-devel mailing list.

Submissions of labels for craft

Wanted: Submissions of labels (tags) giving a rough description of aircraft - Metadata tags. A quick read of a craft's Wikipedia page will normally be enough to set labels. This info will be searchable from the launcher GUI. For example, filtering craft by propulsion like single-propeller or 4-engine jet craft, or by a manufacturer like Airbus or Grumman, or by speed like supersonic craft, or craft by era like WW2. A list of tags is here - more can be added if needed. To add tags to craft yourself, the tags are stored in the set-xml file.

A list of FGAddon craft needing tags is here. See this forum thread to submit tags. The flightgear-devel mailing list or the craft's maintainer can also be contacted.

Windows Package Maintainer

The core team needs help from Windows users able to maintain a good working Windows build. This process already exists to support our Nightly and Release builds, but we are seeking additional help to keep it in good working order. The ability to compile FG from source and some Windows batch scripting is a required skill. If you are willing and able to take up this role, please reach out to James Turner (mailing list), or get in touch via the forum [9]

AI

The AI team makes FlightGear more realistic, colorful and lively every month. You can support the development of Interactive Traffic and contribute at the FlightGear AI subforum This is a link to the FlightGear forum..


Community news

Wiki updates

  • The Soaring Article was greatly enhanced, especially for beginners. If you ever wanted the experience of being lifted up just from the air, you really should try it. It is a unique challenge and will sharpen your aviation skills :) Last but not least, it's alot of fun!

FlightGear on Facebook

Since early December 2010, FlightGear has an official Facebook page. If you have a Facebook account please feel free to join the page.

FlightGear on Instagram

In January 2018 the @flightgear_sim Instagram account was brought back to life. If you've got nice screenshots to be featured, feel free to contact the maintainer This is a link to the FlightGear forum..

FlightGear on FlightSim.com

FlightGear has also a sub-forum on flightsim.com - just like the commercial flight sims. It is an opportunity to showcase what FG can do, get people curious and answer any questions they may have with regard to the software or the project.

Multiplayer events

Upcoming events

The wednesday GA flight group is still active :) Everyone is welcome, we coordinate in the forums.



Contributing

Translators needed

En.gif The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at Help:Translate.
Fr.gif Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire Help:Traduire.
De.gif Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem Help:Übersetzen an.
Nl.gif De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij Help:Vertalen.
Es.gif La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en Help:Traducir.
Cat.gif La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a Help:Traduir.
Pt.gif A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em Help:Traduzir.
Zh.gif FlightGear 百科仍然需要志愿者将其翻译为各种语言。如果你有兴趣让FlightGear百科支持更多语言, 你可以查看 Help:Translate.

FlightGear logos

If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit FlightGear logos for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.

Screenshots

The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings (anti-aliasing, texture sharpening, etc.). More info at Howto:Make nice screenshots.

Screenshot of the Month

If you want to participate in the screenshot contest, you can submit your candidate to the this subforum This is a link to the FlightGear forum.. Be sure to see the first post for participation rules. For purposes of convenience and organization, at the end of the month or after 20 entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there.

Thanks for reading FlightGear Newsletter May 2021!

References