{"id":160720,"date":"2026-02-12T17:11:59","date_gmt":"2026-02-12T15:11:59","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok"},"modified":"2026-02-12T17:11:59","modified_gmt":"2026-02-12T15:11:59","slug":"v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok","title":{"rendered":"Le langage Nim a introduit YRC \u2014 un collecteur de liens cycliques thread-safe","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Andreas Rumpf (Araq), auteur du langage de programmation Nim, a annonc\u00e9 un nouvel algorithme de gestion de la m\u00e9moire, YRC (prononc\u00e9 \u00ab Urk \u00bb), qui r\u00e9sout l'un des probl\u00e8mes majeurs des m\u00e9canismes existants dans Nim : l'incapacit\u00e9 \u00e0 traiter correctement les r\u00e9f\u00e9rences cycliques traversant les fronti\u00e8res des threads.    <\/p>\n<p>Avant l'arriv\u00e9e de YRC, les algorithmes de gestion de la m\u00e9moire propos\u00e9s dans Nim pr\u00e9sentaient les limitations suivantes : ARC \u2014 ne prenait pas en charge la multipropri\u00e9t\u00e9 ni le traitement des cycles ; Atomic ARC \u2014 \u00e9tait thread-safe, mais ne traitait pas les r\u00e9f\u00e9rences cycliques ; ORC \u2014 g\u00e9rait les r\u00e9f\u00e9rences cycliques, mais pouvait le faire correctement uniquement \u00e0 l'int\u00e9rieur d'un seul thread (l'utilisation de r\u00e9f\u00e9rences partag\u00e9es entre threads entra\u00eenait des fuites de m\u00e9moire).       <\/p>\n<p>Le YRC propos\u00e9 combine la s\u00e9curit\u00e9 des threads et le traitement des cycles entre les threads, gr\u00e2ce \u00e0 une approche combin\u00e9e : pour les donn\u00e9es acycliques, un comptage atomique des r\u00e9f\u00e9rences est appliqu\u00e9, tandis que pour les r\u00e9f\u00e9rences cycliques, une barri\u00e8re d'\u00e9criture est activ\u00e9e uniquement lors de l'attribution de pointeurs. Dans la mise en \u0153uvre propos\u00e9e : le collecteur est lanc\u00e9 en fonction des besoins r\u00e9els (pas de pauses stop-the-world) ; les objets racines RC sont clairement d\u00e9finis et regroup\u00e9s une seule fois (aucun besoin de scanner les piles des threads) ; la suppression multipropri\u00e9t\u00e9 est \u00e9vit\u00e9e pendant l'it\u00e9ration (pas de phase globale de balayage) ; les mutateurs peuvent lire librement les donn\u00e9es ; tout thread peut lancer le ramasseur de d\u00e9chets si n\u00e9cessaire (sans thread GC d\u00e9di\u00e9).    <\/p>\n<p>YRC utilise des informations compl\u00e8tes sur les \u00e9v\u00e9nements incRef\/decRef, que les ramasseurs de d\u00e9chets tra\u00e7ants traditionnels (tracing GC) rejettent et doivent ensuite restaurer en scannant les piles et en parcourant le graphe. La mise en \u0153uvre ne n\u00e9cessite que 550 lignes de code et fait l'objet d'une v\u00e9rification formelle de s\u00e9curit\u00e9 et d'absence de verrouillage via une sp\u00e9cification en TLA+ et une preuve dans l'outil Lean. YRC est positionn\u00e9 comme \u00ab presque le dernier ramasseur de cycles bas\u00e9 sur le comptage des r\u00e9f\u00e9rences \u00bb (la lettre Y pr\u00e9c\u00e8de Z dans l'alphabet), ainsi que comme le ramasseur de d\u00e9chets le plus simple et thread-safe \u2014 selon l'auteur, il ne n\u00e9cessite pas de nombreux m\u00e9canismes complexes pr\u00e9sents dans les ramasseurs de d\u00e9chets tra\u00e7ants traditionnels.      <\/p>\n<p>YRC fournit la m\u00eame API que ORC, avec l'ex\u00e9cution des destructeurs pendant le ramasse-miettes. Le ramasse-miettes ne traite que les sous-graphes d'objets avec lesquels les threads interagissent, sans toucher aux structures de donn\u00e9es non li\u00e9es (cache, objets de longue dur\u00e9e) \u2014 une approche similaire \u00e0 celle d'un ramasse-miettes g\u00e9n\u00e9rationnel \u00ab id\u00e9al \u00bb sans utilisation de g\u00e9n\u00e9rations. Le principal inconv\u00e9nient est la performance : YRC montre un ralentissement de 1,5 \u00e0 2,0 fois par rapport \u00e0 ORC dans le test de performance orcbench. L'auteur consid\u00e8re cela comme un prix acceptable pour un traitement totalement s\u00e9curis\u00e9 des r\u00e9f\u00e9rences circulaires.    <\/p>\n<p>YRC est d\u00e9j\u00e0 disponible dans la version de d\u00e9veloppement de Nim et s'active avec le drapeau \u00ab --mm:yrc \u00bb. Cependant, dans des messages ult\u00e9rieurs, l'auteur a reconnu que la premi\u00e8re impl\u00e9mentation contenait des erreurs graves et ne collectait pas correctement les cycles. Au moment de la publication, un ensemble de correctifs a \u00e9t\u00e9 pr\u00e9par\u00e9 pour r\u00e9soudre les principaux probl\u00e8mes. L'auteur continue d'affiner les heuristiques de collecte et de corriger les erreurs restantes, tout en maintenant l'algorithme de base et sa v\u00e9rification formelle corrects.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64785\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0410\u043d\u0434\u0440\u0435\u0430\u0441 \u0420\u0443\u043c\u043f\u0444 (Araq), \u0430\u0432\u0442\u043e\u0440 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Nim, \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e YRC (\u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0441\u0438\u0442\u0441\u044f &#171;&#220;rk&#187;), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0448\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0432 Nim: \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a, \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u043e\u0442\u043e\u043a\u043e\u0432. \u0414\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f YRC \u0432 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0432 Nim \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u0445 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u0438\u043c\u0435\u043b\u0438\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f: ARC &#8212; \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u043b \u043d\u0438 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c, \u043d\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0446\u0438\u043a\u043b\u043e\u0432; [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-160720","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0410\u043d\u0434\u0440\u0435\u0430\u0441 \u0420\u0443\u043c\u043f\u0444 (Araq), \u0430\u0432\u0442\u043e\u0440 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Nim, \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e YRC (\u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0441\u0438\u0442\u0441\u044f &quot;\u00dcrk&quot;), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0448\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0432 Nim: \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412 \u044f\u0437\u044b\u043a\u0435 Nim \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d YRC \u2014 \u043f\u043e\u0442\u043e\u043a\u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0410\u043d\u0434\u0440\u0435\u0430\u0441 \u0420\u0443\u043c\u043f\u0444 (Araq), \u0430\u0432\u0442\u043e\u0440 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Nim, \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e YRC (\u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0441\u0438\u0442\u0441\u044f &quot;\u00dcrk&quot;), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0448\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0432 Nim: \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-02-12T15:11:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-02-12T15:11:59+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47YRC \u2014 ramasse-miettes de cycles de r\u00e9f\u00e9rence s\u00e9curis\u00e9 pour les threads dans le langage Nim | ProHoster","description":"Andreas Rumpf (Araq), l'auteur du langage de programmation Nim, a annonc\u00e9 un nouvel algorithme de gestion de m\u00e9moire YRC (prononc\u00e9 \"\u00dcrk\"), qui r\u00e9sout l'un des probl\u00e8mes cl\u00e9s des m\u00e9canismes existants dans Nim : l'impossibilit\u00e9.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412 \u044f\u0437\u044b\u043a\u0435 Nim \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d YRC \u2014 \u043f\u043e\u0442\u043e\u043a\u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0441\u0431\u043e\u0440\u0449\u0438\u043a \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0441\u044b\u043b\u043e\u043a | ProHoster","og:description":"\u0410\u043d\u0434\u0440\u0435\u0430\u0441 \u0420\u0443\u043c\u043f\u0444 (Araq), \u0430\u0432\u0442\u043e\u0440 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Nim, \u0430\u043d\u043e\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e YRC (\u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0441\u0438\u0442\u0441\u044f &quot;\u00dcrk&quot;), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0448\u0430\u0435\u0442 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u043e\u0432 \u0432 Nim: \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/v-yazyke-nim-predstavlen-yrc-potokobezopasnyj-sborshhik-cziklicheskih-ssylok","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-02-12T15:11:59+00:00","article:modified_time":"2026-02-12T15:11:59+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"160720","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-12 15:13:27","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-12 15:11:59","updated":"2026-02-12 15:13:27","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/160720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=160720"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/160720\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=160720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=160720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=160720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}