Skip to content

Instantly share code, notes, and snippets.

@xseman
Last active October 22, 2025 11:40
Show Gist options
  • Save xseman/aa3863d6c452595910e342c1212113cc to your computer and use it in GitHub Desktop.
Save xseman/aa3863d6c452595910e342c1212113cc to your computer and use it in GitHub Desktop.
test
Display the source blob
Display the rendered blob
Raw
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="SEQUENCE" height="924px" preserveAspectRatio="none" style="width:800px;height:924px;background:#FFFFFF;" version="1.1" viewBox="0 0 800 924" width="800px" zoomAndPan="magnify"><defs/><g><rect fill="none" height="566.4063" style="stroke:#000000;stroke-width:1.5;" width="681.9971" x="111.2764" y="111.5625"/><rect fill="none" height="146.6641" style="stroke:#000000;stroke-width:1.5;" width="429.4312" x="131.2764" y="263.8984"/><rect fill="none" height="246.4063" style="stroke:#000000;stroke-width:1.5;" width="418.5493" x="121.2764" y="424.5625"/><rect fill="none" height="116.2031" style="stroke:#000000;stroke-width:1.5;" width="398.5493" x="131.2764" y="547.7656"/><g><title>Init</title><rect fill="#000000" fill-opacity="0.00000" height="852.4688" width="8" x="19.1904" y="36.2969"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5,5;" x1="23" x2="23" y1="36.2969" y2="888.7656"/></g><g><title>CacheService</title><rect fill="#000000" fill-opacity="0.00000" height="852.4688" width="8" x="191.916" y="36.2969"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5,5;" x1="195.2764" x2="195.2764" y1="36.2969" y2="888.7656"/></g><g><title>FileSystem</title><rect fill="#000000" fill-opacity="0.00000" height="852.4688" width="8" x="402.4395" y="36.2969"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5,5;" x1="406.1138" x2="406.1138" y1="36.2969" y2="888.7656"/></g><g><title>TypeScript</title><rect fill="#000000" fill-opacity="0.00000" height="852.4688" width="8" x="502.2363" y="36.2969"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5,5;" x1="505.7651" x2="505.7651" y1="36.2969" y2="888.7656"/></g><g class="participant participant-head" data-participant="Init"><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="36.3809" x="5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="22.3809" x="12" y="24.9951">Init</text></g><g class="participant participant-tail" data-participant="Init"><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="36.3809" x="5" y="887.7656"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="22.3809" x="12" y="907.7607">Init</text></g><g class="participant participant-head" data-participant="Cache"><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="109.2793" x="141.2764" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95.2793" x="148.2764" y="24.9951">CacheService</text></g><g class="participant participant-tail" data-participant="Cache"><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="109.2793" x="141.2764" y="887.7656"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95.2793" x="148.2764" y="907.7607">CacheService</text></g><g class="participant participant-head" data-participant="FS"><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="90.6514" x="361.1138" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76.6514" x="368.1138" y="24.9951">FileSystem</text></g><g class="participant participant-tail" data-participant="FS"><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="90.6514" x="361.1138" y="887.7656"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76.6514" x="368.1138" y="907.7607">FileSystem</text></g><g class="participant participant-head" data-participant="TS"><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="88.9424" x="461.7651" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74.9424" x="468.7651" y="24.9951">TypeScript</text></g><g class="participant participant-tail" data-participant="TS"><rect fill="#E2E2F0" height="30.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="88.9424" x="461.7651" y="887.7656"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="74.9424" x="468.7651" y="907.7607">TypeScript</text></g><g class="message" data-participant-1="Init" data-participant-2="Cache"><polygon fill="#181818" points="183.916,63.4297,193.916,67.4297,183.916,71.4297,187.916,67.4297" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="23.1904" x2="189.916" y1="67.4297" y2="67.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="139.2676" x="30.1904" y="62.3638">generateWithCache()</text></g><g class="message" data-participant-1="Cache" data-participant-2="FS"><polygon fill="#181818" points="394.4395,92.5625,404.4395,96.5625,394.4395,100.5625,398.4395,96.5625" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="400.4395" y1="96.5625" y2="96.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="78.3555" x="202.916" y="91.4966">loadCache()</text></g><path d="M111.2764,111.5625 L175.7192,111.5625 L175.7192,118.6953 L165.7192,128.6953 L111.2764,128.6953 L111.2764,111.5625" fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="566.4063" style="stroke:#000000;stroke-width:1.5;" width="681.9971" x="111.2764" y="111.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19.4429" x="126.2764" y="124.6294">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="106.9116" x="190.7192" y="123.7729">[No cache exists]</text><g class="message" data-participant-1="Cache" data-participant-2="Cache"><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="237.916" y1="149.8281" y2="149.8281"/><line style="stroke:#181818;stroke-width:1;" x1="237.916" x2="237.916" y1="149.8281" y2="162.8281"/><line style="stroke:#181818;stroke-width:1;" x1="196.916" x2="237.916" y1="162.8281" y2="162.8281"/><polygon fill="#181818" points="206.916,158.8281,196.916,162.8281,206.916,166.8281,202.916,162.8281" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="102.7051" x="202.916" y="144.7622">fullGeneration()</text></g><path d="M316.7051,137.1953 L316.7051,162.1953 L537.7051,162.1953 L537.7051,147.1953 L527.7051,137.1953 L316.7051,137.1953" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M527.7051,137.1953 L527.7051,147.1953 L537.7051,147.1953 L527.7051,137.1953" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="200.4082" x="322.7051" y="154.2622">First run - generate everything</text><line style="stroke:#000000;stroke-width:1;stroke-dasharray:2,2;" x1="111.2764" x2="793.2734" y1="171.8281" y2="171.8281"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="87.8711" x="116.2764" y="182.0386">[Cache exists]</text><g class="message" data-participant-1="Cache" data-participant-2="FS"><polygon fill="#181818" points="394.4395,202.7656,404.4395,206.7656,394.4395,210.7656,398.4395,206.7656" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="400.4395" y1="206.7656" y2="206.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="125.1948" x="202.916" y="201.6997">getControllerFiles()</text></g><g class="message" data-participant-1="Cache" data-participant-2="Cache"><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="237.916" y1="235.8984" y2="235.8984"/><line style="stroke:#181818;stroke-width:1;" x1="237.916" x2="237.916" y1="235.8984" y2="248.8984"/><line style="stroke:#181818;stroke-width:1;" x1="196.916" x2="237.916" y1="248.8984" y2="248.8984"/><polygon fill="#181818" points="206.916,244.8984,196.916,248.8984,206.916,252.8984,202.916,248.8984" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="196.5234" x="202.916" y="230.8325">checkFileChanges(controllers)</text></g><path d="M131.2764,263.8984 L207.9004,263.8984 L207.9004,271.0313 L197.9004,281.0313 L131.2764,281.0313 L131.2764,263.8984" fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="146.6641" style="stroke:#000000;stroke-width:1.5;" width="429.4312" x="131.2764" y="263.8984"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="31.624" x="146.2764" y="276.9653">loop</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="128.02" x="222.9004" y="276.1089">[For each controller]</text><path d="M565.7075,268.8984 L565.7075,308.8984 L777.7075,308.8984 L777.7075,278.8984 L767.7075,268.8984 L565.7075,268.8984" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M767.7075,268.8984 L767.7075,278.8984 L777.7075,278.8984 L767.7075,268.8984" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="125.3154" x="571.7075" y="285.9653">Method signatures,</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="191.5659" x="571.7075" y="301.0981">types, or decorators changed</text><g class="message" data-participant-1="Cache" data-participant-2="FS"><polygon fill="#181818" points="394.4395,298.1641,404.4395,302.1641,394.4395,306.1641,398.4395,302.1641" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="400.4395" y1="302.1641" y2="302.1641"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="62.4038" x="202.916" y="297.0981">readFile()</text></g><g class="message" data-participant-1="Cache" data-participant-2="TS"><polygon fill="#181818" points="494.2363,327.2969,504.2363,331.2969,494.2363,335.2969,498.2363,331.2969" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="500.2363" y1="331.2969" y2="331.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="142.1875" x="202.916" y="326.231">extractFileSignature()</text></g><g class="message" data-participant-1="TS" data-participant-2="Cache"><polygon fill="#181818" points="206.916,356.4297,196.916,360.4297,206.916,364.4297,202.916,360.4297" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;stroke-dasharray:2,2;" x1="200.916" x2="505.2363" y1="360.4297" y2="360.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="188.9443" x="212.916" y="355.3638">types &amp; controller signatures</text></g><g class="message" data-participant-1="Cache" data-participant-2="Cache"><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="237.916" y1="389.5625" y2="389.5625"/><line style="stroke:#181818;stroke-width:1;" x1="237.916" x2="237.916" y1="389.5625" y2="402.5625"/><line style="stroke:#181818;stroke-width:1;" x1="196.916" x2="237.916" y1="402.5625" y2="402.5625"/><polygon fill="#181818" points="206.916,398.5625,196.916,402.5625,206.916,406.5625,202.916,402.5625" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="137.2427" x="202.916" y="384.4966">compareSignatures()</text></g><path d="M121.2764,424.5625 L185.7192,424.5625 L185.7192,431.6953 L175.7192,441.6953 L121.2764,441.6953 L121.2764,424.5625" fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="246.4063" style="stroke:#000000;stroke-width:1.5;" width="418.5493" x="121.2764" y="424.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19.4429" x="136.2764" y="437.6294">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="182.0156" x="200.7192" y="436.7729">[Semantic changes detected]</text><g class="message" data-participant-1="Cache" data-participant-2="Cache"><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="237.916" y1="462.8281" y2="462.8281"/><line style="stroke:#181818;stroke-width:1;" x1="237.916" x2="237.916" y1="462.8281" y2="475.8281"/><line style="stroke:#181818;stroke-width:1;" x1="196.916" x2="237.916" y1="475.8281" y2="475.8281"/><polygon fill="#181818" points="206.916,471.8281,196.916,475.8281,206.916,479.8281,202.916,475.8281" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="102.7051" x="202.916" y="457.7622">fullGeneration()</text></g><line style="stroke:#000000;stroke-width:1;stroke-dasharray:2,2;" x1="121.2764" x2="539.8257" y1="484.8281" y2="484.8281"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="152.4209" x="126.2764" y="495.0386">[Only cosmetic changes]</text><g class="message" data-participant-1="Cache" data-participant-2="Cache"><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="237.916" y1="519.7656" y2="519.7656"/><line style="stroke:#181818;stroke-width:1;" x1="237.916" x2="237.916" y1="519.7656" y2="532.7656"/><line style="stroke:#181818;stroke-width:1;" x1="196.916" x2="237.916" y1="532.7656" y2="532.7656"/><polygon fill="#181818" points="206.916,528.7656,196.916,532.7656,206.916,536.7656,202.916,532.7656" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="140.7212" x="202.916" y="514.6997">checkDependencies()</text></g><path d="M131.2764,547.7656 L195.7192,547.7656 L195.7192,554.8984 L185.7192,564.8984 L131.2764,564.8984 L131.2764,547.7656" fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/><rect fill="none" height="116.2031" style="stroke:#000000;stroke-width:1.5;" width="398.5493" x="131.2764" y="547.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19.4429" x="146.2764" y="560.8325">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="153.9194" x="210.7192" y="559.9761">[Dependencies changed]</text><g class="message" data-participant-1="Cache" data-participant-2="Cache"><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="237.916" y1="586.0313" y2="586.0313"/><line style="stroke:#181818;stroke-width:1;" x1="237.916" x2="237.916" y1="586.0313" y2="599.0313"/><line style="stroke:#181818;stroke-width:1;" x1="196.916" x2="237.916" y1="599.0313" y2="599.0313"/><polygon fill="#181818" points="206.916,595.0313,196.916,599.0313,206.916,603.0313,202.916,599.0313" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="102.7051" x="202.916" y="580.9653">fullGeneration()</text></g><line style="stroke:#000000;stroke-width:1;stroke-dasharray:2,2;" x1="131.2764" x2="529.8257" y1="608.0313" y2="608.0313"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="82.1348" x="136.2764" y="618.2417">[No changes]</text><g class="message" data-participant-1="Cache" data-participant-2="Cache"><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="237.916" y1="642.9688" y2="642.9688"/><line style="stroke:#181818;stroke-width:1;" x1="237.916" x2="237.916" y1="642.9688" y2="655.9688"/><line style="stroke:#181818;stroke-width:1;" x1="196.916" x2="237.916" y1="655.9688" y2="655.9688"/><polygon fill="#181818" points="206.916,651.9688,196.916,655.9688,206.916,659.9688,202.916,655.9688" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="156.73" x="202.916" y="637.9028">buildResultFromCache()</text></g><path d="M370.73,630.3359 L370.73,655.3359 L513.73,655.3359 L513.73,640.3359 L503.73,630.3359 L370.73,630.3359" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M503.73,630.3359 L503.73,640.3359 L513.73,640.3359 L503.73,630.3359" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="122.1797" x="376.73" y="647.4028">Use cached output</text><path d="M135,689.9688 L135,714.9688 L255,714.9688 L255,699.9688 L245,689.9688 L135,689.9688" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M245,689.9688 L245,699.9688 L255,699.9688 L245,689.9688" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="99.5947" x="141" y="707.0356">Full Generation</text><g class="message" data-participant-1="Cache" data-participant-2="Cache"><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="237.916" y1="741.2344" y2="741.2344"/><line style="stroke:#181818;stroke-width:1;" x1="237.916" x2="237.916" y1="741.2344" y2="754.2344"/><line style="stroke:#181818;stroke-width:1;" x1="196.916" x2="237.916" y1="754.2344" y2="754.2344"/><polygon fill="#181818" points="206.916,750.2344,196.916,754.2344,206.916,758.2344,202.916,754.2344" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="134.7988" x="202.916" y="736.1685">performGeneration()</text></g><g class="message" data-participant-1="Cache" data-participant-2="FS"><polygon fill="#181818" points="394.4395,779.3672,404.4395,783.3672,394.4395,787.3672,398.4395,783.3672" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="400.4395" y1="783.3672" y2="783.3672"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="127.7783" x="202.916" y="778.3013">writeOpenApiFiles()</text></g><g class="message" data-participant-1="Cache" data-participant-2="FS"><polygon fill="#181818" points="394.4395,808.5,404.4395,812.5,394.4395,816.5,398.4395,812.5" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="400.4395" y1="812.5" y2="812.5"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="109.1924" x="202.916" y="807.4341">writeRouterFile()</text></g><g class="message" data-participant-1="Cache" data-participant-2="FS"><polygon fill="#181818" points="394.4395,837.6328,404.4395,841.6328,394.4395,845.6328,398.4395,841.6328" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="195.916" x2="400.4395" y1="841.6328" y2="841.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="81.0024" x="202.916" y="836.5669">saveCache()</text></g><g class="message" data-participant-1="Cache" data-participant-2="Init"><polygon fill="#181818" points="34.1904,866.7656,24.1904,870.7656,34.1904,874.7656,30.1904,870.7656" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;stroke-dasharray:2,2;" x1="28.1904" x2="194.916" y1="870.7656" y2="870.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="148.7256" x="40.1904" y="865.6997">OpenAPI spec + router</text></g><!--SRC=[ZLHDRzim3BtxL_0qT5Zp1t8OC6JmqCFQeSwmoowQpDh2P4cWwBJvzwFaxoJ3PY1sx4S-FlAP3ehOQ1EKOtXmXekmUd1GkiKAwMGqWeh3_IQYD1QhSsJi4bvM6_1u3bXfCe4JUAoA8bM0tSU1Q0yDEYJ5-CDmcn_TlI-A_2S5bTKUh5VrX2ZByEX1PnpVJEHOW1npmiZwqblxPM0stabY2dAU4SWqBUz5D4K6wXtiPWc09wGpjyOr1Tg88-kjCabNWtpmZibRYvI64CSwbsBaf7-dW4EhN2DXUawBGuRrFa3f2L0oO84pU5MOKDM9RYotmO-2unkJqfnzCOrJtDCwzbZ1RX77Ob24TwkY4AUaUCq_jUGxSNcXdrf7L-ThFYMpAkpaDJ1QXf1xXnePDMCzKwzT-OhS-debuFwdomBlGOPJe_RYawSuijL_rNVJ_-pfaxDdaHyxNAcwAURWkmuTI-tNrZ36e3IA7kCOoIahfZN2qBj_QSdsVyOWiq6dpJohQKHhwAgn_svkRZ2jnqLNjqX-zSRMpnXxooNvRbgmTSfw6D-5EMzT3RxdqFDITBGyNTElo6bULcagLOfUM0GNbr82qekdRjFIveL_9Pd_aqpfKp3Jebq7F8kmOH6lFY5HdN3gS0G4IL-YFMJURmyG0shu09HP_W00]--></g></svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment