text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de">
<context>
    <name>AskUpdateDialog</name>
    <message>
        <location filename="../imports/autoupdaterquick/AskUpdateDialog.qml" line="+18"/>
        <source>Check for updates?</source>
        <translation>Nach Updates suchen?</translation>
    </message>
    <message>
        <location line="+11"/>
        <source>Do you want to check for updates now?</source>
        <translation>Möchten Sie jetzt nach Updates suchen?</translation>
    </message>
</context>
<context>
    <name>ComponentsPage</name>
    <message>
        <location filename="../autoupdaterwidgets/componentspage.ui" line="+14"/>
        <source>Select Components</source>
        <translation>Komponenten auswählen</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Select the components you wish to install.</source>
        <translation>Wählen Sie die Komponenten aus, die Sie installieren möchten.</translation>
    </message>
</context>
<context>
    <name>ErrorPage</name>
    <message>
        <location filename="../autoupdaterwidgets/errorpage.ui" line="+14"/>
        <source>Installation failed!</source>
        <translation>Die Installation ist fehlgeschlagen!</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>The installation could not be completed because of an error during the installation. The error message can be found below.</source>
        <translation>Die Installation konnte aufgrund eines Fehlers während der Installation nicht abgeschlossen werden. Die Fehlermeldung finden Sie unten.</translation>
    </message>
    <message>
        <location line="+68"/>
        <source>Unknown Error…</source>
        <translation>Unbekannter Fehler…</translation>
    </message>
</context>
<context>
    <name>InstallPage</name>
    <message>
        <location filename="../autoupdaterwidgets/installpage.ui" line="+14"/>
        <source>Install Updates</source>
        <translation>Updates installieren</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Updates are ready to be installed. Press <Install> to start the installation.</source>
        <translation>Updates können jetzt installiert werden. Drücken Sie <Install> , um die Installation zu starten.</translation>
    </message>
    <message>
        <location line="+28"/>
        <source>Show Details</source>
        <translation>Details anzeigen</translation>
    </message>
</context>
<context>
    <name>InstallView</name>
    <message>
        <location filename="../imports/autoupdaterquick/InstallView.qml" line="+11"/>
        <source>Install Updates</source>
        <translation>Updates installieren</translation>
    </message>
    <message>
        <location line="+31"/>
        <location line="+8"/>
        <source>Cancel</source>
        <translation>Abbrechen</translation>
    </message>
    <message>
        <location line="+64"/>
        <source>Details…</source>
        <translation>Details…</translation>
    </message>
    <message>
        <location line="+11"/>
        <source>Install</source>
        <translation>Installieren</translation>
    </message>
    <message numerus="yes">
        <location line="+75"/>
        <source>%n%</source>
        <translation>
            <numerusform>%n%</numerusform>
            <numerusform>%n%</numerusform>
        </translation>
    </message>
    <message>
        <location line="+26"/>
        <source>Installation failed!</source>
        <translation>Die Installation ist fehlgeschlagen!</translation>
    </message>
    <message>
        <location line="+12"/>
        <source>Do you want to check for updates now?</source>
        <translation>Möchten Sie jetzt nach Updates suchen?</translation>
    </message>
</context>
<context>
    <name>ProgressDialog</name>
    <message>
        <location filename="../autoupdaterwidgets/progressdialog.ui" line="+17"/>
        <source>Check for Updates</source>
        <translation>Nach Updates suchen</translation>
    </message>
    <message>
        <location line="+19"/>
        <location filename="../imports/autoupdaterquick/ProgressDialog.qml" line="+17"/>
        <source>Checking for updates…</source>
        <translation>Suche nach Updates …</translation>
    </message>
    <message>
        <location filename="../imports/autoupdaterquick/ProgressDialog.qml" line="+45"/>
        <source>Canceling…</source>
        <translation>Vorgang wird abgebrochen…</translation>
    </message>
</context>
<context>
    <name>ProgressItem</name>
    <message numerus="yes">
        <location filename="../imports/autoupdaterquick/ProgressItem.qml" line="+35"/>
        <location line="+4"/>
        <source>%n%</source>
        <translation>
            <numerusform>%n%</numerusform>
            <numerusform>%n%</numerusform>
        </translation>
    </message>
</context>
<context>
    <name>QChocolateyUpdaterBackend</name>
    <message>
        <location filename="../plugins/updater/qchocolatey/qchocolateyupdaterbackend.cpp" line="+31"/>
        <source>Installed Version</source>
        <translation>Installierte Version</translation>
    </message>
</context>
<context>
    <name>QHomebrewUpdateInstaller</name>
    <message>
        <location filename="../plugins/updater/qhomebrew/qhomebrewupdateinstaller.cpp" line="+65"/>
        <source>Starting homebrew…</source>
        <translation>Homebrew wird gestartet …</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Running homebrew in the background to perform the upgrade…</source>
        <translation>Führe Homebrew im Hintergrund aus, um das Upgrade durchzuführen …</translation>
    </message>
    <message>
        <location line="+6"/>
        <source>Homebrew exited with unclean exit code %1</source>
        <translation>Homebrew wurde mit dem unsauberen Beendigungscode %1 beendet</translation>
    </message>
</context>
<context>
    <name>QHomebrewUpdaterBackend</name>
    <message>
        <location filename="../plugins/updater/qhomebrew/qhomebrewupdaterbackend.cpp" line="+37"/>
        <source>Installed Versions</source>
        <translation>Installierte Versionen</translation>
    </message>
    <message>
        <location line="+19"/>
        <source>Updating local package database…</source>
        <translation>Lokale Paketdatenbank wird aktualisiert …</translation>
    </message>
    <message>
        <location line="+112"/>
        <source>Scanning for outdated packages…</source>
        <translation>Scannen nach veralteten Paketen…</translation>
    </message>
</context>
<context>
    <name>QHttpServer</name>
    <message>
        <source>missing handler:</source>
        <translation type="vanished">fehlender Handler:</translation>
    </message>
</context>
<context>
    <name>QHttpServerExample</name>
    <message>
        <source>Could not run on http://127.0.0.1:%1/</source>
        <translation type="vanished">Konnte unter http://127.0.0.1:%1/ nicht ausgeführt werden</translation>
    </message>
    <message>
        <source>Running on http://127.0.0.1:%1/ (Press CTRL+C to quit)</source>
        <translation type="vanished">Ausführen unter http://127.0.0.1:%1/ (Drücken Sie STRG + C, um das Programm zu beenden.)</translation>
    </message>
</context>
<context>
    <name>QObject</name>
    <message>
        <source>The PackageKit daemon has crashed</source>
        <translation type="vanished">Der PackageKit-Dämon ist abgestürzt</translation>
    </message>
</context>
<context>
    <name>QPackageKitUpdateInstaller</name>
    <message>
        <location filename="../plugins/updater/qpackagekit/qpackagekitupdateinstaller.cpp" line="+42"/>
        <location line="+8"/>
        <source>EULA was rejected!</source>
        <translation>EULA wurde abgelehnt!</translation>
    </message>
    <message>
        <location line="+74"/>
        <source>Waiting for EULA to be accepted…</source>
        <translation>Warten auf die Annahme des EULA…</translation>
    </message>
    <message>
        <source>
Eula of package %1<&h1>
%2

Package Vendor: %3
</source>
        <translation type="vanished">
Eula des Pakets %1

%2

Paket-Hersteller: %3
</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>
Eula of package %1

%2

Package Vendor: %3
</source>
        <translation>
Eula des Pakets %1

%2

Paket-Hersteller: %3
</translation>
    </message>
    <message>
        <location line="+29"/>
        <source>Installation failed!</source>
        <translation>Die Installation ist fehlgeschlagen!</translation>
    </message>
    <message>
        <location line="+5"/>
        <source>Installation was canceled.</source>
        <translation>Die Installation wurde abgebrochen.</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>A key was required!</source>
        <translation>Ein Schlüssel wurde benötigt!</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Media exchange was required!</source>
        <translation>Medienaustausch war erforderlich!</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Cannot install untrusted packages!</source>
        <translation>Nicht vertrauenswürdige Pakete können nicht installiert werden!</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>The system is corrupted and needs to be repaired!</source>
        <translation>Das System ist beschädigt und muss repariert werden!</translation>
    </message>
</context>
<context>
    <name>QPackageKitUpdaterBackend</name>
    <message>
        <location filename="../plugins/updater/qpackagekit/qpackagekitupdaterbackend.cpp" line="+15"/>
        <source>Please wait…</source>
        <translation>Bitte warten…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Setting up…</source>
        <translation>Wird eingerichtet…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Running…</source>
        <translation>Aktiv…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Querying database…</source>
        <translation>Datenbank wird abgefragt …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Showing information…</source>
        <translation>Informationen werden angezeigt …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Removing packages…</source>
        <translation>Pakete werden entfernt…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Refreshing package cache…</source>
        <translation>Paket-Zwischenspeicher wird aktualisiert…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Downloading packages…</source>
        <translation>Pakete werden heruntergeladen …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Installing packages…</source>
        <translation>Pakete werden installiert …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Updating packages…</source>
        <translation>Pakete werden aktualisiert …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Cleaning up…</source>
        <translation>Reinigen…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Package obsolete!</source>
        <translation>Paket veraltet!</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Resolving package dependencies…</source>
        <translation>Paketabhängigkeiten werden aufgelöst …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Verifying package signatures…</source>
        <translation>Paketsignaturen werden überprüft …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Testing for commit…</source>
        <translation>Testen auf Commit …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Committing updates…</source>
        <translation>Aktualisierungen werden übernommen …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Sending request…</source>
        <translation>Anfrage wird gesendet…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Finished.</source>
        <translation>Abgeschlossen.</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Canceling…</source>
        <translation>Vorgang wird abgebrochen…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Downloading package repositories…</source>
        <translation>Paket-Repositories werden heruntergeladen …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Downloading package list…</source>
        <translation>Paketliste wird heruntergeladen …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Downloading file list…</source>
        <translation>Dateiliste wird heruntergeladen …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Downloading changelog…</source>
        <translation>Änderungsprotokoll wird heruntergeladen …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Downloading package group…</source>
        <translation>Paketgruppe wird heruntergeladen …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Downloading update infos…</source>
        <translation>Update-Infos werden heruntergeladen …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Repackaging…</source>
        <translation>Umpacken…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Loading cache…</source>
        <translation>Zwischenspeicher wird geladen…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Scanning applications…</source>
        <translation>Scanne nach Anwendungen…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Generating package list…</source>
        <translation>Paketliste wird erstellt …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Waiting for lock…</source>
        <translation>Warten auf Sperre …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Waiting for authentication…</source>
        <translation>Warten auf Authentifizierung …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Scanning processes…</source>
        <translation>Scanne nach Prozessen…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Verifying executables…</source>
        <translation>Ausführbare Dateien werden überprüft …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Verifying libraries…</source>
        <translation>Bibliotheken werden überprüft …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Copying files…</source>
        <translation>Dateien werden kopiert…</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Running install hooks…</source>
        <translation>Ausführen von Installations-Hooks…</translation>
    </message>
</context>
<context>
    <name>QPlayStoreUpdateInstaller</name>
    <message>
        <location filename="../plugins/updater/qplaystore/qplaystoreupdateinstaller.cpp" line="+22"/>
        <location line="+80"/>
        <source>The installation was canceled by the user!</source>
        <translation>Die Installation wurde vom Benutzer abgebrochen!</translation>
    </message>
    <message>
        <location line="-60"/>
        <source>Can only install one update at a time</source>
        <translation>Es kann immer nur ein Update installiert werden</translation>
    </message>
    <message>
        <location line="+7"/>
        <source>No update information available! Try to check for updates again to fix this problem.</source>
        <translation>Keine Update-Informationen verfügbar! Versuchen Sie erneut, nach Updates zu suchen, um dieses Problem zu beheben.</translation>
    </message>
    <message>
        <location line="+11"/>
        <source>Failed to initiate an update!</source>
        <translation>Update konnte nicht initiiert werden!</translation>
    </message>
    <message>
        <location line="+14"/>
        <source>Unknown state…</source>
        <translation>Unbekannter Status…</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Update installation is pending. Please wait…</source>
        <translation>Die Update-Installation steht noch aus. Bitte warten…</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Downloading update…</source>
        <translation>Update wird heruntergeladen…</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Update downloaded</source>
        <translation>Update heruntergeladen</translation>
    </message>
    <message>
        <location line="+4"/>
        <source>Installing update…</source>
        <translation>Update wird installiert…</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Update installed</source>
        <translation>Update installiert</translation>
    </message>
    <message>
        <location line="+5"/>
        <source>Update failed!</source>
        <translation>Update fehlgeschlagen!</translation>
    </message>
    <message>
        <location line="+5"/>
        <source>Update was canceled!</source>
        <translation>Update wurde abgebrochen!</translation>
    </message>
    <message>
        <location line="+5"/>
        <source>Waiting for user confirmation…</source>
        <translation>Warten auf Benutzerbestätigung…</translation>
    </message>
    <message>
        <location line="+13"/>
        <source>No error occured.</source>
        <translation>Keine Fehler aufgetreten.</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>No error occured, but installing is only partially allowed.</source>
        <translation>Es ist kein Fehler aufgetreten, die Installation ist jedoch nur teilweise zulässig.</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Unknown error.</source>
        <translation>Unbekannter Fehler.</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Update-Installation API is not available on this device!</source>
        <translation>Update-Installation API ist auf diesem Gerät nicht verfügbar!</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>An invalid request was made!</source>
        <translation>Es wurde eine ungültige Anfrage gestellt!</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Update-Installation is not available on this device!</source>
        <translation>Update-Installation ist auf diesem Gerät nicht verfügbar!</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Update-Installation is not allowed</source>
        <translation>Update-Installation ist nicht erlaubt</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>No downloaded update was found!</source>
        <translation>Es wurde kein heruntergeladenes Update gefunden!</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Another installation is already in progress!</source>
        <translation>Es wird bereits eine andere Installation ausgeführt!</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>An internal error occured!</source>
        <translation>Es ist ein interner Fehler aufgetreten!</translation>
    </message>
</context>
<context>
    <name>QWebQueryUpdateInstaller</name>
    <message>
        <location filename="../plugins/updater/qwebquery/qwebqueryupdateinstaller.cpp" line="+57"/>
        <location line="+129"/>
        <source>Invalid update details!</source>
        <translation>Ungültige Update-Details!</translation>
    </message>
    <message>
        <location line="+17"/>
        <source>Unabled to cache downloaded updates!</source>
        <translation>Heruntergeladene Updates können nicht zwischengespeichert werden!</translation>
    </message>
    <message>
        <location line="+4"/>
        <source>Downloading update files…</source>
        <translation>Aktualisierungsdateien werden heruntergeladen …</translation>
    </message>
    <message>
        <location line="-107"/>
        <source>Network request failed with error: %1</source>
        <translation>Netzwerkanforderung fehlgeschlagen mit Fehler: %1</translation>
    </message>
    <message>
        <location line="-64"/>
        <source>EULA was rejected!</source>
        <translation>EULA wurde abgelehnt!</translation>
    </message>
    <message>
        <location line="+78"/>
        <source>Network request failed with HTTP status code: %1</source>
        <translation>Netzwerkanforderung fehlgeschlagen mit HTTP-Statuscode: %1</translation>
    </message>
    <message>
        <location line="+9"/>
        <source>Hashsum verification failed! At least one download was corrupted.</source>
        <translation>Hashsum-Überprüfung fehlgeschlagen! Mindestens ein Download war beschädigt.</translation>
    </message>
    <message>
        <location line="+29"/>
        <source>Processing download…</source>
        <translation>Download wird bearbeitet…</translation>
    </message>
    <message>
        <location line="+2"/>
        <location line="+5"/>
        <source>Downloading update…</source>
        <translation>Update wird heruntergeladen…</translation>
    </message>
    <message>
        <location line="-3"/>
        <source>Processing downloaded data…</source>
        <translation>Heruntergeladene Daten werden verarbeitet …</translation>
    </message>
    <message>
        <location line="+12"/>
        <source>Update installer tool failed!</source>
        <translation>Update Installer Tool fehlgeschlagen!</translation>
    </message>
    <message>
        <location line="+109"/>
        <source>Launching installer…</source>
        <translation>Installer starten…</translation>
    </message>
    <message>
        <location line="+9"/>
        <source>Failed to make downloaded file executable!</source>
        <translation>Fehler beim Ausführen der heruntergeladenen Datei!</translation>
    </message>
    <message>
        <location line="+6"/>
        <source>Unable to find executable to install the update!</source>
        <translation>Kann keine ausführbare Datei finden, um das Update zu installieren!</translation>
    </message>
    <message>
        <location line="+27"/>
        <source>Failed to start updater program!</source>
        <translation>Fehler beim Starten des Updater-Programms!</translation>
    </message>
</context>
<context>
    <name>QWebQueryUpdaterBackend</name>
    <message>
        <location filename="../plugins/updater/qwebquery/qwebqueryupdaterbackend.cpp" line="+248"/>
        <source>Processing reply…</source>
        <translation>Antwort wird verarbeitet …</translation>
    </message>
    <message>
        <location line="+2"/>
        <location line="+5"/>
        <source>Downloading update infos…</source>
        <translation>Update-Infos werden heruntergeladen …</translation>
    </message>
    <message>
        <location line="-3"/>
        <source>Processing downloaded data…</source>
        <translation>Heruntergeladene Daten werden verarbeitet …</translation>
    </message>
</context>
<context>
    <name>QtAutoUpdater::ComponentModel</name>
    <message>
        <location filename="../autoupdatercore/updateinstaller.cpp" line="+200"/>
        <source>Name</source>
        <translation>Name</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Version</source>
        <translation>Version</translation>
    </message>
</context>
<context>
    <name>QtAutoUpdater::ComponentsPage</name>
    <message>
        <location filename="../autoupdaterwidgets/installwizard.cpp" line="+94"/>
        <source>You must select at least one component to be installed!</source>
        <translation>Sie müssen mindestens eine zu installierende Komponente auswählen!</translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Component selection invalid</source>
        <translation>Komponentenauswahl ungültig</translation>
    </message>
</context>
<context>
    <name>QtAutoUpdater::InstallPage</name>
    <message>
        <location line="+51"/>
        <source>Cancel installation</source>
        <translation>Installation abbrechen</translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Cancel the update installation? This might leave the application in an unrepairable state!</source>
        <translation>Update-Installation abbrechen? Dies kann dazu führen, dass die Anwendung nicht mehr repariert werden kann!</translation>
    </message>
    <message>
        <location line="+15"/>
        <source>Install</source>
        <translation>Installieren</translation>
    </message>
    <message>
        <location line="+101"/>
        <source>Accept this EULA to continue installation?</source>
        <translation>Akzeptieren Sie diese EULA, um die Installation fortzusetzen?</translation>
    </message>
    <message>
        <location line="+1"/>
        <source>EULA acceptance requested</source>
        <translation>EULA-Zulassung beantragt</translation>
    </message>
    <message>
        <location line="+5"/>
        <source>Installation comes with the following EULA</source>
        <translation>Die Installation wird mit der folgenden EULA geliefert</translation>
    </message>
    <message>
        <location line="+1"/>
        <source>EULA information</source>
        <translation>EULA-Informationen</translation>
    </message>
</context>
<context>
    <name>QtAutoUpdater::InstallWizard</name>
    <message>
        <location line="-245"/>
        <source>Updater installer</source>
        <translation>Updater-Installationsprogramm</translation>
    </message>
</context>
<context>
    <name>QtAutoUpdater::ProgressDialog</name>
    <message>
        <location filename="../autoupdaterwidgets/progressdialog.cpp" line="+35"/>
        <source>Canceling update check…</source>
        <translation>Update-Check wird abgebrochen …</translation>
    </message>
</context>
<context>
    <name>QtAutoUpdater::ProgressModel</name>
    <message>
        <location filename="../autoupdatercore/updateinstaller.cpp" line="+131"/>
        <source>Name</source>
        <translation>Name</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Status</source>
        <translation>Status</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Progress</source>
        <translation>Fortschritt</translation>
    </message>
</context>
<context>
    <name>QtAutoUpdater::UpdateButton</name>
    <message>
        <location filename="../autoupdaterwidgets/updatebutton.cpp" line="+153"/>
        <location line="+10"/>
        <location line="+11"/>
        <location line="+17"/>
        <location line="+7"/>
        <source>Check for updates</source>
        <translation>Auf Updates prüfen</translation>
    </message>
    <message>
        <location line="-33"/>
        <source>No new updates</source>
        <translation>Keine neuen Updates</translation>
    </message>
    <message>
        <location line="+6"/>
        <source>Cancel</source>
        <translation>Abbrechen</translation>
    </message>
    <message>
        <location line="+6"/>
        <location line="+49"/>
        <source>Checking for updates…</source>
        <translation>Suche nach Updates …</translation>
    </message>
    <message>
        <location line="-43"/>
        <source>Canceling…</source>
        <translation>Vorgang wird abgebrochen…</translation>
    </message>
    <message>
        <location line="+6"/>
        <source>Install updates</source>
        <translation>Updates installieren</translation>
    </message>
    <message>
        <location line="+4"/>
        <source>New updates are available!</source>
        <translation>Neue Updates sind verfügbar!</translation>
    </message>
    <message>
        <location line="+7"/>
        <source>Update error!</source>
        <translation>Fehler bei der Aktualisierung!</translation>
    </message>
    <message>
        <location line="+6"/>
        <source>Installing updates…</source>
        <translation>Installiere Updates…</translation>
    </message>
</context>
<context>
    <name>QtAutoUpdater::UpdateController</name>
    <message>
        <location filename="../autoupdaterwidgets/updatecontroller.cpp" line="+44"/>
        <location line="+129"/>
        <location line="+84"/>
        <location line="+84"/>
        <location line="+35"/>
        <source>Check for Updates</source>
        <translation>Nach Updates suchen</translation>
    </message>
    <message>
        <location line="-202"/>
        <source>Do you want to check for updates now?</source>
        <translation>Möchten Sie jetzt nach Updates suchen?</translation>
    </message>
    <message>
        <location line="+142"/>
        <source>Failed to start the installer to install new updates!</source>
        <translation>Fehler beim Starten des Installationsprogramms zum Installieren neuer Updates!</translation>
    </message>
    <message>
        <location line="+8"/>
        <source>New updates are available. The update tool will be started to install those as soon as you close the application!</source>
        <translation>Neue Updates sind verfügbar! Das Update-Tool wird gestartet, um diese zu installieren, sobald Sie die Anwendung schließen!</translation>
    </message>
    <message>
        <location line="+18"/>
        <source>An error occured while trying to check for updates!</source>
        <translation>Beim Versuch, nach Updates zu suchen, ist ein Fehler aufgetreten!</translation>
    </message>
    <message>
        <location line="+35"/>
        <source>Checking for updates was canceled!</source>
        <translation>Überprüfung auf Updates wurde abgebrochen!</translation>
    </message>
    <message>
        <location line="-62"/>
        <location line="+8"/>
        <source>Install Updates</source>
        <translation>Updates installieren</translation>
    </message>
    <message>
        <location line="-65"/>
        <source>No new updates available!</source>
        <translation>Keine neuen Updates verfügbar!</translation>
    </message>
    <message>
        <location line="-210"/>
        <source>Checks if new updates are available. You will be prompted before updates are installed.</source>
        <translation>Überprüft, ob neue Updates verfügbar sind. Sie werden vor der Installation von Updates dazu aufgefordert.</translation>
    </message>
</context>
<context>
    <name>QtAutoUpdater::UpdateInfoDialog</name>
    <message>
        <location filename="../autoupdaterwidgets/updateinfodialog.cpp" line="+24"/>
        <location line="+70"/>
        <source>Updates for %1 are available!</source>
        <translation>Updates für %1 sind verfügbar!</translation>
    </message>
    <message>
        <location line="-63"/>
        <source>Install on exit</source>
        <translation>Beim Beenden installieren</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Install now</source>
        <translation>Jetzt installieren</translation>
    </message>
    <message>
        <location line="+12"/>
        <source>%1 – %2</source>
        <translation>%1 – %2</translation>
    </message>
    <message>
        <location line="+110"/>
        <source>Close the application and install updates?</source>
        <translation>Anwendung schließen und Updates installieren?</translation>
    </message>
    <message>
        <location line="+8"/>
        <source>Install On Exit</source>
        <translation>Beim Beenden installieren</translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Updates will be installed on exit. The update tool will be started as soon as you close the application!</source>
        <translation>Updates werden beim Beenden installiert. Das Update-Tool wird gestartet, um diese zu installieren, sobald Sie die Anwendung schließen!</translation>
    </message>
    <message>
        <location line="+11"/>
        <source>There are new updates available! To install the displayed updates, exit this application and start the updater.</source>
        <translation>Es sind neue Updates verfügbar! Beenden Sie diese Anwendung und starten Sie den Updater, um die angezeigten Updates zu installieren.</translation>
    </message>
    <message>
        <location line="+8"/>
        <source>There are new updates available! You can install them right now by pressing <Install Now> below.</source>
        <translation>Es sind neue Updates verfügbar! Sie können sie sofort installieren, indem Sie unten auf <Jetzt installieren> klicken.</translation>
    </message>
    <message>
        <location line="+9"/>
        <source>There are new updates available! You can install them now, without having to exit the application during the update. Alternatively, you can automatically start the installer, when you exit the application.</source>
        <translation>Es sind neue Updates verfügbar! Sie können sie jetzt installieren, ohne die Anwendung während des Updates beenden zu müssen. Alternativ können Sie das Installationsprogramm automatisch starten, wenn Sie die Anwendung beenden.</translation>
    </message>
    <message>
        <location line="+8"/>
        <source>There are new updates available! Installing those requires you to close this application. You can install them now or automatically, when you exit the application.</source>
        <translation>Es sind neue Updates verfügbar! Um diese zu installieren, müssen Sie diese Anwendung schließen. Sie können sie jetzt oder automatisch installieren, wenn Sie die Anwendung beenden.</translation>
    </message>
    <message>
        <location line="-178"/>
        <source>Check for Updates</source>
        <translation>Nach Updates suchen</translation>
    </message>
    <message>
        <location line="+12"/>
        <source>Install later</source>
        <translation>Später installieren</translation>
    </message>
    <message>
        <location line="+120"/>
        <source>Install Now?</source>
        <translation>Jetzt installieren?</translation>
    </message>
</context>
<context>
    <name>QtAutoUpdater::UpdateInstaller</name>
    <message>
        <location filename="../autoupdatercore/updateinstaller.cpp" line="-314"/>
        <source>Installation complete</source>
        <translation>Installation abgeschlossen</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Installation failed!</source>
        <translation>Die Installation ist fehlgeschlagen!</translation>
    </message>
</context>
<context>
    <name>QtAutoUpdater::Updater</name>
    <message>
        <location filename="../autoupdatercore/updater.cpp" line="+233"/>
        <source>Checking for updates…</source>
        <translation>Suche nach Updates …</translation>
    </message>
</context>
<context>
    <name>QtIfwUpdaterBackend</name>
    <message>
        <location filename="../plugins/updater/qtifw/qtifwupdaterbackend.cpp" line="+36"/>
        <source>Update-Size (Bytes)</source>
        <translation>Update-Größe (Bytes)</translation>
    </message>
</context>
<context>
    <name>SelectComponentView</name>
    <message>
        <location filename="../imports/autoupdaterquick/SelectComponentView.qml" line="+11"/>
        <source>Select Components</source>
        <translation>Komponenten auswählen</translation>
    </message>
</context>
<context>
    <name>SuccessPage</name>
    <message>
        <location filename="../autoupdaterwidgets/successpage.ui" line="+14"/>
        <source>Installation completed</source>
        <translation>Installation abgeschlossen</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>The installation has been completed successfully.</source>
        <translation>Die Installation wurde erfolgreich abgeschlossen.</translation>
    </message>
    <message>
        <location line="+31"/>
        <source>Restart application</source>
        <translation>Anwendung neu starten</translation>
    </message>
</context>
<context>
    <name>SuccessView</name>
    <message>
        <location filename="../imports/autoupdaterquick/SuccessView.qml" line="+11"/>
        <source>Installation successful!</source>
        <translation>Installation erfolgreich!</translation>
    </message>
    <message>
        <location line="+14"/>
        <source>Restart the application</source>
        <translation>Anwendung neustarten</translation>
    </message>
    <message>
        <location line="+5"/>
        <source>Press the X-Button to close the installer…</source>
        <translation>Drücken Sie die X-Taste, um das Installationsprogramm zu schließen…</translation>
    </message>
</context>
<context>
    <name>UpdateAction</name>
    <message>
        <location filename="../imports/autoupdaterquick/UpdateAction.qml" line="+30"/>
        <source>Check for updates</source>
        <translation>Auf Updates prüfen</translation>
    </message>
</context>
<context>
    <name>UpdateButton</name>
    <message>
        <location filename="../autoupdaterwidgets/updatebutton.ui" line="+35"/>
        <location filename="../imports/autoupdaterquick/UpdateButton.qml" line="+200"/>
        <source>Check for updates</source>
        <translation>Auf Updates prüfen</translation>
    </message>
    <message>
        <location filename="../imports/autoupdaterquick/UpdateButton.qml" line="-79"/>
        <location line="+3"/>
        <source>Checking for updates…</source>
        <translation>Suche nach Updates …</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>Cancel</source>
        <translation>Abbrechen</translation>
    </message>
    <message>
        <location line="+18"/>
        <source>Canceling…</source>
        <translation>Vorgang wird abgebrochen…</translation>
    </message>
    <message>
        <location line="+17"/>
        <source>Install updates</source>
        <translation>Updates installieren</translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Found new updates</source>
        <translation>Neue Updates gefunden</translation>
    </message>
    <message>
        <location line="+12"/>
        <source>Installing updates…</source>
        <translation>Installiere Updates…</translation>
    </message>
</context>
<context>
    <name>UpdateInfoDialog</name>
    <message>
        <location filename="../autoupdaterwidgets/updateinfodialog.ui" line="+17"/>
        <source>Check for Updates</source>
        <translation>Nach Updates suchen</translation>
    </message>
    <message>
        <location line="+54"/>
        <source>Updates:</source>
        <translation>Aktualisierungen:</translation>
    </message>
    <message>
        <location line="+34"/>
        <source>Component Name</source>
        <translation>Komponentenname</translation>
    </message>
    <message>
        <location line="+5"/>
        <source>Version</source>
        <translation>Version</translation>
    </message>
    <message>
        <location line="+10"/>
        <source>Close and do nothing. You can install updates later.</source>
        <translation>Schließen und nichts tun. Sie können Updates später installieren.</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Install later</source>
        <translation>Später installieren</translation>
    </message>
    <message>
        <location line="+23"/>
        <source>You proceed using the application, and as soon as you close it, the updater will start automatically to install the updates.</source>
        <translation>Sie verwenden die Anwendung weiterhin und sobald Sie sie schließen, startet der Updater automatisch, um die Updates zu installieren.</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Install On Exit</source>
        <translation>Beim Beenden installieren</translation>
    </message>
    <message>
        <location line="+10"/>
        <source>Closes the application and opens the installer to update the app.</source>
        <translation>Schließt die Anwendung und öffnet das Installationsprogramm, um die App zu aktualisieren.</translation>
    </message>
    <message>
        <location line="+3"/>
        <source>Install Now</source>
        <translation>Jetzt installieren</translation>
    </message>
</context>
<context>
    <name>UpdateInfoPage</name>
    <message>
        <location filename="../imports/autoupdaterquick/UpdateInfoPage.qml" line="+37"/>
        <source>Go back without installing updates</source>
        <translation>Gehen Sie zurück, ohne Updates zu installieren</translation>
    </message>
    <message>
        <location line="+8"/>
        <source>New Updates!</source>
        <translation>Neue Updates!</translation>
    </message>
    <message>
        <location line="+13"/>
        <source>Install on exit</source>
        <translation>Beim Beenden installieren</translation>
    </message>
    <message>
        <location line="+4"/>
        <source>Install the new updates as soon as you exit the app</source>
        <translation>Installiert die neuen Updates automatisch, sobald Sie die App beenden</translation>
    </message>
    <message>
        <location line="+16"/>
        <source>Install now</source>
        <translation>Jetzt installieren</translation>
    </message>
    <message>
        <location line="+4"/>
        <source>Install the new updates immediatly.</source>
        <translation>Installieren Sie die neuen Updates sofort.</translation>
    </message>
    <message>
        <location line="+0"/>
        <source> This will exit the application to start the installer!</source>
        <translation> Dies beendet die Anwendung, um den Installer zu starten!</translation>
    </message>
    <message>
        <location line="+33"/>
        <source>Version: %1</source>
        <translation>Version: %1</translation>
    </message>
    <message>
        <location line="+8"/>
        <source>%1: %2</source>
        <translation>%1: %2</translation>
    </message>
    <message>
        <location line="+9"/>
        <source>Install updates failed!</source>
        <translation>Installation der Updates fehlgeschlagen!</translation>
    </message>
    <message>
        <location line="+7"/>
        <source>Unable to install updates! Failed to launch the update installer.</source>
        <translation>Updates können nicht installiert werden! Fehler beim Starten des Update-Installationsprogramms.</translation>
    </message>
</context>
<context>
    <name>UpdateInstallerPage</name>
    <message>
        <location filename="../imports/autoupdaterquick/UpdateInstallerPage.qml" line="+83"/>
        <source>Accept EULA?</source>
        <translation>EULA akzeptieren?</translation>
    </message>
    <message>
        <location line="+0"/>
        <source>EULA provided</source>
        <translation>EULA zur Verfügung gestellt</translation>
    </message>
    <message>
        <location line="+54"/>
        <source>Go back to the previous page</source>
        <translation>Zurück zur vorherigen Seite</translation>
    </message>
    <message>
        <location line="+34"/>
        <source>Go to the next page</source>
        <translation>Zur nächsten Seite gehen</translation>
    </message>
</context>
<context>
    <name>UpdateResultDialog</name>
    <message>
        <location filename="../imports/autoupdaterquick/UpdateResultDialog.qml" line="+122"/>
        <source>Check for updates finished!</source>
        <translation>Suche nach Updates abgeschlossen!</translation>
    </message>
    <message>
        <location line="+4"/>
        <source>Install now</source>
        <translation>Jetzt installieren</translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Install on exit</source>
        <translation>Beim Beenden installieren</translation>
    </message>
    <message>
        <location line="+1"/>
        <source>Install later</source>
        <translation>Später installieren</translation>
    </message>
    <message>
        <location line="+2"/>
        <source>OK</source>
        <translation>OK</translation>
    </message>
    <message>
        <location line="+65"/>
        <source>No new updates available.</source>
        <translation>Keine neuen Updates verfügbar.</translation>
    </message>
    <message>
        <location line="+7"/>
        <source>New updates are available! You can install them now or later</source>
        <translation>Neue Updates sind verfügbar! Sie können sie jetzt oder später installieren</translation>
    </message>
    <message>
        <location line="+11"/>
        <source>New updates are available and will be installed as soon as you close the application.</source>
        <translation>Neue Updates sind verfügbar und werden installiert, sobald Sie die Anwendung schließen.</translation>
    </message>
    <message>
        <location line="+7"/>
        <source>An error occured while trying to check for updates.</source>
        <translation>Beim Versuch, nach Updates zu suchen, ist ein Fehler aufgetreten.</translation>
    </message>
    <message>
        <location line="+7"/>
        <source>Updates are available, but was not able to start the update installer!</source>
        <translation>Neue Updates sind verfügbar, aber der Installer konnte nicht gestartet werden!</translation>
    </message>
</context>
</TS>


text:
from ml.preprocess.util import Preprocess,normalize,Flatten
from ml.layer.layer import *
from ml.graph import *
from ml.preprocess.util import normalize,sub_mean_ch
import numpy as np
path="./ml/dataset/train/"
t_path="./ml/dataset/test/"
i=Preprocess(path)
X,Y=i.direc_to_array()
X=normalize(X)
print("training on %d examples"%(len(X)))
p=Graph()
p.add(Input(784))
p.add(DNN(1024,activation="sigmoid"))
p.add(DNN(1024,activation="sigmoid"))
p.add(DNN(10,activation="relu"))
p.get_graph
p.train(X=X,Y=Y,lr=0.1,epochs=30)
j=Preprocess(t_path)
X,Y=i.direc_to_array()
X=Flatten(normalize(X))
outs=p.predict(X)
print(outs)

redpajama_set_name: RedPajamaGithub


text:
<?php

namespace OPNsense\Monit;

/**
 * Class StatusController
 * @package OPNsense\Monit
 */
class StatusController extends \OPNsense\Base\IndexController
{
    /**
     * monit status page
     * @throws \Exception
     */
    public function indexAction()
    {
        $this->view->pick('OPNsense/Monit/status');
    }
}


text:
package algorithms.graphs;

import algorithms.misc.Misc0;
import algorithms.sort.MiscSorter;
import algorithms.util.PairInt;
import gnu.trove.iterator.TIntIterator;
import gnu.trove.iterator.TIntObjectIterator;
import gnu.trove.list.TIntList;
import gnu.trove.list.array.TIntArrayList;
import gnu.trove.map.TIntIntMap;
import gnu.trove.map.TIntObjectMap;
import gnu.trove.map.hash.TIntObjectHashMap;
import gnu.trove.set.TIntSet;
import gnu.trove.set.hash.TIntHashSet;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
import thirdparty.HungarianAlgorithm;

/**
 *
 * @author nichole
 */
public class MaximalIndependentSets {

    /**
     * Find a maximal independent set in graph G defined by the given adjacency map
     * using
     *
     *
     * In graph theory, a maximal independent set (MIS) or maximal stable set is
     * an independent set that is not a subset of any other independent set.
     * In other words, there is no vertex outside the independent set that may
     * join it because it is maximal with respect to the independent set property.
     * An independent set, stable set, coclique or anticlique is a set of
     * vertices in a graph, no two of which are adjacent.
     *
     * r.t.c. O( log_2(n)^2 )
     *

      References:

      Lecture Notes on a Parallel Algorithm for Generating a Maximal Independent Set
        Eric Vigoda
        Georgia Institute of Technology
        Last updated for 7530 - Randomized Algorithms, Spring 2010.
        https://www.cc.gatech.edu/~vigoda/7530-Spring10/MIS.pdf

      https://en.wikipedia.org/wiki/Maximal_independent_set#Listing_all_maximal_independent_sets

     * @param adjMap  adjacency map of undirected graph G with key = vertex u and value = set of
     * neighbors connected to u.
     * @return returns a maximal independent set of undirected graph G defined by adjMap
     */
    public static TIntSet findOneProbabilistic(TIntObjectMap<TIntSet> adjMap){

        /*
        Lecture Notes on a Parallel Algorithm for Generating a Maximal Independent Set
        Eric Vigoda
        Georgia Institute of Technology
        Last updated for 7530 - Randomized Algorithms, Spring 2010.

        1. I=∅,V′=V and G′=G.
        2. While (V′ ̸= ∅) do:
           (a) Choose a random set of vertices S ⊂ V′
               by selecting each vertex v independently with
               probability 1/(2dG′(v))
               where dG′(v) is the degree of v in the graph G′.
           (b) For every edge (u, v) ∈ E(G′) if both endpoints are in S
               then remove the vertex of lower degree from S
               (Break ties arbitrarily). Call this new set S′.
           (c) I = I union S′. Let V′ = V′\(S′union N_G′(S′))
               where N_G′(S′) are the neighbors of S'.
               Finally, let G′ be the induced subgraph on V′.
        3. Output I

        NOTE: choosing S' is where the algorithm can run in parallel
        see 1st paragraph of page 2 of
        https://www.cc.gatech.edu/~vigoda/7530-Spring10/MIS.pdf
        "in every round we find a set S which is an independent set.
        Then we add S to our current independent set I, and we remove
            S union N(S) from the current graph V′.
        To choose S in parallel, each vertex v independently adds
        themselves to S with a well chosen probability p(v).
        We want to avoid adding adjacent vertices to S.
        Hence, we will prefer to add low degree vertices (which is 1/(2dG′(v))).
        But, if for some edge (u,v), both endpoints were added to S,
        then we keep the higher degree vertex."

        how many vertexes to choose for S'?
        we want to ensure that by removing S ∪ N(S) from the graph,
        we remove a constant fraction of the edges
        */

        Random rand = Misc0.getSecureRandom();
        long seed = System.nanoTime();
        System.out.println("seed=" + seed);
        System.out.flush();
        rand.setSeed(seed);

        TIntSet indep = new TIntHashSet();

        TIntObjectMap<TIntSet> toFromAdjMap = extractInOut(adjMap);

        TIntSet vP = extractAllVertices(adjMap);
        int nV = vP.size();
        TIntObjectMap<TIntSet> gP;
        double[] cdf;
        double[] pmf;
        TIntIntMap indexMap;
        int[] chosen;
        int u;
        int v;
        int k;
        TIntSet s = new TIntHashSet();

        TIntIterator iterV;

        int nhbr;
        TIntSet nhbrsSet;
        TIntIterator iterNhbr;

        int d;
        double pV;
        double pVMax;
        double r;

        // regarding the probability, can either:
        // (1) create a pmf with the discrete values for each vertex as 1/(2dG′(v)),
        //     then create a normalized cdf from the pmf, then choose k random
        //     numbers between 0 and 1 and use the cdf to determine the variate (=vertex).
        // (2) or use a single bernoulli trial for each vertex: draw a random number
        //     and compare it to p and accept if less than.  p=1/(2dG′(v))
        //     if all vertexes have same p, would expect to choose |V'|*p vertexes from V'.
        //     the variance in that is p*(1-p).
        //     standard deviation = Math.sqrt( (|V'|-1)*variance ).
        //     can expect to choose  |V'|*p +- Math.sqrt( (|V'|-1)*variance ) for 1 stdev
        //     or for 3 sigma deviation: |V'|*p +- 3*Math.sqrt( (|V'|-1)*variance )
        /*     One of the unit tests is a graph of 8 vertices, each with degree 3,
               hence p = 0.1667 for each of them.
               expected number selected = 8*0.1667 = 1.33
                   st.dev = 0.99,  3*st.dev = 2.96

               Two rounds of random doubles in range [0,1] have no numbers < 0.1667
               but the first round has 1 that is > (1-0.1667)
               and the second round has 2 that are > (1-0.1667)

               If instead used p=1/(2dG′(v)),
               each p = 0.333
               expected number selected = 8*0.0.333 = 2.66
                   st.dev = 1.25,  3*st.dev = 3.74
               The same 2 rounds of random doubles in range [0,1]
               have 2 numbers < 0.33 in first round and 3 numbers < 0.33 in second round,

               Looks like a better probability function for this would be p=1/(dG′(v))

           random
           number
         r=0.3253
         r=0.6086
         r=0.6723
         r=0.9792
         r=0.6570
         r=0.1839
         r=0.6623
         r=0.9061
        --------------------------------------
         r=0.4460
         r=0.2900
         r=0.5891
         r=0.2038
         r=0.5726
         r=0.4459
         r=0.2682
         r=0.8990
        */

        // The later method (2) appears to be what would result in removing
        // "a constant fraction of the edges"

        int nIter = 0;
        while (!vP.isEmpty()) {

            // creates subgraph of adjMap out of vertexes vP.  note that
            //   it also creates edges uv and vu as G is undirected, and
            //   in order to make the degree counting easier below.
            gP = subgraph(vP, adjMap);

            /*
            if implementing (1):
            // create discrete probabilities, pdf, 1/(dG′(v))
            pdf = createCDF(gP, indexMap);
            cdf = MiscMath0.cumulativeSum(pdf);
            double norm = cdf[cdf.length - 1];
            for (i = 0; i < cdf.length; ++i) {
                cdf[i] /= norm;
            }
            k = some constant fraction of nV
            chosen = CDFRandomSelect.chooseKFromBinarySearch(cdf, k, rand);
            s.clear();
            for (i = 0; i < chosen.length; ++i) {
                v = chosen[i];
                s.add(v);
            }
            */

            //NOTE: this could be revised to use paralell spawn and sync comments
            // or the parallel concurrency keyword in comments
            // as is used in the dynamic multithreading parallelism model.
            // (see Chap 27 of Cormen, Leiserson, Rivest, and Stein "Introduction to Algorithms" whose
            // multithreaded pseudocode and programming model were heavily
            // influenced by the Cilk project at MIT and the Cilk++ extensions
            // to C++ distributed by Cilk Arts, Inc, OpenMP, Task Parallel Library,
            // and Threading Building Blocks)

            /*
            if implementing (2):
            */
            s.clear();
            iterV = vP.iterator();
            while (iterV.hasNext()) {
                v = iterV.next();
                d = gP.get(v).size();
                //pV = 1./(2.*d);
                pV = 1./d;

                r = rand.nextDouble();
                System.out.printf("r=%.4f, pV=%.4f%n", r, pV);

                if (r <= pV) {
                    s.add(v);
                }
            }

            // ---- look for E(G') in S. calling them edge conflicts ----
            resolveEdgeConflicts(s, gP);

            // I = I union S′.
            indep.addAll(s);

            //Let V′ = V′ \ (S′ union N_G′(S′)).
            iterV = s.iterator();
            while (iterV.hasNext()) {
                v = iterV.next();
                vP.remove(v);
                if (gP.containsKey(v)) {
                    nhbrsSet = gP.get(v);
                    iterNhbr = nhbrsSet.iterator();
                    while (iterNhbr.hasNext()) {
                        nhbr = iterNhbr.next();
                        vP.remove(nhbr);
                    }
                }
            }
            nIter++;
        }

        System.out.printf("|V|=%d, nIter=%d%n", nV, nIter);

        return indep;
    }

    /**
     * Find a maximal independent set in graph G defined by the given adjacency map
     * using a sequential algorithm.
     * In graph theory, a maximal independent set (MIS) or maximal stable set is
     * an independent set that is not a subset of any other independent set.
     * In other words, there is no vertex outside the independent set that may
     * join it because it is maximal with respect to the independent set property.
     * An independent set, stable set, coclique or anticlique is a set of
     * vertices in a graph, no two of which are adjacent.
     *
     * runtime complexity is O(log_2(|E|).
     *

      References:

      The sequential algorithm in this:
          Lecture Notes on a Parallel Algorithm for Generating a Maximal Independent Set
            Eric Vigoda
            Georgia Institute of Technology
            Last updated for 7530 - Randomized Algorithms, Spring 2010.
            https://www.cc.gatech.edu/~vigoda/7530-Spring10/MIS.pdf

      https://en.wikipedia.org/wiki/Maximal_independent_set#Listing_all_maximal_independent_sets

     * @param adjMap and adjacency map with key = vertex u and value = set of
     * neighbors connected to u.
     * @return returns a maximal independent set of graph G defined by adjMap
     */
    public static TIntSet findOne(TIntObjectMap<TIntSet> adjMap){
        /*
        Lecture Notes on a Parallel Algorithm for Generating a Maximal Independent Set
        Eric Vigoda
        Georgia Institute of Technology
        Last updated for 7530 - Randomized Algorithms, Spring 2010.

                1. I = ∅, V′= V.
                2. While (V′ ̸= ∅) do
                    (a) Choose any v∈V′.
                    (b) Set I = I ∪ v.
                    (c) Set V′ = V′ \ (v ∪ N(v)). where N(v) are the neighbors of v.
                3. Output I
        */

        TIntObjectMap<TIntSet> toFromAdjMap = extractInOut(adjMap);

        TIntSet indep = new TIntHashSet();
        TIntSet vP = extractAllVertices(adjMap);
        int v;
        TIntSet nhbrs;
        TIntIterator iter;
        while (!vP.isEmpty()) {

            v = vP.iterator().next();

            indep.add(v);

            vP.remove(v);

            nhbrs = toFromAdjMap.get(v);
            if (nhbrs != null) {
                iter = nhbrs.iterator();
                while (iter.hasNext()) {
                    vP.remove(iter.next());
                }
            }
        }

        return indep;
    }

    /**
     * find all maximum independent sets for the given directed graph represented
     * by adjMap.
     * The method internally builds a bipartite graph and then aggregates the
     * matching sets of vertices into independent sets of maximum size.
     * runtime complexity is:
     * @param adjMap directed graph G as an adjacency map
     * @param nV the number of vertexes
     * @return returns a list of all maximum independent sets.  note that a
     * complete graph will return an empty list.
     */
    public static List<TIntSet> findAllMaximum(TIntObjectMap<TIntSet> adjMap, int nV) {

        // === build a cost matrix with all 1's excepting the diagonal and existing edges
        //     which are set to infinity ======

        float[][] matrix = new float[nV][];
        int i;
        int j;
        for (i = 0; i < nV; ++i) {
            matrix[i] = new float[nV];
            Arrays.fill(matrix[i], 1);
            matrix[i][i] = Float.POSITIVE_INFINITY;
        }
        TIntObjectIterator<TIntSet> iter = adjMap.iterator();
        TIntSet set;
        TIntIterator iter2;
        int u;
        int v;
        while (iter.hasNext()) {
            iter.advance();
            u = iter.key();
            set = iter.value();
            if (set == null || set.isEmpty()) {
                continue;
            }
            iter2 = set.iterator();
            while (iter2.hasNext()) {
                v = iter2.next();
                matrix[u][v] = Float.POSITIVE_INFINITY;
            }
        }

        //TOOD: consider cases where bipartite doesn't produce MIS.
        //      e.g. complete graphs?  every item in matrix would be infinity, so
        //       one would need to either to put responsiblity onto the user of graph not
        //       being complete, or assert the condition at start of method, or let
        //       bipartite proceed and then check that each matched pair is
        //       an independent set.  the later is useful for all graphs and
        //       only adds a linear runtime complexity to the algorithm.)

        // -- runtime complexity for bipartite matching is
        HungarianAlgorithm ha = new HungarianAlgorithm();
        int[][] matched = ha.computeAssignments(matrix);

        // === assert that each matched is an independent set and add it to a set of independent sets called s ======

        Set<TIntSet> s = new HashSet<TIntSet>();

        for (i = 0; i < matched.length; ++i) {
            System.out.printf("matched: %s%n", Arrays.toString(matched[i]));
            if (matched[i][0] < 0 || matched[i][1] < 0) {
                continue;
            }
            if (!(adjMap.containsKey(matched[i][0]) && adjMap.get(matched[i][0]).contains(matched[i][1]))
              && !(adjMap.containsKey(matched[i][1]) && adjMap.get(matched[i][1]).contains(matched[i][0]))){
                s.add(new TIntHashSet(matched[i]));
            }
        }

        // -- runtime complexity is O(n) for forming mis --
        return findAllMaximum(s, adjMap);
    }

    /**
     * find all maximum independent sets for the given directed graph represented
     * by adjMap.
     * The method internally builds the complement graph of G, then
     * the maximum matching bipartite graph and then aggregates the
     * matching sets of vertices into independent sets of maximum size.
     * runtime complexity is:
     * @param adjMap directed graph G as an adjacency map
     * @param nV the number of vertexes
     * @return returns a list of all maximum independent sets.  note that a
     * complete graph will return an empty list.
     */
    public static List<TIntSet> findAllMaximum2(TIntObjectMap<TIntSet> adjMap, int nV) {

        // === build a cost matrix with all inf's excepting the complement graph's
        //     edges which are set to 1 ======

        // --- runtime complexity of graph complement is O(|V|^2) ---
        Set<PairInt> comp = Complement.graphComplement(adjMap);
        float[][] matrix = new float[nV][];
        int i;
        int j;
        for (i = 0; i < nV; ++i) {
            matrix[i] = new float[nV];
            Arrays.fill(matrix[i], Float.POSITIVE_INFINITY);
        }
        for (PairInt p : comp) {
            if (p.getX() == p.getY()) {
                continue;
            }
            matrix[p.getX()][p.getY()] = 1;
        }
        HungarianAlgorithm ha = new HungarianAlgorithm();
        int[][] matched = ha.computeAssignments(matrix);

        // === assert that each matched is an independent set and add it to a set of independent sets called s ======

        Set<TIntSet> s = new HashSet<TIntSet>();
        for (i = 0; i < matched.length; ++i) {
            System.out.printf("c matched: %s%n", Arrays.toString(matched[i]));
            if (matched[i][0] < 0 || matched[i][1] < 0) {
                continue;
            }
            if (!(adjMap.containsKey(matched[i][0]) && adjMap.get(matched[i][0]).contains(matched[i][1]))
              && !(adjMap.containsKey(matched[i][1]) && adjMap.get(matched[i][1]).contains(matched[i][0]))){
                s.add(new TIntHashSet(matched[i]));
            }
        }

        // -- runtime complexity is O(n) for forming mis --
        return findAllMaximum(s, adjMap);
    }

    /**
     * find all maximum independent sets for the given directed graph represented
     * by adjMap.
     * The method internally builds a bipartite graph and then aggregates the
     * matching sets of vertices into independent sets of maximum size.
     * runtime complexity is:
     * @param adjMap directed graph G as an adjacency map
     * @return returns a list of all maximum independent sets.  note that a
     * complete graph will return an empty list.
     */
    static List<TIntSet> findAllMaximum(Set<TIntSet> s, TIntObjectMap<TIntSet> adjMap) {

        if (s.isEmpty()) {
            return new ArrayList<TIntSet>();
        }

        int u, v, j;
        TIntIterator iter2;

        // -- runtime complexity is O(n) for forming mis --

        //compatible sets: iterate over each set s to add to existing or m set start new
        boolean notAdded;
        boolean hasEdge;
        TIntSet m;
        int nMIS;
        List<TIntSet> mis = new ArrayList<TIntSet>();
        TIntIterator iter3;
        for (TIntSet si : s) {
            notAdded = true;
            nMIS = mis.size();
            for (j = 0; j < nMIS; ++j) {
                m = mis.get(j);
                // check whether any element of m, along with si elements, is an edge in graph G represented by adj
                hasEdge = false;
                iter2 = m.iterator();
                while (iter2.hasNext()) {
                    v = iter2.next();
                    iter3 = si.iterator();
                    while (!hasEdge && iter3.hasNext()) {
                        u = iter3.next();
                        if ((adjMap.containsKey(u) && adjMap.get(u).contains(v))
                        || (adjMap.containsKey(v) && adjMap.get(v).contains(u))) {
                            hasEdge = true;
                            break;
                        }
                    }
                }
                if (!hasEdge) {
                    m.addAll(si);
                    notAdded = false;
                }
            }
            if (notAdded) {
                mis.add(new TIntHashSet(si));
            }
        }

        // keep only the maximum size maximal sets

        int maxN = 0;
        for (j = 0; j < mis.size(); ++j) {
            m = mis.get(j);
            if (m.size() > maxN) {
                maxN = m.size();
            }
        }
        for (j = mis.size() - 1; j > 0; j--) {
            m = mis.get(j);
            if (m.size() != maxN) {
                mis.remove(j);
            }
        }

        return mis;
    }

    static TIntObjectMap<TIntSet> extractInOut(TIntObjectMap<TIntSet> adjMap) {

        TIntObjectMap<TIntSet> out = new TIntObjectHashMap<TIntSet>();

        TIntObjectIterator<TIntSet> iter = adjMap.iterator();
        TIntSet set, outSetI, outSetJ;
        int i, j;
        TIntIterator iter2;

        while (iter.hasNext()) {
            iter.advance();
            i = iter.key();
            set = iter.value();

            if (set == null) {
                continue;
            }

            outSetI = out.get(i);
            if (outSetI == null) {
                outSetI = new TIntHashSet();
                out.put(i, outSetI);
            }

            iter2 = set.iterator();
            while (iter2.hasNext()) {
                j = iter2.next();

                outSetJ = out.get(j);
                if (outSetJ == null) {
                    outSetJ = new TIntHashSet();
                    out.put(j, outSetJ);
                }

                outSetI.add(j);
                outSetJ.add(i);
            }
        }
        return out;
    }

    static TIntSet extractAllVertices(TIntObjectMap<TIntSet> adjMap) {
        TIntSet out = new TIntHashSet();

        TIntObjectIterator<TIntSet> iter = adjMap.iterator();
        TIntIterator iter2;
        TIntSet set;
        while (iter.hasNext()) {
            iter.advance();
            out.add(iter.key());
            set = iter.value();
            if (set == null) {
                continue;
            }
            iter2 = set.iterator();
            while (iter2.hasNext()) {
                out.add(iter2.next());
            }
        }

        return out;
    }

    static void sort(List<PairInt> edgeConflicts, TIntList edgeDegreesLow) {

        int n = edgeConflicts.size();

        if (n != edgeDegreesLow.size()){
            throw new IllegalArgumentException("arguments must be the same size");
        }

        int[] indexes = new int[n];
        int i;
        for(i = 0; i < n; ++i) {
            indexes[i] = i;
        }

        int[] a = Arrays.copyOf(edgeDegreesLow.toArray(), n);

        MiscSorter.sortBy1stArg(a, indexes);

        PairInt[] s1 = new PairInt[n];
        for (i = 0; i < n; ++i) {
            s1[i] = edgeConflicts.get(indexes[i]);
        }
        edgeConflicts.clear();
        edgeDegreesLow.clear();
        for (i = 0; i < n; ++i) {
            edgeConflicts.add(s1[i]);
            edgeDegreesLow.add(a[i]);
        }

    }

    /**
     * creates subgraph of adjMap out of vertexes vP.  note that
       it also creates edges uv and vu as G is undirected, and
       in order to make the degree counting easier where needed.
     * @param vP
     * @param adjMap
     * @return
     */
    static TIntObjectMap<TIntSet> subgraph(TIntSet vP, TIntObjectMap<TIntSet> adjMap) {

        TIntObjectMap<TIntSet> out = new TIntObjectHashMap<TIntSet>();

        TIntIterator iter;
        int v, adj;
        TIntIterator iter2;
        TIntSet outSet;
        TIntSet adjSet;
        TIntSet outSet2;

        iter = vP.iterator();
        while (iter.hasNext()) {
            v = iter.next();
            outSet = out.get(v);
            if (outSet == null) {
                outSet = new TIntHashSet();
                out.put(v, outSet);
            }

            adjSet = adjMap.get(v);

            if (adjSet == null || adjSet.isEmpty()) {
                continue;
            }

            iter2 = adjSet.iterator();
            while (iter2.hasNext()) {
                adj = iter2.next();

                outSet.add(adj);

                outSet2 = out.get(adj);
                if (outSet2 == null) {
                    outSet2 = new TIntHashSet();
                    out.put(adj, outSet2);
                }

                outSet2.add(v);
            }
        }

        return out;
    }

    private static void resolveEdgeConflicts(TIntSet s, TIntObjectMap<TIntSet> gP) {

        //For every edge (u, v) ∈ E(G′) if both endpoints are in S then
        // remove the vertex of lower degree from S (Break ties arbitrarily).
        // Call this new set S′.

        // avoiding the comparison of all combinations of vertexes in edgeConflicts
        //     to find the max size S, by a greedy pick.

        // these will be ordered by lowest degree, to remove a vertex in each edge from S
        List<PairInt> edgeConflicts = new ArrayList<PairInt>();
        TIntList edgeDegreesLow = new TIntArrayList();

        int dU;
        TIntObjectIterator<TIntSet> iterGP;
        int v;
        int nhbr;
        TIntSet nhbrsSet;
        TIntIterator iterNhbr;

        iterGP = gP.iterator();
        while (iterGP.hasNext()) {
            iterGP.advance();

            v = iterGP.key();
            nhbrsSet = iterGP.value();

            if (!s.contains(v) || nhbrsSet == null || nhbrsSet.isEmpty()) {
                continue;
            }

            iterNhbr = nhbrsSet.iterator();
            while (iterNhbr.hasNext()) {

                nhbr = iterNhbr.next();

                if (!s.contains(nhbr)) {
                    continue;
                }

                dU = gP.get(nhbr).size();
                if (v < nhbr) {
                    edgeConflicts.add(new PairInt(v, nhbr));
                } else {
                    edgeConflicts.add(new PairInt(nhbr, v));
                }
                edgeDegreesLow.add(Math.min(nhbrsSet.size(), dU));
            }
        }

        sort(edgeConflicts, edgeDegreesLow);

        int u;
        int d;

        for (PairInt uv : edgeConflicts) {
            u = uv.getX();
            v = uv.getY();
            //for each conflicting edge, check again for presence in S and then keep only the higher degree vertex
            if (s.contains(u) && s.contains(v)) {
                d = gP.get(v).size();
                dU = gP.get(u).size();
                if (dU > d) {
                    s.remove(v);
                } else {
                    s.remove(u);
                }
            }
        }

    }
}


text:
<root>
  <title>Vannevar Bush</title>
  <popularity>5</popularity>
  <id>0011</id>
  <date xmlns="http://purl.org/dc/elements/1.1/">2005-01-01</date>
  <price xmlns="http://cloudbank.com" amt="0.1"/>
  <score xmlns="http://test.aggr.com">56.7</score>
  <rate xmlns="http://test.tups.com">3</rate>

Vannevar Bush wrote an article for The Atlantic Monthly

</root>


text:
+-----------+-------------------+
| stddiag   | R Documentation   |
+-----------+-------------------+

data from Exercise 5.6, p146
----------------------------

Description
~~~~~~~~~~~

The ``stddiag`` data frame has 25 rows and 2 columns.

Format
~~~~~~

This data frame contains the following columns:

encounter
    Months from 1/93 to encounter

diagnosed
    Months until STD diagnosed in the clinic

Source
~~~~~~

Klein and Moeschberger (1997) *Survival Analysis Techniques for Censored
and truncated data*, Springer.

Examples
~~~~~~~~

::

    data(stddiag)


text:
package org.araqne.regex.tester;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Runner {
	public static void main(String[] args) throws IOException {
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		System.out.print("line? ");
		String line = reader.readLine();

		System.out.println("press ctrl-c to break");
		while (true) {
			try {
				System.out.print("regex? ");
				String regex = reader.readLine();
				Pattern p = Pattern.compile(regex);
				Matcher m = p.matcher(line);
				if (m.find()) {
					for (int i = 0; i <= m.groupCount(); i++)
						System.out.println("#" + i + ": " + m.group(i));
				} else {
					System.out.println("no pattern match");
				}
			} catch (Throwable t) {
				t.printStackTrace();
			}
		}
	}
}


text:
<!--
help-runOnFail.html

Copyright 2016 Jared Sweetland, Vamshi Basupalli, James A. Kupsch

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div>
  If checked, the package will be uploaded and assessed even if the build fails
</div>


text:
[instagram-private-api](../../README.md) / [responses](../../modules/responses.md) / ReelsTrayFeedResponseUser

# Interface: ReelsTrayFeedResponseUser

[responses](../../modules/responses.md).ReelsTrayFeedResponseUser

## Table of contents

### Properties

- [friendship\_status](ReelsTrayFeedResponseUser.md#friendship_status)
- [full\_name](ReelsTrayFeedResponseUser.md#full_name)
- [is\_private](ReelsTrayFeedResponseUser.md#is_private)
- [is\_verified](ReelsTrayFeedResponseUser.md#is_verified)
- [pk](ReelsTrayFeedResponseUser.md#pk)
- [profile\_pic\_id](ReelsTrayFeedResponseUser.md#profile_pic_id)
- [profile\_pic\_url](ReelsTrayFeedResponseUser.md#profile_pic_url)
- [username](ReelsTrayFeedResponseUser.md#username)

## Properties

### friendship\_status

• `Optional` **friendship\_status**: [`ReelsTrayFeedResponseFriendship_status`](ReelsTrayFeedResponseFriendship_status.md)

#### Defined in

[src/responses/reels-tray.feed.response.ts:39](https://github.com/Nerixyz/instagram-private-api/blob/b3351b9/src/responses/reels-tray.feed.response.ts#L39)

___

### full\_name

• `Optional` **full\_name**: `string`

#### Defined in

[src/responses/reels-tray.feed.response.ts:34](https://github.com/Nerixyz/instagram-private-api/blob/b3351b9/src/responses/reels-tray.feed.response.ts#L34)

___

### is\_private

• `Optional` **is\_private**: `boolean`

#### Defined in

[src/responses/reels-tray.feed.response.ts:35](https://github.com/Nerixyz/instagram-private-api/blob/b3351b9/src/responses/reels-tray.feed.response.ts#L35)

___

### is\_verified

• `Optional` **is\_verified**: `boolean`

#### Defined in

[src/responses/reels-tray.feed.response.ts:38](https://github.com/Nerixyz/instagram-private-api/blob/b3351b9/src/responses/reels-tray.feed.response.ts#L38)

___

### pk

• **pk**: `number`

#### Defined in

[src/responses/reels-tray.feed.response.ts:32](https://github.com/Nerixyz/instagram-private-api/blob/b3351b9/src/responses/reels-tray.feed.response.ts#L32)

___

### profile\_pic\_id

• `Optional` **profile\_pic\_id**: `string`

#### Defined in

[src/responses/reels-tray.feed.response.ts:37](https://github.com/Nerixyz/instagram-private-api/blob/b3351b9/src/responses/reels-tray.feed.response.ts#L37)

___

### profile\_pic\_url

• `Optional` **profile\_pic\_url**: `string`

#### Defined in

[src/responses/reels-tray.feed.response.ts:36](https://github.com/Nerixyz/instagram-private-api/blob/b3351b9/src/responses/reels-tray.feed.response.ts#L36)

___

### username

• `Optional` **username**: `string`

#### Defined in

[src/responses/reels-tray.feed.response.ts:33](https://github.com/Nerixyz/instagram-private-api/blob/b3351b9/src/responses/reels-tray.feed.response.ts#L33)


text:
package cn.fmachine.fb;

/**
 * Follow up for "Remove Duplicates":
 * What if duplicates are allowed at most twice?
 *

 * For example,
 * Given sorted array A = [1,1,1,2,2,3],
 *

 * Your function should return length = 5, and A is now [1,1,2,2,3].
 *

 * Have you met this question in a real interview? Yes
 * Example
 * Tags
 * Two Pointers Array Facebook
 * Related Problems
 * Easy Remove Element 31 %
 * Easy Remove Duplicates from Sorted Array
 *

 * algorithm
 * Author: XIN MING
 * Date: 11/29/16
 */
public class RemoveDuplicatesFromSortedArrayII {
    public int removeDuplicates(int[] nums) {
        if (nums == null) {
            return 0;
        }

        int arrIndex = 0;
        int i, j;
        for (i = 0; i < nums.length; i = j) {
            int now = nums[i];
            for (j = i; j < nums.length; j++) {
                if (nums[j] != now) {
                    break;
                }
                if (j - i < 2) {
                    nums[arrIndex++] = now;
                }
            }
        }
        return arrIndex;
    }
}


text:
package generated.fliesenui.core;

import android.app.Activity;
import android.graphics.Bitmap;
import android.util.Pair;
import android.util.TypedValue;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import generated.fliesenui.core.FLUIAndroidUtil.SizeUnit;

public class FLUIAndroidIconAndLabelListAdapter extends ArrayAdapter<String> {
	private static final double DEFAULT_TEXT_SIZE_IN_DIP = 20;

	private List<Pair<Bitmap, String>> items;
	private Activity activity;
	private final int ICON_VIEW_ID = 1;
	private final int LABEL_VIEW_ID = 2;
	private double maxImageWidthInCM;
	private double maxImageHeightInCM;
	private double textSize = DEFAULT_TEXT_SIZE_IN_DIP;
	private SizeUnit textSizeUnit = SizeUnit.DIP;

	public FLUIAndroidIconAndLabelListAdapter(Activity activity, List<Pair<Bitmap, String>> items){
		this(activity, items, 0.6, 0.6, DEFAULT_TEXT_SIZE_IN_DIP, SizeUnit.DIP);
	}

	public static FLUIAndroidIconAndLabelListAdapter createWithCheckboxes(Activity activity
															            , List<Pair<Bitmap, String>> items
															            , double maxImageWidthInCM
															            , double maxImageHeightInCM){
		return createWithCheckboxes(activity , items , maxImageWidthInCM, maxImageHeightInCM, DEFAULT_TEXT_SIZE_IN_DIP, SizeUnit.DIP);
	}

	public static FLUIAndroidIconAndLabelListAdapter createWithCheckboxes(Activity activity
			                                , List<Pair<Bitmap, String>> items
			                                , double maxImageWidthInCM
			                                , double maxImageHeightInCM
			                                , double textSize
			                                , SizeUnit textSizeUnit){
		return new FLUIAndroidIconAndLabelListAdapter(android.R.layout.simple_list_item_multiple_choice, activity, items
				       , maxImageWidthInCM, maxImageHeightInCM, textSize, textSizeUnit);
	}

	@Deprecated
	//: either DIP should be used or the unit should be explicitly specified
	public static FLUIAndroidIconAndLabelListAdapter createWithCheckboxes(Activity activity
			                                , List<Pair<Bitmap, String>> items
			                                , double maxImageWidthInCM
			                                , double maxImageHeightInCM
			                                , double textSizeInCM){
		return new FLUIAndroidIconAndLabelListAdapter(android.R.layout.simple_list_item_multiple_choice, activity, items
				       , maxImageWidthInCM, maxImageHeightInCM, textSizeInCM);
	}

	@Deprecated
	//: either DIP should be used or the unit should be explicitly specified
	private FLUIAndroidIconAndLabelListAdapter(int layoutID, Activity activity, List<Pair<Bitmap, String>> items, double maxImageWidthInCM, double maxImageHeightInCM, double textSizeInCM){
		super(activity, layoutID, getStrings(items));
		this.items = items;
		this.activity = activity;
		this.maxImageWidthInCM = maxImageWidthInCM;
		this.maxImageHeightInCM = maxImageHeightInCM;
		this.textSize = textSizeInCM;
		this.textSizeUnit = SizeUnit.CM;
	}

	private FLUIAndroidIconAndLabelListAdapter(int layoutID, Activity activity, List<Pair<Bitmap, String>> items, double maxImageWidthInCM
			, double maxImageHeightInCM, double textSize, SizeUnit textSizeUnit){
		super(activity, layoutID, getStrings(items));
		this.items = items;
		this.activity = activity;
		this.maxImageWidthInCM = maxImageWidthInCM;
		this.maxImageHeightInCM = maxImageHeightInCM;
		this.textSize = textSize;
		this.textSizeUnit = textSizeUnit;
	}

	public FLUIAndroidIconAndLabelListAdapter(Activity activity, List<Pair<Bitmap, String>> items, double maxImageWidthInCM, double maxImageHeightInCM){
		this(activity, items, maxImageWidthInCM, maxImageHeightInCM, DEFAULT_TEXT_SIZE_IN_DIP, SizeUnit.DIP);
	}

	@Deprecated
	//: either DIP should be used or the unit should be explicitly specified
	public FLUIAndroidIconAndLabelListAdapter(Activity activity, List<Pair<Bitmap, String>> items, double maxImageWidthInCM, double maxImageHeightInCM, double textSizeInCM){
		this(activity, items, maxImageWidthInCM, maxImageHeightInCM, textSizeInCM, SizeUnit.CM);
	}

	public FLUIAndroidIconAndLabelListAdapter(Activity activity, List<Pair<Bitmap, String>> items, double maxImageWidthInCM
			, double maxImageHeightInCM, double textSize, SizeUnit textSizeUnit){
		super(activity, android.R.layout.simple_list_item_1, getStrings(items));
		this.items = items;
		this.activity = activity;
		this.maxImageWidthInCM = maxImageWidthInCM;
		this.maxImageHeightInCM = maxImageHeightInCM;
		this.textSize = textSize;
		this.textSizeUnit = textSizeUnit;
	}

	@Override
	public int getCount() {
		return items.size();
	}

	@Override
	public String getItem(int position) {
		return items.get(position).second;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		View row = convertView;
		FLUIAndroidImageView imageView = null;
		TextView labelView = null;
		if (row == null) {
			LinearLayout panel = new LinearLayout(activity);
			panel.setOrientation(LinearLayout.HORIZONTAL);
			imageView = new FLUIAndroidImageView(activity, null, null);
            //noinspection ResourceType
            imageView.setId(ICON_VIEW_ID);
			panel.addView(imageView, (int)FLUIAndroidUtil.getPixelHeightForCM(activity, maxImageWidthInCM), (int)FLUIAndroidUtil.getPixelWidthForCM(activity, maxImageHeightInCM));
			labelView = new TextView(activity);

			if (textSizeUnit == SizeUnit.CM) labelView.setTextSize(TypedValue.COMPLEX_UNIT_MM, (float)(textSize * 10));
			else labelView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, (float)textSize);

			labelView.setPadding((int)FLUIAndroidUtil.getPixelWidthForCM(activity, 0.10)
					, (int)FLUIAndroidUtil.getPixelHeightForCM(activity, 0.1)
					, 0
					, 0);
            //noinspection ResourceType
            labelView.setId(LABEL_VIEW_ID);
			panel.addView(labelView);
			row = panel;
		} else {
			imageView = (FLUIAndroidImageView)row.findViewById(ICON_VIEW_ID);
			labelView = (TextView)row.findViewById(LABEL_VIEW_ID);
		}
		imageView.setImage(items.get(position).first);
		labelView.setText(items.get(position).second);
		return row;
	}

	private static List<String> getStrings(Collection<Pair<Bitmap, String>> items) {
		List<String> result = new ArrayList<String>();
		for (Pair<Bitmap, String> i: items){
			result.add(i.second);
		}
		return result;
	}

}


text:
<?php

namespace CE\TestBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Event
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class Event
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="title", type="string", length=255)
     */
    private $title;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="start", type="datetime")
     */
    private $start;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="end", type="datetime")
     */
    private $end;

    /**
     * @var string
     *
     * @ORM\Column(name="description", type="text", nullable=true)
     */
    private $description;

    /**
     * @var integer
     *
     * @ORM\Column(name="numAppointments", type="integer", nullable=true)
     */
    private $numAppointments;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="untilDate", type="date", nullable=true)
     */
    private $untilDate;

    /**
     * @var string
     *
     * @ORM\Column(name="color", type="string", length=6)
     */
    private $color;

    /**
     * @var
     *
     * @ORM\OneToOne(targetEntity="RepeatPattern")
     */
    private $repeatPattern;

    /**
     * @var
     *
     * @ORM\ManyToOne(targetEntity="User", inversedBy="events")
     */
    private $user;

    /**
     * @var
     *
     * @ORM\ManyToMany(targetEntity="User")
     */
    private $attendants;

    /**
     * @var
     *
     * @ORM\ManyToOne(targetEntity="Calendar", inversedBy="events")
     */
    private $calendar;

    /**
     * Get id
     *
     * @return integer
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set title
     *
     * @param string $title
     * @return Event
     */
    public function setTitle($title)
    {
        $this->title = $title;

        return $this;
    }

    /**
     * Get title
     *
     * @return string
     */
    public function getTitle()
    {
        return $this->title;
    }

    /**
     * Set start
     *
     * @param \DateTime $start
     * @return Event
     */
    public function setStart($start)
    {
        $this->start = $start;

        return $this;
    }

    /**
     * Get start
     *
     * @return \DateTime
     */
    public function getStart()
    {
        return $this->start;
    }

    /**
     * Set end
     *
     * @param \DateTime $end
     * @return Event
     */
    public function setEnd($end)
    {
        $this->end = $end;

        return $this;
    }

    /**
     * Get end
     *
     * @return \DateTime
     */
    public function getEnd()
    {
        return $this->end;
    }

    /**
     * Set description
     *
     * @param string $description
     * @return Event
     */
    public function setDescription($description)
    {
        $this->description = $description;

        return $this;
    }

    /**
     * Get description
     *
     * @return string
     */
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * Set numAppointments
     *
     * @param integer $numAppointments
     * @return Event
     */
    public function setNumAppointments($numAppointments)
    {
        $this->numAppointments = $numAppointments;

        return $this;
    }

    /**
     * Get numAppointments
     *
     * @return integer
     */
    public function getNumAppointments()
    {
        return $this->numAppointments;
    }

    /**
     * Set untilDate
     *
     * @param \DateTime $untilDate
     * @return Event
     */
    public function setUntilDate($untilDate)
    {
        $this->untilDate = $untilDate;

        return $this;
    }

    /**
     * Get untilDate
     *
     * @return \DateTime
     */
    public function getUntilDate()
    {
        return $this->untilDate;
    }

    /**
     * Set repeatPattern
     *
     * @param \CE\TestBundle\Entity\RepeatPattern $repeatPattern
     * @return Event
     */
    public function setRepeatPattern(\CE\TestBundle\Entity\RepeatPattern $repeatPattern = null)
    {
        $this->repeatPattern = $repeatPattern;

        return $this;
    }

    /**
     * Get repeatPattern
     *
     * @return \CE\TestBundle\Entity\RepeatPattern
     */
    public function getRepeatPattern()
    {
        return $this->repeatPattern;
    }

    /**
     * Set user
     *
     * @param \CE\TestBundle\Entity\User $user
     * @return Event
     */
    public function setUser(\CE\TestBundle\Entity\User $user = null)
    {
        $this->user = $user;

        return $this;
    }

    /**
     * Get user
     *
     * @return \CE\TestBundle\Entity\User
     */
    public function getUser()
    {
        return $this->user;
    }
    /**
     * Constructor
     */
    public function __construct()
    {
        $this->attendants = new \Doctrine\Common\Collections\ArrayCollection();
    }

    /**
     * Add attendants
     *
     * @param \CE\TestBundle\Entity\User $attendants
     * @return Event
     */
    public function addAttendant(\CE\TestBundle\Entity\User $attendants)
    {
        $this->attendants[] = $attendants;

        return $this;
    }

    /**
     * Remove attendants
     *
     * @param \CE\TestBundle\Entity\User $attendants
     */
    public function removeAttendant(\CE\TestBundle\Entity\User $attendants)
    {
        $this->attendants->removeElement($attendants);
    }

    /**
     * Get attendants
     *
     * @return \Doctrine\Common\Collections\Collection
     */
    public function getAttendants()
    {
        return $this->attendants;
    }

    /**
     * Set calendar
     *
     * @param \CE\TestBundle\Entity\Calendar $calendar
     * @return Event
     */
    public function setCalendar(\CE\TestBundle\Entity\Calendar $calendar = null)
    {
        $this->calendar = $calendar;

        return $this;
    }

    /**
     * Get calendar
     *
     * @return \CE\TestBundle\Entity\Calendar
     */
    public function getCalendar()
    {
        return $this->calendar;
    }

    /**
     * Set color
     *
     * @param string $color
     * @return Event
     */
    public function setColor($color)
    {
        $this->color = $color;

        return $this;
    }

    /**
     * Get color
     *
     * @return string
     */
    public function getColor()
    {
        return $this->color;
    }
}


text:
module Referrals
  class CaptureReferralActionService

    private
    attr_reader :referral, :amount, :info

    public

    def initialize(referral:, amount:, info:)
      @referral = referral
      @amount = amount # instance of Money
      @info = info
    end

    def call
      return unless partner
      partner.transaction do
        create_income_history
        update_partner_amount
      end
    end

    private

    def partner
      @partner ||= referral.referral_user.try(:partner)
    end

    def create_income_history
      partner.income_histories.create(
          referral: referral,
          amount: amount,
          share: partner.share,
          share_amount: share_amount,
          info: info
      )
    end

    def update_partner_amount
      partner.increase_amount(share_amount)
      partner.save
    end

    def share_amount
      partner.share * amount
    end
  end
end


text:
package org.zaproxy.zap.extension.fuzz.httpfuzzer.ui;

import java.awt.EventQueue;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import org.parosproxy.paros.Constant;

@SuppressWarnings("serial")
public class HttpFuzzerErrorsTableModel extends AbstractTableModel {

    private static final long serialVersionUID = -7564323068526325209L;

    private static final String[] COLUMN_NAMES = {
        Constant.messages.getString("fuzz.httpfuzzer.results.tab.errors.table.header.taskId"),
        Constant.messages.getString("fuzz.httpfuzzer.results.tab.errors.table.header.source"),
        Constant.messages.getString("fuzz.httpfuzzer.results.tab.errors.table.header.message")
    };

    private List<FuzzerError> errors;

    public HttpFuzzerErrorsTableModel() {
        errors = new ArrayList<>();
    }

    public void addFuzzerError(final long taskId, final String source, final String message) {
        EventQueue.invokeLater(
                () -> {
                    int row = errors.size();
                    errors.add(new FuzzerError(taskId, source, message));
                    fireTableRowsInserted(row, row);
                });
    }

    @Override
    public int getRowCount() {
        return errors.size();
    }

    @Override
    public int getColumnCount() {
        return COLUMN_NAMES.length;
    }

    @Override
    public String getColumnName(int column) {
        return COLUMN_NAMES[column];
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        FuzzerError error = errors.get(rowIndex);
        switch (columnIndex) {
            case 0:
                return Long.valueOf(error.getTaskId());
            case 1:
                return error.getSource();
            case 2:
                return error.getMessage();
        }
        return "";
    }

    @Override
    public Class<?> getColumnClass(int columnIndex) {
        if (columnIndex == 0) {
            return Long.class;
        }
        return String.class;
    }

    private static class FuzzerError {

        private final long taskId;
        private final String source;
        private final String message;

        public FuzzerError(long taskId, String source, String message) {
            this.taskId = taskId;
            this.source = source;
            this.message = message;
        }

        public long getTaskId() {
            return taskId;
        }

        public String getSource() {
            return source;
        }

        public String getMessage() {
            return message;
        }
    }
}


text:
package org.sql2o.pojos;

/**
 * Created by IntelliJ IDEA.
 * User: lars
 * Date: 11/20/11
 * Time: 8:17 PM
 * To change this template use File | Settings | File Templates.
 */
public class Multi1 {

    private Long id;
    private String value;

    public Long getId() {
        return id;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}