From 5a3ab8fad9416938291e26eda95586e2e3b86f51 Mon Sep 17 00:00:00 2001 From: Igor Laborie Date: Sun, 6 Oct 2019 15:15:25 +0200 Subject: [PATCH 1/2] add some presentation --- ...re_api_web_passe_t_elle_le_controle_technique__.md | 4 ++-- ..._decouverte_de_la_realite_augmentee_avec_arcore.md | 4 ++-- ...ancisco__et_si_on_codait_ensemble_avec_vs_code_.md | 4 ++-- .../authentication_authorization_starters_battle.md | 4 ++-- .../brace_yourself__vanilla_is_coming__back__.md | 11 +++++++++-- content/sessions/four_diseases.md | 4 ++-- ...introduction_a_la_programmation_par_contraintes.md | 11 +++++++++-- content/sessions/keynote_open.md | 9 +++++++++ ...e_de_la_decouverte_d_une_backdoor_signe_oneplus.md | 11 +++++++++-- content/sessions/le_jaillissement_de_l_esprit.md | 9 ++++++++- ..._devenez_compositeur_avec_webaudio_et_webmidi__.md | 8 +++++++- content/sessions/rockin_in_the_angular_world.md | 4 ++-- content/sessions/the_freedom_of_static_typing.md | 4 ++-- ..._automatique_d_argent_de_poche_pour_les_enfants.md | 4 ++-- content/speakers/fabien_tregan.md | 2 +- content/speakers/qj7nbl6wiyug1rhqtxf818a46po1.md | 5 +---- themes/devfest-theme-hugo | 2 +- 17 files changed, 70 insertions(+), 30 deletions(-) diff --git a/content/sessions/_votre_api_web_passe_t_elle_le_controle_technique__.md b/content/sessions/_votre_api_web_passe_t_elle_le_controle_technique__.md index 5e7cd2d..6029cba 100644 --- a/content/sessions/_votre_api_web_passe_t_elle_le_controle_technique__.md +++ b/content/sessions/_votre_api_web_passe_t_elle_le_controle_technique__.md @@ -9,9 +9,9 @@ level: intermediate speakers: - francois_guillaume_ribreau videoId: null -presentation: null +presentation: https://www.slideshare.net/FGRibreau/votre-api-passetelle-le-contrle-technique draft: false --- Nous savons tous développer une API mais avons-nous tous bien intégré les problématiques d'environnements et de cycles logiciels multiples ? L'opérabilité, la gouvernance, le versioning, la traçabilité, la sécurité — et bien plus encore — de ces API web une fois en production ? -Durant ce talk, c'est plusieurs dizaines de points d'attention rarement évoqués que je vous propose d'aborder, à la lumière de retours d'expériences provenant de chez Uber, Stripe, Facebook, ... \ No newline at end of file +Durant ce talk, c'est plusieurs dizaines de points d'attention rarement évoqués que je vous propose d'aborder, à la lumière de retours d'expériences provenant de chez Uber, Stripe, Facebook, ... diff --git a/content/sessions/a_la_decouverte_de_la_realite_augmentee_avec_arcore.md b/content/sessions/a_la_decouverte_de_la_realite_augmentee_avec_arcore.md index a949b3a..1db107f 100644 --- a/content/sessions/a_la_decouverte_de_la_realite_augmentee_avec_arcore.md +++ b/content/sessions/a_la_decouverte_de_la_realite_augmentee_avec_arcore.md @@ -11,11 +11,11 @@ speakers: - christophe_jollivet - jeremy_voisin videoId: null -presentation: null +presentation: https://github.com/JeremyVoisin/discovering-arcore draft: false --- Avec les annonces de l'arrivée de la réalité augmentée (ou RA) dans Google Maps et Google Search sur Android lors de Google IO 2019, nous constatons que la RA va prendre une place de plus en plus importante dans notre quotidien. La sortie d'ARCore en mars 2018 sur Android a simplifié le développement d’application en RA sur Android. Au cours de cette session, nous vous proposons de découvrir ARCore, via l’utilisation dans un navigateur, des applications natives ou des moteurs 3D comme Unity ainsi que les CloudAnchors qui permettent la persistance et le partage de positions d’objets dans les scènes de réalité augmentée, y compris avec des utilisateurs d’iOS. -Après une initiation aux concepts liés à la RA (meshes, 6 DoF,...), nous présenterons les différentes fonctionnalités d’ARCore. Nous discuterons aussi des différentes approches d’utilisation, de leurs limitations et avantages au travers d'une application de cartographie 3D en réalité augmentée. \ No newline at end of file +Après une initiation aux concepts liés à la RA (meshes, 6 DoF,...), nous présenterons les différentes fonctionnalités d’ARCore. Nous discuterons aussi des différentes approches d’utilisation, de leurs limitations et avantages au travers d'une application de cartographie 3D en réalité augmentée. diff --git a/content/sessions/allo_paris__ici_san_francisco__et_si_on_codait_ensemble_avec_vs_code_.md b/content/sessions/allo_paris__ici_san_francisco__et_si_on_codait_ensemble_avec_vs_code_.md index 70b9143..4a4ee17 100644 --- a/content/sessions/allo_paris__ici_san_francisco__et_si_on_codait_ensemble_avec_vs_code_.md +++ b/content/sessions/allo_paris__ici_san_francisco__et_si_on_codait_ensemble_avec_vs_code_.md @@ -10,10 +10,10 @@ speakers: - olivier_leplus - tiffany_souterre videoId: null -presentation: null +presentation: https://slides.com/olivierleplus/vscode-collaboration#/3 draft: false --- Vous aimez VS Code car il est simple, intuitif et qu'il fait ce que vous lui demandez. Mais saviez-vous que vous pouviez coder à plusieurs dans VS Code? et même permettre à une personne tierce de jouer avec votre débugger depuis l'autre bout du monde? Saviez-vous que vous pouviez avoir un client slack dans VS Code, et même un chat audio? Et avez-vous exploré toutes les possibilités que VS Code offre quand vous utilisez GitHub? -Nous verrons dans ce talk tout ce qui fait de VS Code l'éditeur de code parfait pour faire du code collaboratif. \ No newline at end of file +Nous verrons dans ce talk tout ce qui fait de VS Code l'éditeur de code parfait pour faire du code collaboratif. diff --git a/content/sessions/authentication_authorization_starters_battle.md b/content/sessions/authentication_authorization_starters_battle.md index 0c74d74..90a079e 100644 --- a/content/sessions/authentication_authorization_starters_battle.md +++ b/content/sessions/authentication_authorization_starters_battle.md @@ -10,9 +10,9 @@ level: beginner speakers: - valeriane_venance videoId: null -presentation: null +presentation: https://docs.google.com/presentation/d/1C2MGwFFdAUrry6EJl1Wdy_pKyjU0str9RB7US3Ta77Y/edit#slide=id.g5048a032ca_0_61 draft: false --- When you start a brand new app or service, you need to think about how you will manage authentication and permissions. But if you are like everyone else, you genuinely do not want to actually think about this. If someone else could do that for you, life would be great. And this has actually happened, you have the choice between several boilerplate projects or authentication/authorization libraries. In fact, you have a lot of options. Which one to choose? Let's have a closer look to them! -At the end of this talk, you will have a good overview of the common existing solutions and their benefits. \ No newline at end of file +At the end of this talk, you will have a good overview of the common existing solutions and their benefits. diff --git a/content/sessions/brace_yourself__vanilla_is_coming__back__.md b/content/sessions/brace_yourself__vanilla_is_coming__back__.md index e76bde7..f14e33d 100644 --- a/content/sessions/brace_yourself__vanilla_is_coming__back__.md +++ b/content/sessions/brace_yourself__vanilla_is_coming__back__.md @@ -10,11 +10,18 @@ level: intermediate speakers: - noel_mace videoId: null -presentation: null +presentation: https://modern-vanilla.wof.show/ draft: false --- Dans un monde de saveurs complexes et sophistiquées, la guerre du toping fait rage chez les crèmes glacées du Web ! Face au champs de bétail, les pronostiques vont bon train pour savoir qui l’emportera entre le crunchy Angulaire, le fondant Reactif et le décoratif Vue. Durant ce temps, loin de ces vicissitudes, la petite saveur basique vanille fait son bonhomme de chemin. S’agirait-il du héros de la légende, susceptible de renverser le destin de ce monde sans heurt ? -Sache, voyageur, qu’elle est déjà passée par nos contrées. Laisse moi te raconter comment elle nous a permis de renverser notre vieux roi, et tu sauras enfin ce qui se prépare pour ton royaume. \ No newline at end of file +Sache, voyageur, qu’elle est déjà passée par nos contrées. Laisse moi te raconter comment elle nous a permis de renverser notre vieux roi, et tu sauras enfin ce qui se prépare pour ton royaume. + +--- + +
+

Enjoyed or missed my talk at @DevFestToulouse yesterday? Wanna learn more? Here is what you need:
👨‍🏫 Slides: https://t.co/XaNFvipCDh
✍️ Blog posts (soon): https://t.co/kAtbQKJLC5
📖 Notes (for impatients): https://t.co/Bm9xa95OCw
🔥 https://t.co/xmmfCQcWAJ#DevFestToulouse

— Noël Macé (@noel_mace) October 4, 2019 +
+ diff --git a/content/sessions/four_diseases.md b/content/sessions/four_diseases.md index 5914859..fffcaa6 100644 --- a/content/sessions/four_diseases.md +++ b/content/sessions/four_diseases.md @@ -10,10 +10,10 @@ level: beginner speakers: - piotr_przybyl videoId: null -presentation: null +presentation: http://przybyl.org/pres/2019/DevFestToulouse-4Diseases/#/title-slide draft: false --- How a developer can tell if the system is sick just by taking a look at the input and the output? If you'd like to know that (plus you like standup comedy), come an see! The treatment is safe ;-) One approach to get familiar with a system is a long and intense reading the manual (and to run an eye over the source code sometimes). Another approach is to take a deep dive into the data model (often in the DB) and to surf the user interface. Both are natural ends of the system, the legendary Input and Output. By examining these ends one can check if there's good digestion or if guts are rotten. Careful examination can confirm "common DDDosis", "malignant stringosis", "regex diarrhoea" or "not-made-here syndrome". -Unfortunately, sometimes developers get infected in their prenatal life (meaning: at their university). Let me invite you to treatment. A laxative one. (That is: a sequel of "Passwords. Do you keep them safe?") \ No newline at end of file +Unfortunately, sometimes developers get infected in their prenatal life (meaning: at their university). Let me invite you to treatment. A laxative one. (That is: a sequel of "Passwords. Do you keep them safe?") diff --git a/content/sessions/introduction_a_la_programmation_par_contraintes.md b/content/sessions/introduction_a_la_programmation_par_contraintes.md index 1892786..1448fbf 100644 --- a/content/sessions/introduction_a_la_programmation_par_contraintes.md +++ b/content/sessions/introduction_a_la_programmation_par_contraintes.md @@ -10,9 +10,16 @@ level: beginner speakers: - cyril_delmas videoId: null -presentation: null +presentation: https://cyrildelmas-drive.mycozy.cloud/public?sharecode=SbIDrGv5mU9h draft: false --- Quel est le point commun entre un jeu de sudoku, la planification d'une conférence et les déplacements d'un commercial ? -Quand on souhaite les traiter automatiquement, tous ces problèmes peuvent être résolus par un solveur de contraintes. Dans ce talk, je vais essayer de vous faire une introduction pratique à la programmation par contraintes, en présentant les concepts de base, puis en les mettant en application avec plusieurs exemples de problèmes connus de tout le monde (ou presque), pour finir par un cas plus complexe sur lequel je travaille actuellement. \ No newline at end of file +Quand on souhaite les traiter automatiquement, tous ces problèmes peuvent être résolus par un solveur de contraintes. Dans ce talk, je vais essayer de vous faire une introduction pratique à la programmation par contraintes, en présentant les concepts de base, puis en les mettant en application avec plusieurs exemples de problèmes connus de tout le monde (ou presque), pour finir par un cas plus complexe sur lequel je travaille actuellement. + +--- + +
+

Les slides de ma présentation au #DevFestToulouse sur la programmation par contraintes sont ici : https://t.co/2lk9XoGnzN
Pour le code, ça se passe sur github : https://t.co/f6Ndt8zdB4

— Cyril Delmas 🐧🍺 (@cyril_delmas) October 4, 2019 +
+ diff --git a/content/sessions/keynote_open.md b/content/sessions/keynote_open.md index 1c2cd8c..6c9b2a8 100644 --- a/content/sessions/keynote_open.md +++ b/content/sessions/keynote_open.md @@ -9,3 +9,12 @@ speakers: draft: false --- ...où l'on parle aussi de la Pascaline, de table de logarithmes et d'éviter les erreurs. Et d'en faire. + +--- + +[Histoires de Mathématiques](https://hist-math.fr/) + +
+

Petit thread complément indispensable à mon talk d'hier au @DevFestToulouse , deux choses que je n'ai pas réussi à dire dans le temps : D'abord si je vous ai donné un tout petit peu envie d'en savoir plus sur l'histoire des maths et de l'informatique, le site de Bernard Ycart pic.twitter.com/ejtAam5Kjy

— Fabien Trégan (@FTregan) October 4, 2019 +
+ diff --git a/content/sessions/l_histoire_de_la_decouverte_d_une_backdoor_signe_oneplus.md b/content/sessions/l_histoire_de_la_decouverte_d_une_backdoor_signe_oneplus.md index 9246f58..e6ccc7a 100644 --- a/content/sessions/l_histoire_de_la_decouverte_d_une_backdoor_signe_oneplus.md +++ b/content/sessions/l_histoire_de_la_decouverte_d_une_backdoor_signe_oneplus.md @@ -9,7 +9,7 @@ level: intermediate speakers: - fs0c131y videoId: null -presentation: null +presentation: https://github.com/fs0c131y/ConPresentations/blob/master/DevfestToulouse2019.BackdoorOnePlus.pdf draft: false --- ## Résumé @@ -29,4 +29,11 @@ Lors de la détection et l'analyse de cette faille, nous aborderons la philosoph Native mobile apps ## Format -Une conférence de 40 min \ No newline at end of file +Une conférence de 40 min + +--- + +
+

It was a pleasure for me to speak at #DevFestToulouse! Thank you all for your very nice feedbacks 🥰

The video will be available soon and I will publish the slides tomorrow pic.twitter.com/CCJXQL03Bp

— Elliot Alderson (@fs0c131y) October 3, 2019 +
+ diff --git a/content/sessions/le_jaillissement_de_l_esprit.md b/content/sessions/le_jaillissement_de_l_esprit.md index 5281354..d14c32f 100644 --- a/content/sessions/le_jaillissement_de_l_esprit.md +++ b/content/sessions/le_jaillissement_de_l_esprit.md @@ -13,4 +13,11 @@ draft: false --- Les enfants sont eux-mêmes les bâtisseurs actifs de leurs propres structures intellectuelles et l'informatique y joue un rôle déterminant, disait Piaget, un célèbre biologiste, psychologue et logicien. Son collaborateur, Seymour Papert, inventera le langage Logo, langage qui fait qu'aujourd’hui je suis un développeur épanoui. Qu'en est-il aujourd'hui ? Comment donner le goût du code à nos enfants et surtout pourquoi est-ce important ? -Avec Saskia, Loïs et leur père nous voyagerons à travers le temps, en partant de la tortue sur ce bon vieux M05 en passant par Scratch, le Logo hipster de nos jours, jusqu’à Groovy et Python. \ No newline at end of file +Avec Saskia, Loïs et leur père nous voyagerons à travers le temps, en partant de la tortue sur ce bon vieux M05 en passant par Scratch, le Logo hipster de nos jours, jusqu’à Groovy et Python. + +--- + +
+

Pas mal de personnes m'ont demandé le lien vers les cartes d'activités @scratch : https://t.co/QwgHepwZ7Z et voici le lien vers les cartes d'activités @makeymakey faites par @Saskia_Blanc : https://t.co/MMFimwixbY #DevFestToulouse

— Sébastien Blanc 🇪🇺 🥑 (@sebi2706) October 5, 2019 +
+ diff --git a/content/sessions/live_coding_musical___vous_savez_coder___devenez_compositeur_avec_webaudio_et_webmidi__.md b/content/sessions/live_coding_musical___vous_savez_coder___devenez_compositeur_avec_webaudio_et_webmidi__.md index 2da9004..460533c 100644 --- a/content/sessions/live_coding_musical___vous_savez_coder___devenez_compositeur_avec_webaudio_et_webmidi__.md +++ b/content/sessions/live_coding_musical___vous_savez_coder___devenez_compositeur_avec_webaudio_et_webmidi__.md @@ -22,4 +22,10 @@ Après un rapide tour d'horizon des environnements de codage musical comme Sonic Quelques samples bien choisis, une pincée de séquences harmonieuses, une bonne dose d'aléatoire encadré, et hop, tout le monde se mettra à danser ! Et puisque la musique c'est aussi des maths, on parlera de musique générative avec des chaînes de Markov et des L-Systems. -David Guetta n'a qu'à bien se tenir ! \ No newline at end of file +David Guetta n'a qu'à bien se tenir ! + +--- +
+

The code for my music live coding talk at @DevFestToulouse and the code used on stage are available at https://t.co/DCT1k4UQss

And here's a quick recording of the "grand finale"
🎶 https://t.co/TXPrfnHRXG

— Sylvain Wallez (@bluxte) October 5, 2019 +
+ diff --git a/content/sessions/rockin_in_the_angular_world.md b/content/sessions/rockin_in_the_angular_world.md index 08bcfcd..cffddf1 100644 --- a/content/sessions/rockin_in_the_angular_world.md +++ b/content/sessions/rockin_in_the_angular_world.md @@ -11,7 +11,7 @@ speakers: - vincent_ogloblinsky - wassim_chegham videoId: null -presentation: null +presentation: https://slides.com/wassimchegham/how-to-be-successful-with-your-next-angular-projects/#/ draft: false --- _« Make it work, make it right, make it fast »_ - Kent Beck @@ -23,4 +23,4 @@ L’accueil d’un nouveau développeur·euse dans une équipe est un des meille Nous vous proposons dans ce talk un retour d’expérience sur quelques années de consulting sur des projets Angular au travers de cas concrets : - quelles sont les mauvaises pratiques à éviter ? - quels sont les choix orientés et assumés d’Angular pour vous éviter tout ça ? -- quelle que soit la taille de votre équipe ou l’expérience de vos collègues, quels sont les principes d’architecture à adopter pour améliorer tout ça ? \ No newline at end of file +- quelle que soit la taille de votre équipe ou l’expérience de vos collègues, quels sont les principes d’architecture à adopter pour améliorer tout ça ? diff --git a/content/sessions/the_freedom_of_static_typing.md b/content/sessions/the_freedom_of_static_typing.md index c3ae878..9297269 100644 --- a/content/sessions/the_freedom_of_static_typing.md +++ b/content/sessions/the_freedom_of_static_typing.md @@ -10,11 +10,11 @@ level: intermediate speakers: - andrew_radev videoId: null -presentation: null +presentation: https://speakerdeck.com/andrewradev/the-freedom-of-static-typing draft: false --- It's a common idea: Dynamic typing gives you freedom to do whatever you want, but then you suffer mistakes and runtime errors. Static typing limits your freedom, but it leads to fewer bugs, even if it's harder to actually write code. This isn't entirely false. Yes, it can be quite hard to write a Rust or Haskell program that compiles, enough that it's a running gag in their communities. "But once you get it to compile, it's probably correct!", the joke goes. On the other hand, when writing Ruby or Javascript, you're free to call functions with all sorts of things, and then runtime errors can easily slip into production. That said, it's not as simple as a sliding scale between "freedom" and "safety". Neither of these terms is one-dimensional -- a language feature that restricts your freedom in one way can actually free you in different ways. -I'd like to demonstrate some interesting language features in Rust that make it easier to write code and to express concepts compared to dynamic languages. Features that don't just protect you from shooting your foot, but give you power that's only available within the rules and "limitations" of a statically typed language. Even if you're not familiar with Rust, I hope to focus the examples on the features themselves rather than on the specifics of the language, so come by and let's talk about being (type-safely) free. \ No newline at end of file +I'd like to demonstrate some interesting language features in Rust that make it easier to write code and to express concepts compared to dynamic languages. Features that don't just protect you from shooting your foot, but give you power that's only available within the rules and "limitations" of a statically typed language. Even if you're not familiar with Rust, I hope to focus the examples on the features themselves rather than on the specifics of the language, so come by and let's talk about being (type-safely) free. diff --git a/content/sessions/un_distributeur_automatique_d_argent_de_poche_pour_les_enfants.md b/content/sessions/un_distributeur_automatique_d_argent_de_poche_pour_les_enfants.md index ef6a478..91c29b5 100644 --- a/content/sessions/un_distributeur_automatique_d_argent_de_poche_pour_les_enfants.md +++ b/content/sessions/un_distributeur_automatique_d_argent_de_poche_pour_les_enfants.md @@ -10,7 +10,7 @@ level: beginner speakers: - richard_fagot videoId: null -presentation: null +presentation: https://github.com/richard-fagot/distributeur-argent-de-poche/tree/master/Presentation/devfest-2019 draft: false --- Avec mon épouse nous avons commencé à donner de l'argent de poche à nos enfants. @@ -19,4 +19,4 @@ Avec mon épouse nous avons commencé à donner de l'argent de poche à nos enfa Pour qu'ils puissent faire comme les grands (et parce que c'est fun aussi :D) j'ai conçu un DAAP (**D**istributeur **A**utomatique d'**A**rgent de **P**oche) qui leur permet, le jour de la distribution de l'argent de poche, d'insérer leur "carte bleue", saisir leur code et de voir la machine s'ébranler pour distribuer les pièces. -Dans ce talk on parlera d'Arduino, d'impression 3D, de cartes à puce, d'électronique et des problèmes que j'ai rencontrés et comment j'ai pu les résoudre. \ No newline at end of file +Dans ce talk on parlera d'Arduino, d'impression 3D, de cartes à puce, d'électronique et des problèmes que j'ai rencontrés et comment j'ai pu les résoudre. diff --git a/content/speakers/fabien_tregan.md b/content/speakers/fabien_tregan.md index 98c9382..66c34bf 100644 --- a/content/speakers/fabien_tregan.md +++ b/content/speakers/fabien_tregan.md @@ -14,4 +14,4 @@ socials: name: fabientregan draft: false --- -After spending 10+ years of my life coding, I started to feel that the problems in software development were not in the code and tryed finding solutions elsewhere. Since I started doing that, I started to love coding again :) \ No newline at end of file +After spending 10+ years of my life coding, I started to feel that the problems in software development were not in the code and tryed finding solutions elsewhere. Since I started doing that, I started to love coding again :) diff --git a/content/speakers/qj7nbl6wiyug1rhqtxf818a46po1.md b/content/speakers/qj7nbl6wiyug1rhqtxf818a46po1.md index cadb208..19721b5 100644 --- a/content/speakers/qj7nbl6wiyug1rhqtxf818a46po1.md +++ b/content/speakers/qj7nbl6wiyug1rhqtxf818a46po1.md @@ -7,9 +7,6 @@ company: Continental Digital Service France city: 'Toulouse, France' photoURL: /images/speakers/qj7nbl6wiyug1rhqtxf818a46po1.jpg socials: - - icon: twitter - link: 'https://twitter.com/none' - name: none - icon: github link: 'https://github.com/Zorkbomb' name: Zorkbomb @@ -24,4 +21,4 @@ Et vraiment il y a fort fort longtemps : Ingénieur Système Informatique & CAO J'aime les jeux vidéos, chanter avec mon groupe de Blues-Rock, nager et les pâtisseries (même si elles ne font que détruire mon organisme sans me demander mon avis). -Et participer au Devfest ce serait cool ! (Du moins pour un vieux :-D) \ No newline at end of file +Et participer au Devfest ce serait cool ! (Du moins pour un vieux :-D) diff --git a/themes/devfest-theme-hugo b/themes/devfest-theme-hugo index 50b409d..794ae41 160000 --- a/themes/devfest-theme-hugo +++ b/themes/devfest-theme-hugo @@ -1 +1 @@ -Subproject commit 50b409df9557f57752955b4b55df734d365e15ba +Subproject commit 794ae415258416c305e67748f02e1b5ef3de82cf From 43a66541b856bbbacca38059ece179d98987b068 Mon Sep 17 00:00:00 2001 From: Igor Laborie Date: Sun, 6 Oct 2019 15:28:42 +0200 Subject: [PATCH 2/2] update theme --- themes/devfest-theme-hugo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/devfest-theme-hugo b/themes/devfest-theme-hugo index 794ae41..1fc2074 160000 --- a/themes/devfest-theme-hugo +++ b/themes/devfest-theme-hugo @@ -1 +1 @@ -Subproject commit 794ae415258416c305e67748f02e1b5ef3de82cf +Subproject commit 1fc207432835fb2a9650d9a68febefb3c3ccedfa