Notizen eines Flugsimulations-Enthusiasten

中文 English 日本語 Français Deutsch Español 한국어 Русский 繁體中文

Titel: X-Plane 12.1.0 (Beta 1) Versionshinweise

X-Plane 12.1.0 Beta 1 ist endlich erschienen. Wenn man sich die langen Release Notes anschaut, gibt es wirklich viele Verbesserungen. Im Folgenden finden Sie eine Übersetzung einiger Inhalte, die mich persönlich interessieren.

Allgemeine Updates

  • Wolken werden jetzt auf Voxelebene gemischt, nicht mehr auf METAR-Ebene. Dies behebt Probleme mit Pyramiden, Würfeln und anderen offensichtlichen Formen.
  • Das Wetter in der Nähe von METAR-Stationen wird unter Verwendung eines geglätteten Voronoi-Diagramms und nicht der Hebelmethode gemischt, was an Flughäfen zu realistischeren METAR-Bedingungen führt.
  • Die interne Code-Struktur wurde überarbeitet, um die Interaktion zwischen Hüllen, Momenten und der Simulation zu glätten.
  • Der Downloader wurde neu geschrieben und lädt das aktuelle Wetter schneller herunter.
  • Ein neuer Wetterserver wurde aktiviert, der METAR-Daten widerstandsfähiger macht und das Debuggen durch Wiedergabe markierter alterm Wetterdaten ermöglicht.

Wolkenschatten im Weltraum

  • Diese Änderung verschiebt die Wolken- und Schatten vom STR-Raum in einen dem normalen Schatten ähnlichen Weltraum. Dies entkoppelt die Wolkenschatten von der Wetterdomäne. Die Registrierung zwischen Wolken- und Weltraumschatten wurde verbessert.

Turbulenz

  • Das Turbulenzsystem wurde verbessert und bietet ein glatteres Erlebnis, insbesondere rund um Kumuluswolken.

Vereisung

  • Die Vereisungseffekte für mehrere Flugzeuge wurden aktualisiert (A330, B737, C90 und Citation X).
  • Vereisung basierend auf Oberflächennormalen und Windrichtung. Orientierungsvereisung wurde hinzugefügt, selbst ohne Wärmequelle.
  • Es gibt jetzt gefrierenden Regen und Eis, und einige zufällige thermische Inversionen führen ebenfalls zu Vereisung.
  • Unterstützung für überlappende Wärmequellen hinzugefügt.

Controller-Unterstützung

  • Vollständige Unterstützung des Controller-Protokolls.
  • Das Wettersystem unterstützt das Zeichnen von Gewitterzellen über Controller.

Bugfixes

  • IMC-Voreinstellungen haben Stratuswolken, um Turbulenzen beim IMC-Training zu reduzieren.
  • Die Wolkenbasis verdickt sich schneller für einen besseren Übergang in IMC-Bedingungen.
  • Ein Bug wurde behoben, bei dem die Wolkenbasis unter Bedingungen mit niedriger Decke zu hoch war.
  • Mehrere METAR-Parsing-Fixes.
  • Wetterkarten zeigen Raster-GRIB-Daten genauer an.
  • TCP-Verbindungen unterstützen IPv4 auf Dual-Stack-Maschinen (erforderlich für die Controller-Unterstützung).
  • Fehler an der Wolkenbasis behoben.
  • Die Wolkenbasis wurde repariert, sodass sie enger ist und fehlende Boden-Voxel korrigiert. Dies verbessert den Zustand der Wolkenbasis teilweise.

Grafik

Core-Engine

  • FXAA ist immer aktiviert, wenn MSAA ausgewählt ist.
  • Verwendung von “Coverage to Alpha” auf Alpha-getesteten Oberflächen bei eingeschalteter MSAA für höhere Qualität.
  • Die MSAA-Lösung ist jetzt szenenbezogen, um bessere visuelle Effekte zu bieten.
  • Tiefenschärfe.
  • RCAS-Optionen im Einstellungsmenü freigelegt.
  • Benachrichtigung im Einstellungsmenü, wenn Texturen aufgrund von VRAM-Druck heruntergerechnet werden.
  • VRAM-Verbesserungen, da mehr Daten in Diagrammen vorhanden sind und Diagramme Speicher besser zuweisen können.
  • Glätte Schatten.
  • Wolken- und Schatten auf Wasser.
  • Drastisch verbesserte Neu-Back-Zeit der Render-Diagramme.
  • Verbesserte Qualität von Wolken- und Atmosphärenstreulicht.

Blitze

  • Blitze haben eine leichte Farbe.
  • Fernblitze werden etwas blasser.
  • Nahe Blitze werden etwas dicker.
  • Der Anfangsteil des Blitzes verblasst allmählich.
  • Lichtüberstrahlung bei Blitzen war zu groß.
  • Verbesserte Schallentfernungsreaktion.

Neue Partikeleffekte

  • Das Partikeffektsystem unterstützt Partikel, die bei Kontakt mit dem Boden auftreten.
  • Der Partikeleditor unterstützt jetzt Funktionen zum Kopieren/Einfügen.
  • Neue Datenreferenzen zur Unterstützung von Partikeleffekten.
  • Neue integrierte Effekte umfassen JATO (Jet Assisted Take-Off), Brandbekämpfung, Wasserbombenabwurf, Bodenabrieb und Rotorwaschung.
  • Optionen zum Überschreiben in der ACF, um bei Bedarf die neuen Effekte nicht zu verwenden.

Gewässer

  • Das Modell für die Wassertrübung wurde behoben: Wasser ist nicht mehr völlig transparent.
  • Die Farbe und Klarheit des Standardwassers variiert je nach Standort (z. B. ist Wasser in der Nähe von SABE undurchsichtig und trübe, während Wasser in der Nähe von MBPV fast klar und türkis ist).
  • Wolken- und Schatten sind auf Wasser deutlicher sichtbar.
  • Ein Bug mit Fotolandschaftspaketen, die Wasser verwenden, wurde behoben.

Automatische Generierung

  • Verbesserte Bebauung für europäische Wohngebiete mit hoher Dichte.
  • Verbessertes Generierungssystem für geparkte Flugzeuge am Flughafen. Das System wählt immer das größtmögliche Flugzeug basierend auf der Parkposition Größe.

Systeme und Avionik

G1000 Verbesserungen

Start-Bildschirm

  • Zeigt das Ablaufdatum der Navigationsdatenbank und die X-Plane-Version (und somit die Version der globalen X-Plane-Flughäfen) an.

Navigationsseite

  • Standardnavigationskarte: Optionen für ADS-B-Verkehrssymbole und die Anzeige von METARs hinzugefügt.
  • Verkehrskarte: Zeigt ADS-B-Verkehrsziele mit präzisen Geschwindigkeitsvektoren (anders als beim alten TCAS wissen wir genau, in welche Richtung andere Flugzeuge fliegen) sowie Flug-IDs/Kennzeichen. Der Verkehr kann gefiltert werden nach normaler Höhenbereich (Standard), über (für Steigflug), unter (für Sinkflug) und uneingeschränkt (um Verkehr auf allen Höhen zu sehen).
  • SturmDetektion: Zeigt Blitzaktivität rund um das Flugzeug durch passive Erkennung von elektrischen Entladungen an.
  • Datenwetter: Zeigt während des Fluges empfangenes Wetter über ADS-B oder XM-Satellit an, einschließlich NEXRAD-Radarkarten, Blitzen, Wolkenbedeckung, Höhenwind und METARs.
  • Gelände: Zeigt obere Geländewarnungen an.

Wegpunkt-Seite (WPT Page)

  • Flughäfen: Zeigt Informationen zu jedem Flughafen an. Abrufen decodierter METAR-Berichte für jeden Flughafen (in der Realität über ADS-B oder XM empfangen).
  • Kreuzungen: Zeigt Informationen zu jeder Kreuzung an, einschließlich des nächsten VOR.
  • NDB, VOR: Zeigt Informationen zu jedem Funkfeuer an, einschließlich des nächsten Flughafens.

Hilfsseite (AUX Page)

  • GPS-Status: Zeigt die aktuelle GPS-Genauigkeit und den GPS-Status an (ob DIFF NAV verfügbar ist). Zum Training kann SBAS deaktiviert werden.
  • LRU-Systemstatus: Zeigt den Status aller LRUs (Line Replaceable Units) des G1000 an und hilft bei der Fehlererkennung. Ermöglicht die Überprüfung des Navigationsdatenbankzyklus.

Reversion-Mode

  • Beim Kaltstart bleibt das PFD im Reversion-Mode, bis der Pilot die Datenbank am MFD bestätigt.

Neue Datenreferenzen (Datarefs)

  • Neue Datenreferenzen hinzugefügt, um die aktiven Seiten und Overlays abzufragen.

Systemerweiterungen für Auftriebklappen (Flaps)

Johnson-Stange Auftriebklappen

Die Piper PA-28 verfügt über eines der einfachsten Auftriebklappen-Systeme der Welt. Es ist vollständig manuell, benötigt keinen Elektromotor und gibt dem Piloten die direkte Kontrolle über die Auftriebklappen. Die Johnson-Stange zwischen den vorderen Sitzen ist direkt mit den Auftriebklappen verbunden, was dem Piloten ermöglicht, die Auftriebklappen nach Belieben schnell oder langsam zu bewegen, und sogar, während er die Stange festhält, die Auftriebklappen etwas weiter als die letzte Raststellung auszufahren. Das präzise Einstellen der Auftriebklappen ist eine erprobte Technik, die von Flugzeugführer-Schülern häufig bei der Landung ohne Schub aus 180 Grad verwendet wird.

Daher verfügt X-Plane jetzt über ein neues manuelles Auftriebklappen-System. Sie können es in Plane Maker aktivieren, indem Sie die Option “Johnson-Stange Direktverbindung” im Abschnitt “Steuerungsgeometrie” auswählen, in dem Sie die Auftriebklappen-Raststellungen einstellen können.

Wenn diese Option aktiviert ist, sind der Auftriebklappenhebel und die Aufweitkklappenausfahrung direkt verbunden und weisen einige neue Verhaltensweisen auf, verwenden aber alle vorhandenen Befehle:

  • Wenn Sie den Befehl zum Heben/Senken der Auftriebklappen kurz antippen, sehen Sie sofort, wie sich die Auftriebklappen bewegen (schnelles Hochziehen des Hebels).
  • Wenn Sie den Befehl gedrückt halten, sehen Sie, wie sich der Hebel gleichmäßig bewegt (unter Einhaltung der in Plane Maker eingegebenen Bewegungszeit).

Auf diese Weise können Sie die Auftriebklappen präzise einstellen. Wenn Sie beispielsweise die Taste “2” dreimal schnell drücken, können Sie den Hebel schnell hochziehen (Klick, Klick, Klick). Wenn Sie die Taste “2” gedrückt halten, gleitet der Hebel gleichmäßig zur nächsten Stufe. Lassen Sie los und halten Sie sie erneut, um zur nächsten Stufe zu gelangen.

  • Wenn die Auftriebklappen vollständig ausgefahren sind, können Sie durch Gedrückthalten der Taste “2” die Auftriebklappen auf 110 % ausfahren. Sobald Sie loslassen, kehren sie sofort zurück.
  • Wenn ein Joystick-Achse den Auftriebklappen zugewiesen ist, folgt diese direkt der Joystick-Achse ohne Verzögerung.
  • Die volle Ausdehnung der Joystick-Achse entspricht 110 % Ausfahrung.
  • Alle Datenreferenzen für den Auftriebklappenhebel akzeptieren jetzt Eingaben im Bereich 0–1,1, und der Hebel wird sofort ohne Verzögerung mit den Aufweitklappen synchronisiert.

Auswahl-Aufweitklappen

Auswahl-Aufweitklappen sind ein System, das bei McDonnell-Douglas-Flugzeugen eingesetzt wird und es Ihnen ermöglicht, beim Start任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意任意