Condor DE169 (CFG169) von Pristina nach Munich (2024)

19. Aug 2024

Verspätet
Dieser Flug ist geplant, er wird in 7 Stunden abfliegen.

PRN

Pristina

MUC

Munich
TERMINAL: 1

19 Aug 21:05CEST
19 Aug 20:55
19:05 UTC
10 min verspätet

19 Aug 22:55CEST
20:55 UTC

FLUGGESELLSCHAFT

NAME
Condor

IATA / ICAO
DE / CFG

LAND
Germany
Informationen Zur Fluggesellschaft
" : ""}Condor DE169 (CFG169) von Pristina nach Munich (5)`; if (activeHex in marker) { liveMap.removeLayer(marker[activeHex]); } const m = L.marker(activeMarker.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: activeHex, opacity: lp[7] != '' ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[activeHex] = m; document.getElementById(`mi-${activeHex}`).style.transform = `rotate(${lp[2]}deg)`; activeMarker = null; } activeHex = null; liveTrack = null; liveMarker = null; estTrack = null; document.getElementById('liveMapContainer').style.display = 'none'; document.getElementById('mapSearch').style.display = 'block';} /** * Recalculates the new position of a marker based on the time elapsed and its previous state. * @param {Object} liveMap */async function updateCalc(liveMap) { if (recalcInProg || liveMap.getZoom() < 6) { return; } recalcInProg = true; for (const [key, prevPos] of Object.entries(lastPos)) { if (key in marker && prevPos[3] >= 50 && !prevPos[6]) { const speed = prevPos[3] || 0; const interval = Date.now() - prevPos[4]; const dist = speed * interval / 1000 / 3600 * 1852; if (dist < 20) { continue; } // calculate next position const lat1 = toRad(prevPos[0]); const lon1 = toRad(prevPos[1]); const brng = toRad(prevPos[2]); const lat2 = Math.asin(sin(lat1) * cos(dist / r_earth) + cos(lat1) * sin(dist / r_earth) * cos(brng)); const lon2 = lon1 + Math.atan2(sin(brng) * sin(dist / r_earth) * cos(lat1), cos(dist / r_earth) - sin(lat1) * sin(lat2)); const lat2d = toDeg(lat2); const lon2d = toDeg(lon2); lastPos[key] = [lat2d, lon2d, prevPos[2], prevPos[3], Date.now(), prevPos[5], prevPos[6], prevPos[7]]; marker[key].setLatLng([lat2d, lon2d]); if (liveTrack && activeMarker == key) { const l = liveTrack.getLatLngs(); l.push(L.latLng(lat2d, lon2d, prevPos[5])); try { liveTrack.setLatLngs(l); } catch (e) { /* Catch error silently. */ } if (activeDest) { const tn = L.latLng(lat2d, lon2d); liveMap.removeLayer(estTrack); const arcOptions = { color: "lightgray", noClip: true, vertices: 100 }; estTrack = t.lng < tn.lng ? L.Polyline.Arc(activeDest, tn, arcOptions) : L.Polyline.Arc(tn, activeDest, arcOptions); estTrack.addTo(liveMap); tracks.push(estTrack); } } } } recalcInProg = false;}/** * Fetches data from a specific URL, handles errors and returns the JSON response. * @param {string} url */async function getData(url) { const response = await fetch(url, { headers: { Authorization: auth_token } }); if (!response.ok) { handleFetchErrors(response); return null; } if (sf === "") { document.getElementById("liveUpdErr").style.display = 'none'; document.getElementById("liveUpdNotFound").style.display = 'none'; } return response.json();}/** * Handles errors during fetch call * @param {Object} response */function handleFetchErrors(response) { if (sf !== "") return; const liveUpdErr = document.getElementById("liveUpdErr"); const liveUpdNotFound = document.getElementById("liveUpdNotFound"); const liveMapContainer = document.getElementById("liveMapContainer"); const mapSearch = document.getElementById("mapSearch"); if (response.status !== 404) { refreshsActive = false; liveUpdNotFound.style.display = 'none'; liveUpdErr.style.display = 'block'; liveMapContainer.style.display = 'none'; mapSearch.style.display = 'block'; document.getElementById("liveUpdErrCode").innerText = response.status; } else { liveUpdErr.style.display = 'none'; liveMapContainer.style.display = 'none'; mapSearch.style.display = 'block'; liveUpdNotFound.style.display = 'block'; }}async function updateMap(liveMap, fromZoom, clickHex) { if (documentIsHidden()) return; const bounds = liveMap.getBounds(); const url = constructURL(bounds, liveMap.getZoom(), clickHex); if (updateInProgressOrTooSoon(fromZoom)) return; recalcInProg = true; lastUpdate = Date.now(); updateInProg = true; const ld = await getData(url); if (!ld) { updateInProg = false; return; } processMapData(liveMap, ld, fromZoom, clickHex);}function documentIsHidden() { return typeof document.hidden !== "undefined" && document.hidden;}function constructURL(bounds, zoom, clickHex) { const widthText = screenWidth > 1000 ? "large" : "small"; const hexIncl = clickHex ? `?incl=${clickHex}&` : "?"; return `/en/live/map/${Math.floor(bounds['_northEast'].lat * 1e5)}/${Math.floor(bounds['_southWest'].lat * 1e5)}/` + `${Math.floor(bounds['_southWest'].lng * 1e5)}/${Math.floor(bounds['_northEast'].lng * 1e5)}/${zoom}/${widthText}` + hexIncl + `${Math.floor(Date.now() / 5000)}`;}function updateInProgressOrTooSoon(fromZoom) { if (updateInProg) { return true; } const freq = fromZoom ? minZoomFreq : minRefreshFreq; return Date.now() - lastUpdate < freq;}function processMapData(liveMap, ld, fromZoom, clickHex) { newMarker = {}; arcs = []; curArc = []; arcCol = ""; prevCoord = []; document.getElementById("nr_flights_disp").innerText = ld["f"]; document.getElementById("nr_flights_tot").innerText = ld["t"]; const st = screenWidth / ld["f"] > 5; const redraw = st !== hadTitles; for (const entr in ld["m"]) { const e = ld["m"][entr]; handleMarker(liveMap, e, redraw, st); } hadTitles = st; removeUnusedMarkers(liveMap); updateInProg = false; recalcInProg = false; firstUpd = false; if (clickHex) { marker[clickHex].fire('click'); }}function handleMarker(liveMap, e, redraw, st) { if (e[4] == null || e[5] == null) { return; } const currentPos = L.latLng(e[4], e[5]); if (redraw && e[0] in marker) { liveMap.removeLayer(marker[e[0]]); delete marker[e[0]]; } if (e[0] in marker) { updateExistingMarker(e, currentPos); } else { createNewMarker(liveMap, e, currentPos, st); }}function updateExistingMarker(e, currentPos) { const m = marker[e[0]]; m.setLatLng(currentPos); lastPos[e[0]] = [e[4], e[5], e[2], e[6], Date.now(), e[7], e[8], e[9]]; newMarker[e[0]] = true; document.getElementById("mi-" + e[0]).style.transform = "rotate(" + e[2] + "deg)";}function createNewMarker(liveMap, e, currentPos, st) { var des = TypeDesignatorIcons[e[10]]; if (!des) { des = DefaultIcon; } const htmlc = (st ? "

" + e[9] + "

" : "") + "Condor DE169 (CFG169) von Pristina nach Munich (6)"; const m = L.marker(currentPos, { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: e[0], opacity: e[3] ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[e[0]] = m; markerType[e[0]] = des; newMarker[e[0]] = true; lastPos[e[0]] = [e[4], e[5], e[2], e[6], Date.now(), e[7], e[8], e[9]]; document.getElementById("mi-" + e[0]).style.transform = "rotate(" + e[2] + "deg)";}function removeUnusedMarkers(liveMap) { for (const m in marker) { if (!(m in newMarker) && m != activeHex) { liveMap.removeLayer(marker[m]); delete marker[m]; } }}function onPlaneClick(e) { if (sf != "") { return; } updateInProg = true; const liveMap = e.target._map; const hex = e.target.options.alt; if (hex == activeHex) { return; } updateTrack(liveMap, `/${lang}/live/track_hex/${hex}`, hex, e);}function onMoveend(e) { localStorage.setItem('livemapCenter', JSON.stringify(e.target.getCenter())); localStorage.setItem('livemapZoom', e.target.getZoom()); updateMap(e.sourceTarget, false); } function onZoomed(e) { updateMap(e.sourceTarget, true) }// Define a utility function for creating a markerfunction createMarker(latLng, iconClass, htmlContent, alt, opacity) { return L.marker(latLng, { icon: L.divIcon({ className: iconClass, html: htmlContent }), alt: alt, opacity: opacity, }).on('click', onPlaneClick);}function updateTrack(liveMap, url, hex, e) { let prevCoord = null; let prevCoordFull = null; getData(url).then(function (ld) { if (!ld) { return; } const hadNoHex = hex === ""; if (hex === "" && url.includes("hex")) { hex = ld[0]; } else if (hex === "") { hex = ld[1]; } if (activeMarker && hex !== activeHex) { // Reset old marker const lp = lastPos[activeHex]; const des = markerType[activeHex]; const htmlc = (hadTitles ? "

" + lp[7] + "

" : "") + "Condor DE169 (CFG169) von Pristina nach Munich (7)`; liveMap.removeLayer(marker[activeHex]); const m = L.marker(activeMarker.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: activeHex, opacity: lp[7] != '' ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[activeHex] = m; markerType[activeHex] = des; document.getElementById("mi-" + activeHex).style.transform = "rotate(" + lp[2] + "deg)"; activeMarker = m; } // Set new marker const target = e ? e.target : marker[hex]; if (hex !== activeHex && target) { const lp = lastPos[hex]; const des = markerType[hex]; const htmlc = (hadTitles ? "

" + lp[7] + "

" : "") + "Condor DE169 (CFG169) von Pristina nach Munich (8)`; const m = L.marker(target.getLatLng(), { icon: L.divIcon({ className: 'flt-marker', html: htmlc }), alt: hex, opacity: ld[3] ? 0.9 : 0.6 }).addTo(liveMap).on('click', onPlaneClick); marker[hex] = m; liveMap.removeLayer(target); activeMarker = m; if (!e) { document.getElementById("mi-" + hex).style.transform = "rotate(" + lp[2] + "deg)"; } } refreshsActive = true; recalcInProg = true; arcs = []; curArc = []; arcCol = ""; prevCoord = []; track = ld[23]; if (sf === "") { if (ld[0] !== "") { domElements.get("liveFlnr").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveFlnr").innerText = ld[0]; } else { domElements.get("liveFlnr").innerText = ""; domElements.get("liveFlnr").href = ""; } if (ld[21]) { domElements.get("liveAirline").innerText = ld[21]; } else { domElements.get("liveAirline").innerText = ""; } domElements.get("liveHex").innerText = ld[1]; if (ld[2] !== "" && ld[2] !== ld[0]) { domElements.get("liveCallsign").innerText = ld[2]; } else { domElements.get("liveCallsign").innerText = ""; } if (ld[3] !== "") { domElements.get("liveReg").href = `/${lang}/planes/${ld[3]}`; domElements.get("liveRegBlock").style.display = "block"; domElements.get("liveReg").innerText = ld[3]; } else { domElements.get("liveReg").innerText = "NA"; domElements.get("liveRegBlock").style.display = "none"; domElements.get("liveReg").href = ""; } if (ld[4] !== "NA") { if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "block"; } domElements.get("liveDep").innerText = ld[5]; domElements.get("liveDepFlag").src = "/staticfiles/" + ld[6].toLowerCase() + ".svg"; domElements.get("liveDep").href = `/${lang}/airport/${ld[5]}/${ld[4]}`; domElements.get("liveDepTime").innerText = ld[11]; if (ld[19] && ld[19] !== "+0") { domElements.get("liveDepDelay").innerText = ld[19]; } else { domElements.get("liveDepDelay").innerText = ""; } } else { domElements.get("liveDep").innerText = "NA"; domElements.get("liveDepTime").innerText = ""; domElements.get("liveDepDelay").innerText = ""; if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "none"; } } if (ld[7] !== "NA") { if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "block"; } domElements.get("liveArr").innerText = ld[8]; domElements.get("liveArrFlag").src = "/staticfiles/" + ld[9].toLowerCase() + ".svg"; domElements.get("liveArr").href = `/${lang}/airport/${ld[8]}/${ld[7]}`; domElements.get("liveArrTime").innerText = ld[12]; if (ld[20] && ld[20] !== "+0") { domElements.get("liveArrDelay").innerText = ld[20]; } else { domElements.get("liveArrDelay").innerText = ""; } } else { domElements.get("liveArr").innerText = "NA"; domElements.get("liveArrTime").innerText = ""; domElements.get("liveArrDelay").innerText = ""; if (domElements.get("liveRouteContainer")) { domElements.get("liveRouteContainer").style.display = "none"; } } if (ld[10] !== null) { domElements.get("liveLink").href = `/${lang}/live/flight_details/${ld[10]}`; domElements.get("liveLink").style.display = "block"; } else { domElements.get("liveLink").style.display = "none"; } const lt = track[track.length - 1]; domElements.get("liveAlt").innerText = lt[3] + " ft"; domElements.get("liveSpeed").innerText = lt[5] + " kts"; domElements.get("liveTrack").innerText = lt[4] + "°"; if (ld[18] !== "") { domElements.get("planePic").src = ld[18]; domElements.get("planePic").style.display = "block"; } else { domElements.get("planePic").style.display = "none"; } if (ld[22]) { domElements.get("liveType").innerText = ld[22]; domElements.get("liveTypeBlock").style.display = "block"; } else { domElements.get("liveTypeBlock").style.display = "none"; domElements.get("liveType").innerText = "NA"; } } // update upper items if relevant const liveStatusInd = domElements.get("liveStatusInd"); const liveStatusText = domElements.get("liveStatusText"); if (liveStatusInd && true) { if (!domElements.has("liveTrackHB")) { domElements.set("liveAltHB", document.getElementById("liveAltHB")); domElements.set("liveSpeedHB", document.getElementById("liveSpeedHB")); domElements.set("liveTrackHB", document.getElementById("liveTrackHB")); domElements.set("liveDataHB", document.getElementById("liveDataHB")); } liveStatusInd.innerText = ld[17] ? "Live" : "Gelandet"; const lt = ld[23][ld[23].length - 1]; if (domElements.get("depTimeLiveHB")) { domElements.get("depTimeLiveHB").innerText = ld[11]; domElements.get("arrTimeLiveHB").innerText = ld[12]; domElements.get("depDelHB").innerText = ld[19]; domElements.get("arrDelHB").innerText = ld[20]; domElements.get("liveAltHB").innerText = lt[3]; domElements.get("liveSpeedHB").innerText = lt[5]; domElements.get("liveTrackHB").innerText = lt[4]; } if (!ld[17]) { domElements.get("liveDataHB").style.display = "none"; } } if (liveStatusText && ld[17]) { liveStatusText.innerText = ""; } if (ld[13] !== null && ld[14] !== null && track.length > 0 && Math.abs(ld[13] - track[0][1] / 1e5) > 1 && Math.abs(ld[14] - track[0][2] / 1e5) > 1) { arcs.push([[[ld[13], ld[14]], [track[0][1] / 1e5, track[0][2] / 1e5]], "lightgray", true]); } prevCoord = null; prevCoordFull = null; lp = null; for (const entr in track) { const p = track[entr]; if (p[1] === null || p[2] === null || p.length == 0) { continue; } let col = "green"; if (prevCoord && (Math.abs(prevCoord[0] - p[1] / 1e5) > 1 || Math.abs(prevCoord[1] - p[2] / 1e5) > 1)) { arcs.push([curArc, arcCol, false]); arcCol = ""; arcs.push([[[prevCoord[0], prevCoord[1]], L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])], "lightgray", true]); curArc = [L.latLng(p[1] / 1e5, p[2] / 1e5, p[3])]; } else if (arcCol !== col) { if (curArc.length > 0) { arcs.push([curArc, arcCol, false]); } if (prevCoord) { curArc = [prevCoord]; } else { curArc = []; } arcCol = col; } prevCoordFull = [p[1] / 1e5, p[2] / 1e5, p[4], p[5], Date.now(), p[3], false, ld[0]]; prevCoord = L.latLng(p[1] / 1e5, p[2] / 1e5, p[3]); curArc.push(prevCoord); if (p[4] !== 0) { lastTrack = p[4]; } } if (curArc.length > 0) { arcs.push([curArc, arcCol]); } if (ld[15] !== null && ld[16] !== null && prevCoord && (Math.abs(prevCoord.lat - ld[15]) > 0.1 || Math.abs(prevCoord.lng - ld[16]) > 0.1)) { arcs.push([[prevCoord, [ld[15], ld[16]]], "lightgray", true]); activeDest = L.latLng(ld[15], ld[16]); } for (const idx in tracks) { tracks[idx].remove(); } tracks = []; for (const idx in arcs) { const a = arcs[idx]; if (a[2]) { if (a[0][0][1] > a[0][1][1]) { const temp = a[0][0]; a[0][0] = a[0][1]; a[0][1] = temp; } p = L.Polyline.Arc(a[0][0], a[0][1], { color: a[1], noClip: true, vertices: 100 }); estTrack = p; } else { p = L.hotline(a[0], { palette: { 0: 'lightgray', 0.1: 'green', 0.5: 'yellow', 0.7: 'orange', 1: 'red' }, min: 0, max: 36000, outlineWidth: 0, weight: 4, noClip: true }); liveTrack = p; } p.addTo(liveMap); tracks.push(p); } if (prevCoordFull) { lastPos[hex] = prevCoordFull; } if (prevCoord) { if (e) { const i = e.sourceTarget; i.setLatLng(prevCoord); activeMarker = i; if (lastTrack) { document.getElementById("mi-" + hex).style.transform = "rotate(" + lastTrack + "deg)"; } if (!refreshs && !viewSet) { liveMap.setView(prevCoord, 8); } } else { if (!activeMarker) { var des = TypeDesignatorIcons[ld[22]]; if (!des) { des = DefaultIcon; } activeMarker = L.marker(prevCoord, { icon: L.icon({ iconUrl: svgPathToURI(des.path,des.size,false,true), iconSize: liveMap._zoom > 7 ? sizes[0] : sizes[1] }), rotationAngle: prevCoordFull[2], rotationOrigin: "center center", opacity: 0.8, title: hex }).addTo(liveMap); } else { activeMarker.setLatLng(prevCoord); } } if (e || hadNoHex) { // Only set refresh on first click or for live flight tracks (no hex given then) if (trackRefresh) { window.clearInterval(trackRefresh); } if (ld[17]) { trackRefresh = window.setInterval(function () { if (refreshsActive) { updateTrack(liveMap, url, hex, null); } }, 3000); } } } if (!refreshs && !viewSet) { liveMap.setView(prevCoord, 8); } if (sf === "") { domElements.get("liveMapContainer").style.display = 'block'; if (document.getElementById("mapSearch")) { document.getElementById("mapSearch").style.display = 'none'; } } activeHex = hex; updateInProg = false; recalcInProg = false; });} function buildLiveMap(liveMap,activeHex) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); updateMap(liveMap, false,activeHex); liveMap.on('zoomend', onZoomed); liveMap.on('moveend', onMoveend); } function buildTrackMap(liveMap, url) { const osmUrl = 'https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; const osmAttrib = '© OpenStreetMap'; const osm = new L.TileLayer(osmUrl, { attribution: osmAttrib }); liveMap.attributionControl.setPrefix(''); liveMap.addLayer(osm); updateTrack(liveMap, url, "", null); } loadScript("/js/leaflet.js?20220413" ,function() { // set up the map map = new L.map('map-flight',{sleep:false,minZoom:0, gestureHandling: false}); map.whenReady(() => map.gestureHandling?._handleMouseOver?.()); // create the tile layer with correct attribution map.fitBounds([[42.57278,11.78611],[48.35389,21.03583]]); viewSet = true; dep=[42.57278,21.03583]; arr=[48.35389,11.78611]; var osmUrl='https://a.tile.openstreetmap.org/{z}/{x}/{y}.png'; var osmAttrib='© OpenStreetMap'; var osm = new L.TileLayer(osmUrl, {attribution: osmAttrib}); map.attributionControl.setPrefix(''); map.addLayer(osm); if (dep[1]

ALLGEMEINE ROUTENINFORMATIONEN

FREQUENZ:

täglich
So, Mo, Di, Mi, Do, Fr, Sa

DIREKTE ENTFERNUNG
966km 600mi

TATSÄCHLICHE ENTFERNUNG
1.049km 651mi
+8%

FLUGZEIT
1 hours 53 min

FLÜGE / WOCHE
17 Flüge
PÜNKTLICHKEIT
10 Flüge/Woche verspätet
36% Pünktlichkeit
Verzögerungsstatistik

SITZE / WOCHE
189 Sitze/Flug
13.464 Sitze/Woche
Routeninformationen

CO2-EMISSIONEN

Economy
158kg

Premium Economy
158kg
Condor DE169 (CFG169) von Pristina nach Munich (2024)
Top Articles
Motel 6-Grants Pass, OR | Grants Pass | VacationRenter
Zebra Motel Coffs Harbour for Family Vacation With a 8.0 Expert Points in 2024 | hotelsr.com
WALB Locker Room Report Week 5 2024
Stadium Seats Near Me
Driving Directions To Fedex
Evil Dead Rise Showtimes Near Massena Movieplex
Best Transmission Service Margate
What Happened To Father Anthony Mary Ewtn
Zachary Zulock Linkedin
Saw X | Rotten Tomatoes
Watch TV shows online - JustWatch
Curtains - Cheap Ready Made Curtains - Deconovo UK
Interactive Maps: States where guns are sold online most
Conscious Cloud Dispensary Photos
Pac Man Deviantart
Mbta Commuter Rail Lowell Line Schedule
Dutch Bros San Angelo Tx
2016 Hyundai Sonata Refrigerant Capacity
Tamilyogi Proxy
Jbf Wichita Falls
Moving Sales Craigslist
Walmart Car Department Phone Number
Atdhe Net
67-72 Chevy Truck Parts Craigslist
Apartments / Housing For Rent near Lake Placid, FL - craigslist
Sienna
Rugged Gentleman Barber Shop Martinsburg Wv
Temu Seat Covers
The Fabelmans Showtimes Near Baton Rouge
Duke University Transcript Request
Paradise Point Animal Hospital With Veterinarians On-The-Go
Productos para el Cuidado del Cabello Después de un Alisado: Tips y Consejos
Grays Anatomy Wiki
How to Draw a Bubble Letter M in 5 Easy Steps
Teenage Jobs Hiring Immediately
Tamilyogi Ponniyin Selvan
Police Academy Butler Tech
Austin Automotive Buda
Labyrinth enchantment | PoE Wiki
18 terrible things that happened on Friday the 13th
Discover Wisconsin Season 16
Craigslist Boats Dallas
The Conners Season 5 Wiki
Trivago Sf
Mudfin Village Wow
Craigslist Binghamton Cars And Trucks By Owner
Truck Works Dothan Alabama
Chubbs Canton Il
Accident On 40 East Today
Neil Young - Sugar Mountain (2008) - MusicMeter.nl
Elvis Costello announces King Of America & Other Realms
Research Tome Neltharus
Latest Posts
Article information

Author: Margart Wisoky

Last Updated:

Views: 5821

Rating: 4.8 / 5 (58 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Margart Wisoky

Birthday: 1993-05-13

Address: 2113 Abernathy Knoll, New Tamerafurt, CT 66893-2169

Phone: +25815234346805

Job: Central Developer

Hobby: Machining, Pottery, Rafting, Cosplaying, Jogging, Taekwondo, Scouting

Introduction: My name is Margart Wisoky, I am a gorgeous, shiny, successful, beautiful, adventurous, excited, pleasant person who loves writing and wants to share my knowledge and understanding with you.