// --tran start-- var tran = { "tt-empty": "Impossible de trouver quoi que ce soit comme","tt-header-from": "Choisissez votre origine","tt-header-to": "Choisissez votre destination","tt-unavail": "Ce voyage a expiré","tt-only": "Seulement","tt-seats-left": "places restantes !","tt-any-station": "N'importe quelle station","trips": "voyages","trip": "Voyage","total": "Total :","adults": "Adultes","child": "Enfant:","infant": "Bébé :","automatic": "Automatiquement","card-validation-failure": "La carte de crédit / débit ne était pas reconnu. Se il vous plaît réessayer avec une autre carte ou choisir un autre mode de paiement.","form-ajax-error": "Sa produit une erreur. Se il vous plaît réessayer plus tard.","verifying-your-card": "Vérification de votre carte ... Se il vous plaît preuve de patience.","redirecting-you-to-paypal": "Redirection vers PayPal ... Se il vous plaît preuve de patience.","please-wait": "Veuillez patienter...","loading": "Chargement","booking": "Réservation","loading-seats-data": "Veuillez patienter…","starting-booking": "Chargement de la réservation ...","not-enough-seats": "Not enough seats selected. Please select seats for all passengers, otherwise the seats will be automatically selected for you.","show-more": "En savoir plus","show-less": "(montre moins)","preparing-to-checkout": "Préparation au paiement","toast-add-to-cart-success-title": "Ajouté au panier","in-cart": "Ajouté au panier","nothing-found": "Rien trouvé :( Essayez de changer vos entrées de recherche.","ticket-reserved-message": "trajets vous ont été réservés. Au bout d’un certain temps, vos trajets seront libérés pour que d’autres personnes puissent les réserver.","together-with-you": "Ensemble avec toi","people-search": "personnes sont actuellement en train de chercher des billets","pax": "passager","person": "Personne","people": "Personnes","error-message-sent": "Un message au sujet de l’erreur a été envoyé.","change-browser": "Veuillez utiliser un autre navigateur afin de pouvoir réserver vos billets. Votre navigateur n’est pas supporté. Vous pourriez avoir des problèmes au moment du paiement.","send-bug-report": "Signalez un bug !","send-bug-report-thankyou": "Merci de nous avoir signalé ce problème !","message": "Message","here": "Hier","support-fill-support-text": "Veuillez modifier le texte et renseigner vos informations.","support-fill-support-img": "Veuillez joindre votre fichier.","this-is-not-support": "Ceci n’est pas l’assistance. L’assistance se trouve ici : [suport-link]. Ce rapport ne sera lu que par notre département informatique.","toast-add-to-cart-success-body-one": "Vous avez 1 article dans le panier","toast-add-to-cart-success-body-many": "Vous avez [n] articles dans le panier.","toast-add-to-cart-success-btn-checkout": "Régler la commande!","modal-up-sale-button-continue-shopping": "Ajouter des billets","modal-up-sale-title": "Merci !","modal-up-sale-heading": "Voyage a été ajouté au panier!","modal-popup-error-title": "Oups!","modal-popup-error-noti": "Désolés, quelque chose ne s’est pas passé comme prévu.","check-in": "Date d'arrivée","modal-up-sale-header": "Nous vous avons trouvé des trajets dans la province de [province_name]","modal-up-sale-hotel-header": "3 endroits testés par 12 Go où se loger à [province_name].","modal-up-sale-daytrip-header": "Nous vous avons trouvé des trajets dans la province de [province_name]","modal-up-sale-message": "Ajoutez plus d’articles et consultez votre panier à tout moment.","no-visa-because-no-country": "Veuillez renseigner votre nationalité afin de consulter les options de visa pour votre pays","no-need-visa": "Je n’ai pas besoin de visa ou en ai déjà un","no-visa-available": "Aucun visa de disponible pour le pays choisi","no-male-allowed": "Désolés, les hommes adultes ne sont pas acceptés sur cet itinéraire","no-male-allowed-desc": "
Ceci est une voiture RÉSERVÉE AUX FEMMES. Aucun PASSAGER DU SEXE MASCULIN ne peut être admis à bord. Nous ne serons pas en mesure de vous fournir des tickets pour un passager du sexe masculin. Aucun remboursement ne sera possible si vous faites une réservation pour un passager du sexe masculin.
","no-female-allowed": "Désolés, les femmes adultes ne sont pas acceptées sur cet itinéraire","ts-no-return": "Je ne fais que l'aller","travel-to-discount-off": "aus","travel-to-filters-not-available": "Non disponible","weight-kg": "kg","savable-form-data-forgotten-success": "Oublié avec succès","savable-form-forget-data-btn": "Oublier mes données","download-file": "Télécharger le fichier","file-size-limit-error-2mb": "Le fichier doit peser moins de 2 Mo","file-size-limit-error": "Le fichier doit peser moins de [size] Mo","field-phone-error": "Le numéro de téléphone renseigné est invalide","field-email-error": "L’adresse email renseignée est invalide","field-iban-error": "Le code IBAN que vous avez entré n'est pas valide","field-error-force": "c'est correct","field-required-error": "Veuillez remplir ce champ","field-required-error-radio": "Veuillez sélectionner l'une des options ci-dessous","field-required-error-checkbox": "Veuillez cocher cette case si vous souhaitez continuer","travel-to-counter-title": "vérification de disponibilité","class": "Classe","refund": "Remboursement","no-refund": "Aucun remboursement","instant": "Confirmation instantanée","vehicle-all-incl": "véhicule, tout compris","joint-ticket": "(billet combiné)","buy-ticket": "Réserver","buy-ticket-joint": "Réserver","book-charter": "Book Vehicle","get-your-seat": "Réserver son siège","arrival-time": "Heure d'arrivée","departure-time": "Départ","travel-time": "Temps de voyage","rating": "Évaluation","review": "Commentaire","reviews": "Commentaires","leave-a-review": "Laisser un commentaire","sr-edit-forward-trip": "Modifier","sr-first-route": "Premier voyage :","by": "par","from": "De","vehicles": "Véhicules","vehclasses-all": "Tous","vehclasses-train": "Trains","vehclasses-railpass": "Laissez-passer ferroviaires","vehclasses-bus": "Autobus","vehclasses-ferry": "Ferrys","vehclasses-avia": "Vols","vehclasses-charter": "Taxis","vehclasses-van": "Vans","vehclass-train": "Train","vehclass-railpass": "Laissez-passer ferroviaire","vehclass-pass": "Laissez-passer ferroviaire","vehclass-bus": "Bus","vehclass-ferry": "Ferry","vehclass-avia": "Avion","vehclass-charter": "Taxi","vehclass-van": "Minibus","travel-to-package-title-link": "Plus d'infos","travel-to-trip-title": "[vehclasses] de [operators]","travel-to-point-info-train": "[duration] de train [official_id] avec [operator] en [class]","travel-to-point-info-ferry": "[duration] de ferry avec [operator] en [class]","travel-to-point-info-charter": "[duration] en taxi avec [operator] en [class]","travel-to-point-info-van": "[duration] de van avec [operator] en [class]","travel-to-point-info-bus": "[duration] de bus avec [operator] en [class]","travel-to-point-info-avia": "[duration] de vol [official_id] avec [operator] en [class]","travel-to-point-info-train-noid": "[duration] du voyage en train avec [operator] en [class]","travel-to-point-info-avia-noid": "[duration] du vol avec [operator] en [class]","travel-to-point-info-single-train": "[duration] de train [official_id] avec [operator]","travel-to-point-info-single-ferry": "[duration] de ferry avec [operator]","travel-to-point-info-single-charter": "[duration] en taxi avec [operator]","travel-to-point-info-single-van": "[duration] de van avec [operator]","travel-to-point-info-single-bus": "[duration] de bus avec [operator]","travel-to-point-info-single-avia": "[duration] de vol [official_id] avec [operator]","travel-to-point-info-single": "{duration} {vehclasses, list}. {connections} {stops_info}","travel-to-point-info-single-noid": "{duration} {vehclasses, list}. {connections} {stops_info}","travel-to-point-info-single-train-noid": "[duration] du voyage en train avec [operator]","travel-to-point-info-single-avia-noid": "[duration] de vol avec [operator] en [class]","travel-to-trip-point-title": "Info [vehclass] avec [operator]","travel-to-trip-travel-options": "Option de voyage","travel-to-trip-route-details": "details de voyage","travel-to-trip-info-connections-guaranteed": "Toutes connexions garanties","travel-to-trip-info-connections-not-guaranteed": "Self-connecting","travel-to-trip-info-stopinfo-change-stations": "Change stations!","travel-to-trip-info-stopinfo": "[stopover_station] [stopover_dura] [change_station]","travel-to-trip-info-stopinfo-with-count": "[stops] à [stopover_station] [stopover_dura], [change_station]","travel-to-vehclass-not-avaliable": "[vehclass] ne sont pas disponibles","reset-password": "Réinitialiser le mot de passe","select-first-trip": "Choisissez le premier trajet","select-return-trip": "Choisissez le retour","title_travel_from_to_no_min_price": "[point_a] to [point_b] by [vehclasses]","total-duration": "Durée totale","header_from_A_to_B_by": "De [from] à [to] en","passengers-single": "1 Passager","passengers-plural": "[n] Passagers","passengers": "Passagers","passenger": "Passager","edit-passengers-details": "Modifier les détails des passagers","sort-results-recommended": "Recommandé","sort-results-cheapest": "Le Moins Cher","sort-results-fastest": "Le Plus Rapide","sort-results-top": "Les Mieux Notées","sort-results-dep-time-asc-mobile": "Du plus ancien au plus récent","sort-results-dep-time-desc-mobile": "Du plus récent au plus ancien","sort-results-dep-time-asc": "Plus récent","sort-results-dep-time-desc": "Plus ancien","new-search": "nouvelle recherche","price": "Prix","mode-of-transportation": "Mode De Transport","stops": "arrêts","operating-company": "Opérateur","show-unavailable-trips": "Afficher","hide-unavailable-trips": "Masquer les voyages non disponibles","only-available-trips": "Seuls voyages disponibles","filters": "filtres","departure": "Départ","arrival": "Arrivée","departure-date": "Horaire de départ","return-trip": "voyage de retour","from-cap": "De","to-cap": "à","depart": "Départ","return": "Retour","no-return": "pas de retour","cancel": "Annulation","find-tickets": "trouver billets","change-passengers": "changer passagers","show-trips-n": "Afficher {n, plural, one{# trajet} other{# trajets}}","travel-date-n": "date de départ: [n]","departure-station": "Station De Départ","arrival-station": "Station D'arriver","map": "Carte","stops-any": "Toutes","stations-any": "Toutes","n-stops": "{n, plural, one{# arrêt} other{# arrêts}}","clear": "effacer","clear-by-operator": "effacer par opérateur","clear-by-stops": "effacer par arrêts","clear-by-vehclasses": "effacer par mode de transport","vehclasses-any": "Toutes","operators-any": "Toutes","filter-trips": "filtrer voyages","trip-recommended": "recommandé","search-results-nothing-found-title": "Les voyages ne sont pas disponibles, essayez de faire une recherche à une autre date ou pour une autre destination.","search-results-nothing-found-text": "Ce voyage n'est pas disponible à la date sélectionnée. Vous pouvez essayer de faire une recherche pour le lendemain, à une autre date ou simplement vérifier ici :","search-results-nothing-found-title-new": "Découvrez plus d’options de voyage","search-results-nothing-found-text-new": "Explorez d'autres options de voyage : il se peut que vous trouviez des voyages plus pratiques ou des recommandations pour les destinations à proximité.","date-avail-check": "Vérifiez","search-results-nothing-found-filters-title": "Rien trouvé pour vos paramètres de recherche le [date]","search-results-nothing-found-filters-text": "Veuillez envisager de renoncer aux filtres ou essayez une autre date.","search-results-relax-filters": "Filtres Relax","search-results-reset-filters": "Réinitialiser","search-results-nothing-found-vehclass-title": "Aucun [vehclass] n'a été trouvé le [date]","search-results-nothing-found-vehclass-text": "Veuillez considérer les autres options ci-dessous, ou essayer une autre date.","search-results-trip-label-show_on_screen": "Billet électronique","search-results-trip-label-title-show_on_screen": "Embarquement avec e-ticket sur mobile","search-results-trip-label-instant": "Confirmation instantanée","search-results-trip-label-recommended": "recommandé","typeahead-search-placeholder": "Trouver une ville ou une station","daytrip-timeselector-title-popup": "Choisissez la date et l’heure","daytrip-timeselector-title-time": "Temps disponible le [date]","daytrip-timeselector-price-info": "[price] pour [seats] [people]","form-ajax-error-title": "Désolé, quelque chose s'est mal passé.","form-ajax-error-text": "Notre équipe de développement a été informée de ce problème et le résoudra bientôt. Veuillez recharger la page et réessayer.","form-ajax-error-btn-reload": "Veuillez recharger la page","travel-to-one-operator": "Seuls les trajets proposés par [operator_name] sont énumérés.
","travel-to-one-operator-nourl": "Seuls les itinéraires de operator_name] sont listés ici.
","travel-to-one-operator-link": "Rechercher des billets chez tous les opérateurs","adblock-interference-notice": "Il semblerait que votre bloqueur de publicités empêche nos fonctionnalités de fonctionner. Nous n’affichons aucune publicité. Veuillez nous ajouter dans vos sites de confiance et recharger la page.","travel-search-filters-price-range": "Prix: [from] - [to]","travel-search-filters-departure-range": "Départ: [from] - [to]","travel-search-filters-arrival-range": "Arrivé: [from] - [to]","travel-search-filters-stops-total": "Arrêts [total]","travel-search-filters-station-from": "De [name]","travel-search-filters-station-to": "à [name]","travel-search-applied-filters": "Filtres appliqués","search-results-applied-filters-n": "Vous avez appliqué {n, plural, one{# filtre de recherche} other{# filtres de recherche}}
","change-direction": "Changer de direction","update": "Réactualiser","travel-to-roundtrip-failed-modal-title": "Le trajet que vous avez précédemment choisi n’est pas disponible pour le moment","travel-to-roundtrip-failed-modal-text": "Nous n’avons pas pu vous réserver des sièges pour un itinéraire de [from] à [to]","travel-to-roundtrip-failed-modal-select-another": "Choisir un autre","travel-to-roundtrip-failed-modal-ignore": "Ignorer et aller au paiement","travel-to-roundtrip-failed-reason": "Le voyage que vous avez sélectionné n'est plus disponible. Il est probablement complet. Veuillez en choisir un autre.","travel-to-apply-filter": "appliquer filtre","travel-to-trip-book-no-return-ticket": "Pas de billet aller-retour","railpass-info-btn": "En savoir plus","checkout-timeline-total-total-passenger": "Les prix listés sont une estimation pour [total-passenger] adultes","field-name-label": "Votre nom","field-bid-label": "Référence de réservation","search-results-micro-error-text": "Désolés, quelque chose ne s’est pas passé comme prévu.","login": "Login","login-google-recaptcha-note": "Ce site est protégé par reCAPTCHA et les Règles de confidentialité et Conditions d'utilisation de Google s'appliquent.
","field-error-email": "L’adresse email renseignée est invalide","field-email-label": "Email","Visa Service": "Service de visa","group-leader": "Responsable du groupe","support-form-login-success": "Afin de vous connecter, nous vous avons envoyé un lien à l’adresse email utilisée lors de la réservation. Assurez-vous que l’adresse email avec laquelle vous vous connectez est la même que celle utilisée pour la réservation. Si ce n’est pas le cas, [contact-our-support-team]
","page-account-text": "Afin de vous connecter, nous vous avons envoyé un lien à l’adresse email utilisée lors de la réservation.
Assurez-vous que l’adresse email avec laquelle vous vous connectez est la même que celle utilisée pour la réservation.
Nous traitons des milliers de réservations et tout se passe généralement parfaitement bien du côté technique. Malheureusement, dans votre cas, il semblerait qu’il y ait eu un problème. Notre équipe informatique va se pencher sur votre cas. Cependant, nous vous suggérons de vous servir d’un ordinateur ou d’un appareil mobile disposant d’un navigateur (Google Chrome, Firefox ou Safari) à jour. Les vieilles versions des navigateurs peuvent avoir des problèmes.
Une des autres choses pouvant mener à des dysfonctionnements est l’antivirus ou le bloqueur de publicité que vous pourriez utiliser.
Dans le cas où votre paiement ne pourrait pas s’effectuer, vous pouvez :
-> essayer PayPal. PayPal accepte également les paiements en carte bancaire, sans qu’il y ait besoin d’avoir un compte PayPal. Les remboursements avec PayPal sont immédiats (mais doivent se faire dans les 180 jours suivants l’achat).
-> contacter votre banque. Il arrive, pour des raisons qui leur sont propres, que certaines banques bloquent les transactions en ligne vers l’Asie du Sud ou de l’Est. Vous pouvez essayer de demander à votre banque d’autoriser les paiements vers la Thaïlande. Cela vous sera de plus tout particulièrement utile si vous comptez utiliser votre carte sur place pour payer dans les hôtels et restaurants.
-> essayer avec une carte d’une autre banque. Si votre réservation a été créée, mais est impayée, et si le système vous indique que les sièges seront bientôt libérés, vous pouvez toujours payer pour ces sièges. Alternativement, vous pouvez refaire votre réservation une fois qu’ils se font libérer. Notre système n’autorise pas les doubles paiements. Vous ne paierez pas deux fois. Il y a d’autres raisons pouvant conduire à l’échec d’une réservation : quelqu’un a été plus rapide que vous et a réservé le siège pendant que vous remplissiez le formulaire. vous avez essayé de payer avec PayPal, êtes parti(e) quelques instants pour prendre un café ou trouver votre mot de passe, et la session PayPal avait expiré à votre retour. votre connexion internet n’était pas stable et le serveur n’a pas pu communiquer. votre réservation s’est déroulée correctement, mais vous avez fait une erreur dans votre adresse email (ou notre système a été bloqué par votre boîte mail) et nos emails n’ont pas été en mesure de vous trouver. vous avez essayé de faire deux fois la même réservation. Notre système ne vous permet pas de faire deux fois la même réservation pour les mêmes passagers. Avant de passer au paiement, veuillez lire attentivement les conditions d’utilisation et la politique d’annulation qui s’appliquent à votre réservation. Les politiques d’annulation proviennent directement des plus de 250 sociétés de transport qui existent dans le système de 12 Go. Il y a parfois des bugs dans notre système, que nous mettons un point d’honneur à corriger à chaque fois que nous les détectons. N’hésitez pas à nous contacter si vous avez besoin de davantage d’assistance.
Veuillez procurer les preuves de double facturation suivantes:
Le numéro de réservation est un numéro unique qui permet d’identifier votre itinéraire.
Le numéro de réservation vous est envoyé sur votre adresse email une fois la réservation confirmée.
Nous vous sommes reconnaissants pour les avis que vous laissez, car ils nous aident nous et nos partenaires à offrir de meilleurs services. Vous pouvez également faire part de votre expérience sur TrustPilot
Pourquoi choisir l'assistance Premium ?
L'assistance Premium vous placera en tête de liste.
Quel que soit le problème que vous rencontrez, nous traiterons votre cas en priorité.
Et quelques actions sont menées en arrière-plan pour que vous obteniez le meilleur service possible, même si vous ne le remarquerez pas.
Transformer un don en assistance Premium.
Obtenez une assistance premium et aidez ceux qui en ont besoin.
Nous aidons les ukrainiens victimes de l'agression russe. 100% des frais seront envoyés au fonds humanitaire des volontaires ukrainiens à la fin de chaque mois.
Nous soutenons également les écoles et les hôpitaux dans les zones rurales et les organisations bénévoles thaïlandaises.
Aider les autres, ça fait du bien.
Claim your 5% cashback every time you pay with KTC credit card. Rules apply *.
","promo-banner-airpay-promo-title": "All but cheaper with ShopeePay!","promo-banner-airpay-promo-text": "Book and pay with ShopeePay today! Bus, Flight, Ferry, Train - all tickets available for you with the most exclusive price - right on your mobile phone!
","seats-selection-error-empty": "Sélection de sièges ne est pas disponible. Vos places seront attribuées automatiquement.","checkout-intersect-trips-warning": "Attention ! Certains de ces trajets étant simultanés, vous ne pouvez pas participer à la totalité. Nous avons mis en évidence les trajets problématiques en rouge.
","checkout-same-route-trips-warning": "Attention ! Il y a des voyages avec la même direction dans votre itinéraire. Veuillez vous assurer qu'il est correct
","country-list-us": "États-Unis","country-list-uk": "Royaume-Uni","country-list-ca": "Canada","trip-description": "Le voyage de [from] à [to] par [operator] [class] [vehclass] le [date] n'est plus disponible.
","checkout-unavailable-trip": "Le voyage de [from] à [to] par [operator] [class] [vehclass] le [date] n'est plus disponible.
","checkout-unavailable-trip-seats": "Il ne reste que [number] places pour le voyage de [from] à [to] en [vehclass] [class] [operator] le [date].
","checkout-error-title-not-enough-seats": "Pas assez de places","amount-to-be-refunded": "Montant à rembourser","cancel-ticket-button": "Annuler le billet et rembourser","there-is-no-translation": "Cette page n’a pas été traduite. Veuillez lire les informations en anglais","link-for-english": "lien pour l'anglais","submit": "Soumettre","checkout-priority-support-popup": "Pourquoi choisir l'assistance Premium ?
L'assistance Premium vous placera en tête de liste.
Quel que soit votre problème, nous traiterons votre dossier en priorité.
Et quelques actions en arrière-plan vous permettront d'obtenir le meilleur service possible, même si vous ne le remarquez pas.
Nous soutenons également des écoles et des hôpitaux dans les zones rurales ainsi que des organisations bénévoles thaïlandaises.
Aider les autres, ça fait du bien.
0;x--)h="0"+h;return k>-1&&(h=h.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+m.delimiters.thousands)),0===c.indexOf(".")&&(h=""),l=h+v+(q?q:""),n?l=(n&&w?"(":"")+l+(n&&w?")":""):j>=0?l=0===j?(w?"-":"+")+l:l+(w?"-":"+"):w&&(l="-"+l),l},stringToNumber:function(a){var b,c,d,e=f[h.currentLocale],g=a,i={thousand:3,million:6,billion:9,trillion:12};if(h.zeroFormat&&a===h.zeroFormat)c=0;else if(h.nullFormat&&a===h.nullFormat||!a.replace(/[^0-9]+/g,"").length)c=null;else{c=1,"."!==e.delimiters.decimal&&(a=a.replace(/\./g,"").replace(e.delimiters.decimal,"."));for(b in i)if(d=new RegExp("[^a-zA-Z]"+e.abbreviations[b]+"(?:\\)|(\\"+e.currency.symbol+")?(?:\\))?)?$"),g.match(d)){c*=Math.pow(10,i[b]);break}c*=(a.split("-").length+Math.min(a.split("(").length-1,a.split(")").length-1))%2?1:-1,a=a.replace(/[^0-9\.]+/g,""),c*=Number(a)}return c},isNaN:function(a){return"number"==typeof a&&isNaN(a)},includes:function(a,b){return-1!==a.indexOf(b)},insert:function(a,b,c){return a.slice(0,c)+b+a.slice(c)},reduce:function(a,b){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof b)throw new TypeError(b+" is not a function");var c,d=Object(a),e=d.length>>>0,f=0;if(3===arguments.length)c=arguments[2];else{for(;e>f&&!(f in d);)f++;if(f>=e)throw new TypeError("Reduce of empty array with no initial value");c=d[f++]}for(;e>f;f++)f in d&&(c=b(c,d[f],f,d));return c},multiplier:function(a){var b=a.toString().split(".");return b.length<2?1:Math.pow(10,b[1].length)},correctionFactor:function(){var a=Array.prototype.slice.call(arguments);return a.reduce(function(a,b){var d=c.multiplier(b);return a>d?a:d},1)},toFixed:function(a,b,c,d){var e,f,g,h,i=a.toString().split("."),j=b-(d||0);return e=2===i.length?Math.min(Math.max(i[1].length,j),b):j,g=Math.pow(10,e),h=(c(a+"e+"+e)/g).toFixed(e),d>b-e&&(f=new RegExp("\\.?0{1,"+(d-(b-e))+"}$"),h=h.replace(f,"")),h}},b.options=h,b.formats=e,b.locales=f,b.locale=function(a){return a&&(h.currentLocale=a.toLowerCase()),h.currentLocale},b.localeData=function(a){if(!a)return f[h.currentLocale];if(a=a.toLowerCase(),!f[a])throw new Error("Unknown locale : "+a);return f[a]},b.reset=function(){for(var a in g)h[a]=g[a]},b.zeroFormat=function(a){h.zeroFormat="string"==typeof a?a:null},b.nullFormat=function(a){h.nullFormat="string"==typeof a?a:null},b.defaultFormat=function(a){h.defaultFormat="string"==typeof a?a:"0.0"},b.register=function(a,b,c){if(b=b.toLowerCase(),this[a+"s"][b])throw new TypeError(b+" "+a+" already registered.");return this[a+"s"][b]=c,c},b.validate=function(a,c){var d,e,f,g,h,i,j,k;if("string"!=typeof a&&(a+="",console.warn&&console.warn("Numeral.js: Value is not string. It has been co-erced to: ",a)),a=a.trim(),a.match(/^\d+$/))return!0;if(""===a)return!1;try{j=b.localeData(c)}catch(l){j=b.localeData(b.locale())}return f=j.currency.symbol,h=j.abbreviations,d=j.delimiters.decimal,e="."===j.delimiters.thousands?"\\.":j.delimiters.thousands,k=a.match(/^[^\d]+/),null!==k&&(a=a.substr(1),k[0]!==f)?!1:(k=a.match(/[^\d]+$/),null!==k&&(a=a.slice(0,-1),k[0]!==h.thousand&&k[0]!==h.million&&k[0]!==h.billion&&k[0]!==h.trillion)?!1:(i=new RegExp(e+"{2}"),a.match(/[^\d.,]/g)?!1:(g=a.split(d),g.length>2?!1:g.length<2?!!g[0].match(/^\d+.*\d$/)&&!g[0].match(i):1===g[0].length?!!g[0].match(/^\d+$/)&&!g[0].match(i)&&!!g[1].match(/^\d+$/):!!g[0].match(/^\d+.*\d$/)&&!g[0].match(i)&&!!g[1].match(/^\d+$/))))},b.fn=a.prototype={clone:function(){return b(this)},format:function(a,c){var d,f,g,i=this._value,j=a||h.defaultFormat;if(c=c||Math.round,0===i&&null!==h.zeroFormat)f=h.zeroFormat;else if(null===i&&null!==h.nullFormat)f=h.nullFormat;else{for(d in e)if(j.match(e[d].regexps.format)){g=e[d].format;break}g=g||b._.numberToFormat,f=g(i,j,c)}return f},value:function(){return this._value},input:function(){return this._input},set:function(a){return this._value=Number(a),this},add:function(a){function b(a,b,c,e){return a+Math.round(d*b)}var d=c.correctionFactor.call(null,this._value,a);return this._value=c.reduce([this._value,a],b,0)/d,this},subtract:function(a){function b(a,b,c,e){return a-Math.round(d*b)}var d=c.correctionFactor.call(null,this._value,a);return this._value=c.reduce([a],b,Math.round(this._value*d))/d,this},multiply:function(a){function b(a,b,d,e){var f=c.correctionFactor(a,b);return Math.round(a*f)*Math.round(b*f)/Math.round(f*f)}return this._value=c.reduce([this._value,a],b,1),this},divide:function(a){function b(a,b,d,e){var f=c.correctionFactor(a,b);return Math.round(a*f)/Math.round(b*f)}return this._value=c.reduce([this._value,a],b),this},difference:function(a){return Math.abs(b(this._value).subtract(a).value())}},b.register("locale","en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"},currency:{symbol:"$"}}),function(){b.register("format","bps",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(a,c,d){var e,f=b._.includes(c," BPS")?" ":"";return a=1e4*a,c=c.replace(/\s?BPS/,""),e=b._.numberToFormat(a,c,d),b._.includes(e,")")?(e=e.split(""),e.splice(-1,0,f+"BPS"),e=e.join("")):e=e+f+"BPS",e},unformat:function(a){return+(1e-4*b._.stringToNumber(a)).toFixed(15)}})}(),function(){var a={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]},c={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},d=a.suffixes.concat(c.suffixes.filter(function(b){return a.suffixes.indexOf(b)<0})),e=d.join("|");e="("+e.replace("B","B(?!PS)")+")",b.register("format","bytes",{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(e)},format:function(d,e,f){var g,h,i,j,k=b._.includes(e,"ib")?c:a,l=b._.includes(e," b")||b._.includes(e," ib")?" ":"";for(e=e.replace(/\s?i?b/,""),h=0;h<=k.suffixes.length;h++)if(i=Math.pow(k.base,h),j=Math.pow(k.base,h+1),null===d||0===d||d>=i&&j>d){l+=k.suffixes[h],i>0&&(d/=i);break}return g=b._.numberToFormat(d,e,f),g+l},unformat:function(d){var e,f,g=b._.stringToNumber(d);if(g){for(e=a.suffixes.length-1;e>=0;e--){if(b._.includes(d,a.suffixes[e])){f=Math.pow(a.base,e);break}if(b._.includes(d,c.suffixes[e])){f=Math.pow(c.base,e);break}}g*=f||1}return g}})}(),function(){b.register("format","currency",{regexps:{format:/(\$)/},format:function(a,c,d){var e,f,g,h=b.locales[b.options.currentLocale],i={before:c.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:c.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(c=c.replace(/\s?\$\s?/,""),e=b._.numberToFormat(a,c,d),a>=0?(i.before=i.before.replace(/[\-\(]/,""),i.after=i.after.replace(/[\-\)]/,"")):0>a&&!b._.includes(i.before,"-")&&!b._.includes(i.before,"(")&&(i.before="-"+i.before),g=0;g