ahriman/docs/ahriman-architecture.svg
2023-07-28 03:21:19 +03:00

7923 lines
809 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 8.0.5 (0)
-->
<!-- Title: G Pages: 1 -->
<svg width="19389pt" height="4879pt"
viewBox="0.00 0.00 19389.19 4878.78" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 4874.78)">
<title>G</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="white" stroke="none" points="-4,4 -4,-4874.78 19385.19,-4874.78 19385.19,4 -4,4"/>
<!-- ahriman_application_ahriman -->
<g id="node1" class="node">
<title>ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#6b2e2e" stroke="black" cx="9834" cy="-27.93" rx="46.32" ry="27.93"/>
<text text-anchor="middle" x="9834" y="-34.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9834" y="-23.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9834" y="-13.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman</text>
</g>
<!-- ahriman_application_application -->
<g id="node2" class="node">
<title>ahriman_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="9681" cy="-851.92" rx="46.32" ry="27.93"/>
<text text-anchor="middle" x="9681" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9681" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9681" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application</text>
</g>
<!-- ahriman_application_handlers_add -->
<g id="node8" class="node">
<title>ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="10401" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="10401" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10401" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="10401" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="10401" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">add</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_add -->
<g id="edge1" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9721.47,-837.86C9803.21,-811.58 9993.91,-750.69 10155,-702.43 10221.01,-682.65 10297.34,-661.01 10347.25,-647.03"/>
<polygon fill="#db0505" stroke="black" points="10348.11,-650.14 10356.8,-644.07 10346.23,-643.4 10348.11,-650.14"/>
</g>
<!-- ahriman_application_handlers_clean -->
<g id="node10" class="node">
<title>ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="9834" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="9834" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9834" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9834" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="9834" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">clean</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_clean -->
<g id="edge2" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9698.55,-825.81C9724.91,-788.11 9774.97,-716.5 9806.3,-671.7"/>
<polygon fill="#db0505" stroke="black" points="9809.63,-674.04 9812.49,-663.84 9803.89,-670.03 9809.63,-674.04"/>
</g>
<!-- ahriman_application_handlers_key_import -->
<g id="node15" class="node">
<title>ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="9945" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="9945" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9945" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9945" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="9945" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">key_import</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_key_import -->
<g id="edge3" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9708.08,-828.86C9727.12,-813.32 9753.16,-792.02 9776,-773.14 9820.67,-736.21 9871.72,-693.53 9905.92,-664.87"/>
<polygon fill="#db0505" stroke="black" points="9907.82,-667.01 9913.23,-657.9 9903.32,-661.64 9907.82,-667.01"/>
</g>
<!-- ahriman_application_handlers_patch -->
<g id="node16" class="node">
<title>ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="2500" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="2500" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2500" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2500" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2500" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">patch</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge4" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3362,-736.78C3282.48,-731.45 3265.08,-712.36 3186,-702.43 3046.86,-684.95 2689.81,-708.36 2556,-666.43 2551.65,-665.06 2547.3,-663.29 2543.05,-661.27"/>
<polygon fill="#db0505" stroke="black" points="2544.84,-657.73 2534.36,-656.17 2541.58,-663.93 2544.84,-657.73"/>
</g>
<!-- ahriman_application_handlers_rebuild -->
<g id="node17" class="node">
<title>ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="3788" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="3788" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3788" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="3788" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="3788" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">rebuild</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge5" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3788,-736.78C3762.85,-733.97 3765.05,-703.25 3772.3,-675.81"/>
<polygon fill="#db0505" stroke="black" points="3775.86,-677.09 3775.27,-666.51 3769.13,-675.15 3775.86,-677.09"/>
</g>
<!-- ahriman_application_handlers_remove -->
<g id="node18" class="node">
<title>ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="9612" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="9612" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9612" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9612" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="9612" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remove</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_remove -->
<g id="edge6" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9688.81,-823.89C9694.51,-801.28 9700.92,-768.1 9699,-738.78"/>
<path fill="none" stroke="black" d="M9699,-736.78C9697.04,-706.8 9675.57,-680.77 9654.46,-662.17"/>
<polygon fill="#db0505" stroke="black" points="9657.02,-658.91 9647.11,-655.16 9652.52,-664.27 9657.02,-658.91"/>
</g>
<!-- ahriman_application_handlers_remove_unknown -->
<g id="node19" class="node">
<title>ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="2260" cy="-631.07" rx="64.88" ry="35.36"/>
<text text-anchor="middle" x="2260" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2260" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2260" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2260" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remove_unknown</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge7" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9634.33,-850.95C9129.44,-851.16 4672.76,-850.81 3348,-773.14 2895.62,-746.61 2770.77,-787.19 2334,-666.43 2328.05,-664.78 2321.99,-662.7 2316.01,-660.38"/>
<polygon fill="#db0505" stroke="black" points="2317.67,-656.87 2307.09,-656.29 2315,-663.34 2317.67,-656.87"/>
</g>
<!-- ahriman_application_handlers_search -->
<g id="node21" class="node">
<title>ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="2389" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="2389" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2389" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2389" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2389" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">search</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_search -->
<g id="edge8" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9634.41,-850.7C9063.88,-847.97 3444.7,-819.94 3376,-773.14 3362.37,-763.85 3378.45,-739.88 3362,-738.78"/>
<path fill="none" stroke="black" d="M3362,-736.78C3265.89,-730.34 3243.8,-712.54 3148,-702.43 2992.44,-686.01 2594.41,-712.76 2445,-666.43 2440.65,-665.08 2436.29,-663.31 2432.04,-661.3"/>
<polygon fill="#db0505" stroke="black" points="2433.83,-657.76 2423.35,-656.21 2430.57,-663.96 2433.83,-657.76"/>
</g>
<!-- ahriman_application_handlers_service_updates -->
<g id="node22" class="node">
<title>ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="2627" cy="-631.07" rx="62.23" ry="35.36"/>
<text text-anchor="middle" x="2627" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2627" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2627" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2627" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service_updates</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge9" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9634.27,-850.77C9112.83,-849.02 4391.25,-831.64 3774,-773.14 3595.14,-756.19 3554.48,-722.95 3376,-702.43 3076.66,-668.01 2991.01,-740.73 2699,-666.43 2692.98,-664.9 2686.86,-662.85 2680.86,-660.51"/>
<polygon fill="#db0505" stroke="black" points="2682.49,-656.98 2671.91,-656.34 2679.78,-663.43 2682.49,-656.98"/>
</g>
<!-- ahriman_application_handlers_setup -->
<g id="node23" class="node">
<title>ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="18806" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="18806" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="18806" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="18806" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="18806" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">setup</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge10" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9727.38,-850.25C10201.88,-843.42 14167.87,-786.16 14691,-773.14 16350.01,-731.83 18384.22,-649.43 18748.74,-634.44"/>
<polygon fill="#db0505" stroke="black" points="18748.68,-637.9 18758.53,-634 18748.39,-630.91 18748.68,-637.9"/>
</g>
<!-- ahriman_application_handlers_sign -->
<g id="node25" class="node">
<title>ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="9723" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="9723" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9723" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9723" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="9723" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sign</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_sign -->
<g id="edge11" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9699,-736.78C9697.67,-716.4 9701.87,-694.3 9707.11,-675.67"/>
<polygon fill="#db0505" stroke="black" points="9710.75,-676.73 9710.28,-666.15 9704.04,-674.71 9710.75,-676.73"/>
</g>
<!-- ahriman_application_handlers_status -->
<g id="node26" class="node">
<title>ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="2754" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="2754" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2754" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="2754" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="2754" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_status -->
<g id="edge12" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9634.37,-850.56C9114.06,-846.46 4402.76,-807.59 3788,-738.78"/>
<path fill="none" stroke="black" d="M3788,-736.78C3688.78,-725.68 3665.12,-714.38 3566,-702.43 3283.49,-668.37 2943.77,-644.4 2811.04,-635.69"/>
<polygon fill="#db0505" stroke="black" points="2811.55,-632.15 2801.35,-634.99 2811.1,-639.14 2811.55,-632.15"/>
</g>
<!-- ahriman_application_handlers_status_update -->
<g id="node27" class="node">
<title>ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="19110" cy="-631.07" rx="54.8" ry="35.36"/>
<text text-anchor="middle" x="19110" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="19110" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="19110" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="19110" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status_update</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge13" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9727.35,-850.1C10000.84,-845.34 11431.83,-820.84 12600,-809.14 12949.38,-805.64 18541.32,-807.76 18889,-773.14 18968.31,-765.24 18999.13,-783.65 19065,-738.78"/>
<path fill="none" stroke="black" d="M19065,-736.78C19084.89,-723.24 19096.03,-698.93 19102.26,-677.15"/>
<polygon fill="#db0505" stroke="black" points="19105.84,-678.27 19104.93,-667.72 19099.06,-676.53 19105.84,-678.27"/>
</g>
<!-- ahriman_application_handlers_structure -->
<g id="node28" class="node">
<title>ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="3995" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="3995" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="3995" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="3995" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="3995" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">structure</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge14" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9634.81,-849.14C9128.19,-829.64 4613.41,-655.87 4052.18,-634.27"/>
<polygon fill="#db0505" stroke="black" points="4052.65,-630.75 4042.53,-633.86 4052.39,-637.74 4052.65,-630.75"/>
</g>
<!-- ahriman_application_handlers_triggers -->
<g id="node29" class="node">
<title>ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="10512" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="10512" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10512" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="10512" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="10512" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge15" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9726.41,-845.67C9848.62,-830.38 10193.02,-779.61 10456,-666.43 10460.07,-664.68 10464.19,-662.67 10468.25,-660.52"/>
<polygon fill="#db0505" stroke="black" points="10469.56,-663.24 10476.58,-655.3 10466.15,-657.13 10469.56,-663.24"/>
</g>
<!-- ahriman_application_handlers_update -->
<g id="node31" class="node">
<title>ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="10623" cy="-631.07" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="10623" y="-642.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10623" y="-632.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="10623" y="-621.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="10623" y="-611.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update</text>
</g>
<!-- ahriman_application_application&#45;&gt;ahriman_application_handlers_update -->
<g id="edge16" class="edge">
<title>ahriman_application_application&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9727.73,-851.67C9840.69,-852.22 10136.42,-845.96 10369,-773.14 10449.27,-748 10532.74,-695.76 10581.18,-662.39"/>
<polygon fill="#db0505" stroke="black" points="10582.89,-664.77 10589.1,-656.18 10578.89,-659.02 10582.89,-664.77"/>
</g>
<!-- ahriman_application_application_application -->
<g id="node3" class="node">
<title>ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="9551" cy="-966.05" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="9551" y="-977.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9551" y="-967.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9551" y="-956.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9551" y="-946.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application</text>
</g>
<!-- ahriman_application_application_application&#45;&gt;ahriman_application_application -->
<g id="edge17" class="edge">
<title>ahriman_application_application_application&#45;&gt;ahriman_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9581.15,-939.05C9600.8,-922.1 9626.47,-899.95 9646.87,-882.36"/>
<polygon fill="#732626" stroke="black" points="9648.68,-884.56 9653.97,-875.37 9644.11,-879.26 9648.68,-884.56"/>
</g>
<!-- ahriman_application_application_application_packages -->
<g id="node4" class="node">
<title>ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="9377" cy="-1072.76" rx="77.6" ry="35.36"/>
<text text-anchor="middle" x="9377" y="-1084.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9377" y="-1073.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9377" y="-1063.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9377" y="-1052.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application_packages</text>
</g>
<!-- ahriman_application_application_application_packages&#45;&gt;ahriman_application_application_application -->
<g id="edge18" class="edge">
<title>ahriman_application_application_application_packages&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9423.17,-1043.98C9448.7,-1028.61 9480.3,-1009.6 9505.7,-994.32"/>
<polygon fill="#732626" stroke="black" points="9507.34,-996.81 9514.1,-988.66 9503.73,-990.81 9507.34,-996.81"/>
</g>
<!-- ahriman_application_application_application_properties -->
<g id="node5" class="node">
<title>ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#932424" stroke="black" cx="9531" cy="-1179.47" rx="78.67" ry="35.36"/>
<text text-anchor="middle" x="9531" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9531" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9531" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9531" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application_properties</text>
</g>
<!-- ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge19" class="edge">
<title>ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9488.51,-1149.58C9469.99,-1136.99 9448.11,-1122.11 9428.65,-1108.89"/>
<polygon fill="#932424" stroke="black" points="9430.85,-1105.47 9420.62,-1102.74 9426.92,-1111.26 9430.85,-1105.47"/>
</g>
<!-- ahriman_application_application_application_repository -->
<g id="node6" class="node">
<title>ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="9551" cy="-1072.76" rx="78.67" ry="35.36"/>
<text text-anchor="middle" x="9551" y="-1084.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9551" y="-1073.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9551" y="-1063.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9551" y="-1052.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application_repository</text>
</g>
<!-- ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge20" class="edge">
<title>ahriman_application_application_application_properties&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9537.6,-1143.9C9539.12,-1135.95 9540.76,-1127.37 9542.35,-1119.04"/>
<polygon fill="#932424" stroke="black" points="9545.96,-1119.78 9544.4,-1109.3 9539.09,-1118.47 9545.96,-1119.78"/>
</g>
<!-- ahriman_application_application_application_repository&#45;&gt;ahriman_application_application_application -->
<g id="edge21" class="edge">
<title>ahriman_application_application_application_repository&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9551,-1037.19C9551,-1029.23 9551,-1020.66 9551,-1012.33"/>
<polygon fill="#732626" stroke="black" points="9554.5,-1012.59 9551,-1002.59 9547.5,-1012.59 9554.5,-1012.59"/>
</g>
<!-- ahriman_application_handlers -->
<g id="node7" class="node">
<title>ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#950303" stroke="black" cx="9834" cy="-119.79" rx="46.32" ry="27.93"/>
<text text-anchor="middle" x="9834" y="-126.04" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9834" y="-115.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9834" y="-105.04" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers</text>
</g>
<!-- ahriman_application_handlers&#45;&gt;ahriman_application_ahriman -->
<g id="edge22" class="edge">
<title>ahriman_application_handlers&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9834,-91.83C9834,-83.99 9834,-75.29 9834,-66.91"/>
<polygon fill="#950303" stroke="black" points="9837.5,-67.18 9834,-57.18 9830.5,-67.18 9837.5,-67.18"/>
</g>
<!-- ahriman_application_handlers_add&#45;&gt;ahriman_application_handlers -->
<g id="edge23" class="edge">
<title>ahriman_application_handlers_add&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10435.68,-607.41C10442.61,-603.28 10449.94,-599.18 10457,-595.72 10527.83,-560.95 10603.18,-609.16 10623,-532.79"/>
<path fill="none" stroke="black" d="M10623,-530.79C10706.87,-207.59 10085.75,-137.85 9891.09,-124"/>
<polygon fill="#8a2e2e" stroke="black" points="9891.46,-120.44 9881.24,-123.25 9890.98,-127.43 9891.46,-120.44"/>
</g>
<!-- ahriman_application_handlers_backup -->
<g id="node9" class="node">
<title>ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="10847" cy="-737.78" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="10847" y="-749.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10847" y="-738.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="10847" y="-728.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="10847" y="-717.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">backup</text>
</g>
<!-- ahriman_application_handlers_backup&#45;&gt;ahriman_application_handlers -->
<g id="edge24" class="edge">
<title>ahriman_application_handlers_backup&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10816.26,-711.27C10754.12,-659.36 10619.68,-545.31 10623,-532.79"/>
</g>
<!-- ahriman_application_handlers_clean&#45;&gt;ahriman_application_handlers -->
<g id="edge25" class="edge">
<title>ahriman_application_handlers_clean&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9833.37,-595.39C9833.2,-576.82 9833.23,-553.55 9834,-532.79"/>
</g>
<!-- ahriman_application_handlers_daemon -->
<g id="node11" class="node">
<title>ahriman_application_handlers_daemon</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="9608" cy="-219.08" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="9608" y="-230.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9608" y="-220.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9608" y="-209.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="9608" y="-199.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">daemon</text>
</g>
<!-- ahriman_application_handlers_daemon&#45;&gt;ahriman_application_handlers -->
<g id="edge26" class="edge">
<title>ahriman_application_handlers_daemon&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9644,-196.25C9651.79,-191.87 9660.08,-187.46 9668,-183.72 9705.89,-165.83 9750.34,-149.2 9783.71,-137.53"/>
<polygon fill="#a13535" stroke="black" points="9784.39,-140.65 9792.69,-134.07 9782.09,-134.04 9784.39,-140.65"/>
</g>
<!-- ahriman_application_handlers_dump -->
<g id="node12" class="node">
<title>ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="717" cy="-432.5" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="717" y="-444" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="717" y="-433.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="717" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="717" y="-412.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">dump</text>
</g>
<!-- ahriman_application_handlers_dump&#45;&gt;ahriman_application_handlers -->
<g id="edge27" class="edge">
<title>ahriman_application_handlers_dump&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M713.46,-397.18C712.21,-376.56 712.13,-349.91 717,-326.79"/>
</g>
<!-- ahriman_application_handlers_handler -->
<g id="node13" class="node">
<title>ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="17135" cy="-2169.57" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="17135" y="-2181.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="17135" y="-2170.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="17135" y="-2160.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="17135" y="-2149.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handler</text>
</g>
<!-- ahriman_application_handlers_handler&#45;&gt;ahriman_application_handlers -->
<g id="edge28" class="edge">
<title>ahriman_application_handlers_handler&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17181.63,-2168.89C17309.66,-2168.92 17663.28,-2163 17756,-2098.21 17883.84,-2008.89 17806.65,-1898.46 17913,-1784.38 18040.1,-1648.05 18100.79,-1639.8 18274,-1570.96 18341.33,-1544.2 18375.38,-1578.89 18433,-1534.96 18454.38,-1518.66 18535.87,-1346.01 18547,-1321.54 18602.94,-1198.57 18604.5,-1162.71 18655,-1037.41 18667.71,-1005.88 18675.25,-999.62 18685,-967.05"/>
<path fill="none" stroke="black" d="M18685,-965.05C18710.7,-802.27 18636.18,-738.77 18718,-595.72 18741.87,-553.98 18789.25,-577.86 18806,-532.79"/>
<path fill="none" stroke="black" d="M18806,-530.79C18827.15,-469.21 18833.13,-453.34 18866,-397.14 18885.63,-363.58 18910.68,-364.98 18918,-326.79"/>
<path fill="none" stroke="black" d="M18918,-324.79C18934.95,-205.66 10661.59,-128.25 9891.33,-121.3"/>
<polygon fill="#822b2b" stroke="black" points="9891.56,-117.8 9881.53,-121.21 9891.5,-124.8 9891.56,-117.8"/>
</g>
<!-- ahriman_application_handlers_help -->
<g id="node14" class="node">
<title>ahriman_application_handlers_help</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="9760" cy="-219.08" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="9760" y="-230.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9760" y="-220.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9760" y="-209.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="9760" y="-199.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">help</text>
</g>
<!-- ahriman_application_handlers_help&#45;&gt;ahriman_application_handlers -->
<g id="edge29" class="edge">
<title>ahriman_application_handlers_help&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9782.81,-188.1C9790.98,-177.35 9800.25,-165.16 9808.63,-154.15"/>
<polygon fill="#a13535" stroke="black" points="9811.85,-156.69 9815.12,-146.61 9806.28,-152.45 9811.85,-156.69"/>
</g>
<!-- ahriman_application_handlers_key_import&#45;&gt;ahriman_application_handlers -->
<g id="edge30" class="edge">
<title>ahriman_application_handlers_key_import&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9909.56,-607.93C9876.79,-586.15 9833.24,-553.27 9834,-532.79"/>
</g>
<!-- ahriman_application_handlers_patch&#45;&gt;ahriman_application_handlers -->
<g id="edge31" class="edge">
<title>ahriman_application_handlers_patch&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2510.82,-596.21C2515.26,-575.06 2516.14,-548.89 2500,-532.79"/>
</g>
<!-- ahriman_application_handlers_rebuild&#45;&gt;ahriman_application_handlers -->
<g id="edge32" class="edge">
<title>ahriman_application_handlers_rebuild&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3831.5,-617.88C3861.68,-610 3902.96,-600.38 3940,-595.72 4098.31,-575.78 9682,-593.06 9682,-433.5 9682,-433.5 9682,-433.5 9682,-324.79 9682,-261.27 9667.1,-234.7 9705,-183.72 9723.31,-159.09 9753.86,-143.6 9780.63,-134.15"/>
<polygon fill="#822b2b" stroke="black" points="9781.66,-137.16 9790.05,-130.7 9779.46,-130.52 9781.66,-137.16"/>
</g>
<!-- ahriman_application_handlers_remove&#45;&gt;ahriman_application_handlers -->
<g id="edge33" class="edge">
<title>ahriman_application_handlers_remove&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9646.38,-606.76C9653.34,-602.68 9660.75,-598.78 9668,-595.72 9740.7,-565.04 9831.07,-611.63 9834,-532.79"/>
<path fill="none" stroke="black" d="M9834,-530.79C9837.37,-440.18 9818.57,-416.13 9834,-326.79"/>
</g>
<!-- ahriman_application_handlers_remove_unknown&#45;&gt;ahriman_application_handlers -->
<g id="edge34" class="edge">
<title>ahriman_application_handlers_remove_unknown&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2308.34,-607.02C2316.84,-603.14 2325.65,-599.23 2334,-595.72 2406.72,-565.1 2555.86,-588.51 2500,-532.79"/>
<path fill="none" stroke="black" d="M2500,-530.79C2358.84,-389.95 675.93,-521.92 717,-326.79"/>
</g>
<!-- ahriman_application_handlers_restore -->
<g id="node20" class="node">
<title>ahriman_application_handlers_restore</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="9908" cy="-219.08" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="9908" y="-230.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9908" y="-220.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="9908" y="-209.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="9908" y="-199.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">restore</text>
</g>
<!-- ahriman_application_handlers_restore&#45;&gt;ahriman_application_handlers -->
<g id="edge35" class="edge">
<title>ahriman_application_handlers_restore&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9885.19,-188.1C9877.02,-177.35 9867.75,-165.16 9859.37,-154.15"/>
<polygon fill="#a13535" stroke="black" points="9861.72,-152.45 9852.88,-146.61 9856.15,-156.69 9861.72,-152.45"/>
</g>
<!-- ahriman_application_handlers_search&#45;&gt;ahriman_application_handlers -->
<g id="edge36" class="edge">
<title>ahriman_application_handlers_search&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2422.35,-605.95C2457.73,-579.67 2507.6,-540.36 2500,-532.79"/>
</g>
<!-- ahriman_application_handlers_service_updates&#45;&gt;ahriman_application_handlers -->
<g id="edge37" class="edge">
<title>ahriman_application_handlers_service_updates&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2587.07,-603.57C2560.91,-585.25 2526.74,-559.46 2500,-532.79"/>
</g>
<!-- ahriman_application_handlers_setup&#45;&gt;ahriman_application_handlers -->
<g id="edge38" class="edge">
<title>ahriman_application_handlers_setup&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18800.26,-595.72C18798.47,-576.61 18798.58,-552.73 18806,-532.79"/>
</g>
<!-- ahriman_application_handlers_shell -->
<g id="node24" class="node">
<title>ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="643" cy="-325.79" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="643" y="-337.29" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="643" y="-326.79" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="643" y="-316.29" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="643" y="-305.79" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">shell</text>
</g>
<!-- ahriman_application_handlers_shell&#45;&gt;ahriman_application_handlers -->
<g id="edge39" class="edge">
<title>ahriman_application_handlers_shell&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M658.43,-292.47C671.1,-269.17 691.17,-238.68 717,-220.08"/>
<path fill="none" stroke="black" d="M717,-218.08C814.96,-147.55 9009.93,-123.08 9776.63,-120.95"/>
<polygon fill="#993333" stroke="black" points="9776.39,-124.45 9786.38,-120.92 9776.37,-117.45 9776.39,-124.45"/>
</g>
<!-- ahriman_application_handlers_sign&#45;&gt;ahriman_application_handlers -->
<g id="edge40" class="edge">
<title>ahriman_application_handlers_sign&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9758.1,-607.73C9790.34,-585.95 9833.24,-553.21 9834,-532.79"/>
</g>
<!-- ahriman_application_handlers_status&#45;&gt;ahriman_application_handlers -->
<g id="edge41" class="edge">
<title>ahriman_application_handlers_status&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2719.47,-607.1C2712.52,-602.99 2705.16,-598.99 2698,-595.72 2614.03,-557.31 2565.37,-598 2500,-532.79"/>
</g>
<!-- ahriman_application_handlers_status_update&#45;&gt;ahriman_application_handlers -->
<g id="edge42" class="edge">
<title>ahriman_application_handlers_status_update&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M19072.53,-605.06C19033.26,-576.69 18973.04,-526.66 18942,-467.85 18912.31,-411.61 18904.9,-389.02 18918,-326.79"/>
</g>
<!-- ahriman_application_handlers_structure&#45;&gt;ahriman_application_handlers -->
<g id="edge43" class="edge">
<title>ahriman_application_handlers_structure&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4041.73,-629.5C4585.7,-622.78 9696,-559.72 9696,-559.72 9800.17,-499.5 9812.78,-445.23 9834,-326.79"/>
<path fill="none" stroke="black" d="M9834,-324.79C9837.91,-266.97 9836.82,-199.73 9835.53,-158.73"/>
<polygon fill="#8a2e2e" stroke="black" points="9839,-158.77 9835.16,-148.89 9832,-159 9839,-158.77"/>
</g>
<!-- ahriman_application_handlers_triggers&#45;&gt;ahriman_application_handlers -->
<g id="edge44" class="edge">
<title>ahriman_application_handlers_triggers&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10546.07,-606.82C10576.75,-584.83 10617.82,-552.35 10623,-532.79"/>
</g>
<!-- ahriman_application_handlers_unsafe_commands -->
<g id="node30" class="node">
<title>ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="431" cy="-1499.61" rx="69.65" ry="35.36"/>
<text text-anchor="middle" x="431" y="-1511.11" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="431" y="-1500.61" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="431" y="-1490.11" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="431" y="-1479.61" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">unsafe_commands</text>
</g>
<!-- ahriman_application_handlers_unsafe_commands&#45;&gt;ahriman_application_handlers -->
<g id="edge45" class="edge">
<title>ahriman_application_handlers_unsafe_commands&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M456.75,-1466.34C485.78,-1426.63 529,-1355.96 529,-1287.18 529,-1287.18 529,-1287.18 529,-530.79 529,-456.6 572.48,-445.2 629,-397.14 667.15,-364.71 737.9,-372.29 717,-326.79"/>
<path fill="none" stroke="black" d="M717,-324.79C696.4,-283.06 679.23,-247.27 717,-220.08"/>
</g>
<!-- ahriman_application_handlers_update&#45;&gt;ahriman_application_handlers -->
<g id="edge46" class="edge">
<title>ahriman_application_handlers_update&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10618.75,-595.75C10617.47,-576.87 10617.59,-553.19 10623,-532.79"/>
</g>
<!-- ahriman_application_handlers_users -->
<g id="node32" class="node">
<title>ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="18001" cy="-1819.74" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="18001" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="18001" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="18001" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="18001" y="-1799.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">users</text>
</g>
<!-- ahriman_application_handlers_users&#45;&gt;ahriman_application_handlers -->
<g id="edge47" class="edge">
<title>ahriman_application_handlers_users&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18044.7,-1807.31C18071.33,-1800.45 18106.06,-1791.66 18137,-1784.38 18210.06,-1767.19 18241.53,-1792.85 18302,-1748.38 18375.1,-1694.63 18333.04,-1628.74 18403,-1570.96 18441.36,-1539.28 18469.08,-1564.66 18509,-1534.96 18555.71,-1500.21 18558.09,-1479.88 18585,-1428.25 18681.94,-1242.26 18632.29,-1170.06 18685,-967.05"/>
</g>
<!-- ahriman_application_handlers_validate -->
<g id="node33" class="node">
<title>ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="605" cy="-1933.87" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="605" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="605" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="605" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="605" y="-1913.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">validate</text>
</g>
<!-- ahriman_application_handlers_validate&#45;&gt;ahriman_application_handlers -->
<g id="edge48" class="edge">
<title>ahriman_application_handlers_validate&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M605,-1898.38C605,-1855.26 605,-1779.19 605,-1714.03 605,-1714.03 605,-1714.03 605,-965.05 605,-711.38 553.33,-626.36 662,-397.14 679,-361.28 734.57,-362.38 717,-326.79"/>
</g>
<!-- ahriman_application_handlers_versions -->
<g id="node34" class="node">
<title>ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="10133" cy="-2169.57" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="10133" y="-2181.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10133" y="-2170.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="10133" y="-2160.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="10133" y="-2149.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">versions</text>
</g>
<!-- ahriman_application_handlers_versions&#45;&gt;ahriman_application_handlers -->
<g id="edge49" class="edge">
<title>ahriman_application_handlers_versions&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10124.38,-2134.37C10113.73,-2089.07 10097,-2006.51 10097,-1934.87 10097,-1934.87 10097,-1934.87 10097,-850.92 10097,-729.58 10095.36,-670.74 10000,-595.72 9937.99,-546.93 9832.26,-611.67 9834,-532.79"/>
</g>
<!-- ahriman_application_handlers_web -->
<g id="node35" class="node">
<title>ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="10697" cy="-219.08" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="10697" y="-230.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10697" y="-220.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="10697" y="-209.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">handlers.</text>
<text text-anchor="middle" x="10697" y="-199.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web</text>
</g>
<!-- ahriman_application_handlers_web&#45;&gt;ahriman_application_handlers -->
<g id="edge50" class="edge">
<title>ahriman_application_handlers_web&#45;&gt;ahriman_application_handlers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10662.65,-195C10654.55,-190.53 10645.72,-186.41 10637,-183.72 10497.45,-140.69 10051.1,-125.99 9891.46,-122.03"/>
<polygon fill="#8a2e2e" stroke="black" points="9891.55,-118.51 9881.47,-121.76 9891.38,-125.51 9891.55,-118.51"/>
</g>
<!-- ahriman_application_lock -->
<g id="node36" class="node">
<title>ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="16650" cy="-2405.26" rx="46.32" ry="27.93"/>
<text text-anchor="middle" x="16650" y="-2411.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16650" y="-2401.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">application.</text>
<text text-anchor="middle" x="16650" y="-2390.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">lock</text>
</g>
<!-- ahriman_application_lock&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge51" class="edge">
<title>ahriman_application_lock&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16691.09,-2391.8C16777.83,-2365.27 16973.76,-2304.02 16999,-2284.7"/>
<path fill="none" stroke="black" d="M16999,-2282.7C17017.65,-2268.43 17062.83,-2230.96 17096.02,-2203.24"/>
<polygon fill="#732626" stroke="black" points="17097.74,-2205.52 17103.17,-2196.43 17093.25,-2200.15 17097.74,-2205.52"/>
</g>
<!-- ahriman_core -->
<g id="node37" class="node">
<title>ahriman_core</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e50505" stroke="black" cx="11804" cy="-4678.99" rx="42.11" ry="18"/>
<text text-anchor="middle" x="11804" y="-4674.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.core</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_ahriman -->
<g id="edge52" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.4,-4677.21C12335.15,-4668.24 16885,-4582.94 16885,-4516.12 16885,-4516.12 16885,-4516.12 16885,-4350.26 16885,-4287.87 16883.37,-4260.23 16928,-4216.62 16985.77,-4160.17 18250.39,-3840.72 18322,-3803.34 18574.93,-3671.3 19077.37,-3120.87 19193,-2860.04 19275.47,-2674.01 19254,-2609.76 19254,-2406.26 19254,-2406.26 19254,-2406.26 19254,-2282.7 19254,-2090.2 19299.88,-2046.21 19323,-1855.09 19353.42,-1603.7 19328.26,-1537.12 19369,-1287.18"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application -->
<g id="edge53" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11761.73,-4677.97C11671,-4675.27 11462.04,-4653.88 11415,-4516.12"/>
<path fill="none" stroke="black" d="M11415,-4514.12C11340.78,-4415.49 11242,-4515.37 11149,-4434.19"/>
<path fill="none" stroke="black" d="M11149,-4432.19C11091.9,-4382.35 11095.89,-4353.55 11059,-4287.33 10980.17,-4145.84 10970.12,-4105.42 10897,-3960.9 10716.36,-3603.87 10644.98,-3519.05 10549,-3130.61 10500.72,-2935.23 10589.18,-2853.58 10483,-2682.62 10468.17,-2658.74 10453.06,-2664.03 10431,-2646.62 10282.49,-2529.4 10277.47,-2457.75 10114,-2362.48 10070.65,-2337.22 10044.08,-2360.29 10007,-2326.48 9828.13,-2163.41 9650.81,-1527.35 9681,-1287.18"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge54" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7160,-4596.05C7059.5,-4586.13 7203.75,-4469.14 7326,-4323.33 7355.27,-4288.42 7855.77,-3754.05 7872,-3711.48 7880.85,-3688.28 7873.48,-3680.4 7872,-3655.62 7844.67,-3197.46 7882.31,-2971.93 7526,-2682.62 7475.12,-2641.3 7438.2,-2681.95 7383,-2646.62 7349,-2624.85 7359.15,-2598.93 7326,-2575.91 7284.44,-2547.04 7254.36,-2575.09 7218,-2539.91 7186.72,-2509.63 7195.81,-2489.95 7184,-2448.04 7176.4,-2421.09 7132.71,-2182.92 7117,-2098.21 7112.82,-2075.7 6985.04,-1303.53 6969,-1287.18"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge55" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7160,-4596.05C7159.41,-4595.99 7368.53,-4323.69 7369,-4323.33 7615.44,-4135.69 8015,-4371.57 8015,-4061.83 8015,-4061.83 8015,-4061.83 8015,-3406.96 8015,-3046.27 7934.32,-2903.28 7649,-2682.62 7548.24,-2604.69 7503.09,-2618.39 7383,-2575.91 7331.71,-2557.76 7308.95,-2573.3 7266,-2539.91 7228.25,-2510.55 7222.93,-2494.08 7210,-2448.04 7118.72,-2122.96 7101.76,-1860.49 7406,-1714.03"/>
<path fill="none" stroke="black" d="M7406,-1712.03C8234.61,-1239.06 8919.93,-2128.28 9529,-1393.9"/>
<path fill="none" stroke="black" d="M9529,-1391.9C9542.82,-1347.46 9497.17,-1321.14 9529,-1287.18"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge56" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11073,-4596.05C11052.24,-4585.58 10727.97,-3858.64 10715,-3839.34 10702.89,-3821.33 10693.68,-3821.63 10682,-3803.34 10517.06,-3544.97 10544.91,-3445.17 10417,-3166.61 10379.89,-3085.79 10377.04,-3061.42 10327,-2987.9 10251.01,-2876.26 10217.12,-2851.04 10097,-2789.33 10052.37,-2766.4 10025.79,-2788.49 9990,-2753.33 9902.11,-2666.96 9955.55,-2603.16 9924,-2484.04 9909.29,-2428.5 9907.76,-2412.79 9880,-2362.48 9870.21,-2344.74 9862.13,-2344.04 9852,-2326.48 9768.14,-2181.14 9752.49,-2138.99 9710,-1976.65 9673.97,-1838.98 9641.36,-1315.88 9643,-1287.18"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_add -->
<g id="edge57" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11339,-4151.69C11318.07,-4078.26 11339,-4056.25 11339,-3979.9 11339,-3979.9 11339,-3979.9 11339,-3881.12 11339,-3860.52 11155.61,-3181.13 11141,-3166.61 11097.57,-3123.44 11045.22,-3179.24 11008,-3130.61 11003.91,-3125.27 11000.85,-3096.73 11010,-2987.9 11030.32,-2746.13 11072.95,-2689.99 11091,-2448.04 11093.83,-2410.12 11117.01,-2390.22 11091,-2362.48 11005.54,-2271.37 10629.18,-2402.44 10530,-2326.48 10471.89,-2281.98 10477,-2243.76 10477,-2170.57 10477,-2170.57 10477,-2170.57 10477,-1932.87 10477,-1645.17 10431,-1574.89 10431,-1287.18 10431,-1287.18 10431,-1287.18 10431,-965.05 10431,-912.01 10352.73,-791.78 10355,-738.78"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge58" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.37,-4678.06C11945.98,-4677.1 12186.95,-4667.57 12191,-4598.05"/>
<path fill="none" stroke="black" d="M12191,-4596.05C12197.86,-4478.11 11748.53,-4623.49 11662,-4543.05 11626.03,-4509.61 11654.41,-4481.96 11643,-4434.19"/>
<path fill="none" stroke="black" d="M11643,-4432.19C11519.59,-4017.33 11615.6,-3883.26 11481,-3471.89 11428.5,-3311.45 11405.42,-3243.23 11255,-3166.61 11183.86,-3130.37 11129.48,-3192.47 11079,-3130.61 10980.36,-3009.75 11173.39,-2719.39 11207,-2682.62 11230.07,-2657.37 11248.26,-2667.93 11275,-2646.62 11323.96,-2607.58 11345.19,-2598.6 11367,-2539.91 11369.85,-2532.23 11368.13,-2438.59 11365,-2362.48 11362.78,-2308.39 11391.42,-2282.72 11357,-2240.92 11317.25,-2192.66 11278.91,-2228.51 11221,-2204.92 11161.89,-2180.85 11152.26,-2164.37 11096,-2134.21 11064.82,-2117.5 11045.37,-2127.14 11025,-2098.21 10898.38,-1918.42 10963,-1827.23 10963,-1607.32 10963,-1607.32 10963,-1607.32 10963,-1285.18 10963,-1191.22 10947.45,-1166.43 10963,-1073.76"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_clean -->
<g id="edge59" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11149,-4350.26C11122.88,-4208.94 11125.41,-4171.39 11087,-4032.9 11044.35,-3879.1 10670.38,-2824.35 10597,-2682.62 10547.59,-2587.17 10541,-2553.52 10459,-2484.04 10430.48,-2459.88 10415,-2467.36 10383,-2448.04 10328.77,-2415.31 10325.55,-2391.04 10269,-2362.48 10219.3,-2337.38 10195.21,-2357.55 10149,-2326.48 10038.77,-2252.38 10021,-2189.26 10021,-2056.43 10021,-2056.43 10021,-2056.43 10021,-1818.74 10021,-1434.23 9818.24,-1348.2 9869,-967.05"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_daemon -->
<g id="edge60" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_daemon</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11762.21,-4676.38C11634.74,-4671.57 11239.62,-4657.19 10912,-4651.05 10637.49,-4645.91 6240.01,-4664.82 5970,-4615.05 5933.55,-4608.34 5379.14,-4395.78 5346,-4379.19 5196.65,-4304.46 5160.44,-4281.03 5027,-4180.62 4997.36,-4158.32 4998.25,-4141.2 4965,-4124.76 4887.18,-4086.27 4852.54,-4123.57 4773,-4088.76 4226.93,-3849.79 4240.96,-3531.92 3697,-3288.17 3624.54,-3255.7 3593.89,-3285.9 3522,-3252.17 3443.69,-3215.42 3437.1,-3185.2 3370,-3130.61 3197.65,-2990.39 3144.91,-2950.25 3042,-2753.33 2990.29,-2654.38 2969,-2624.62 2969,-2512.97 2969,-2512.97 2969,-2512.97 2969,-1818.74 2969,-1559.09 3030.76,-1499.33 3106,-1250.83 3144.93,-1122.27 3210,-1101.38 3210,-967.05 3210,-967.05 3210,-967.05 3210,-850.92 3210,-747.95 3269.75,-733.74 3286,-632.07"/>
<path fill="none" stroke="black" d="M3286,-630.07C3312.97,-298.95 8921.59,-227.64 9550.8,-220.68"/>
<polygon fill="#e50505" stroke="black" points="9550.44,-224.17 9560.4,-220.56 9550.36,-217.17 9550.44,-224.17"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge61" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5203,-4596.05C5190.01,-4594.64 5191.09,-4584.03 5179,-4579.05 5089.01,-4541.99 5057.16,-4567.69 4963,-4543.05 4801.16,-4500.72 4769.45,-4462.5 4609,-4415.19 4540.75,-4395.07 4517.28,-4409.71 4453,-4379.19 4416.41,-4361.82 4416.59,-4342.66 4381,-4323.33 4211.43,-4231.27 4148.11,-4257.18 3971,-4180.62 3890.01,-4145.61 3870.79,-4133.94 3795,-4088.76 3732.35,-4051.41 3715.89,-4042.55 3659,-3996.9 3640.86,-3982.34 3642.16,-3970.56 3621,-3960.9 3473.13,-3893.35 3415.5,-3961.04 3257,-3924.9 2987.16,-3863.37 2929.15,-3813.8 2672,-3711.48 2289.22,-3559.16 2162.99,-3573.73 1821,-3344.03 1791.55,-3324.25 1795.81,-3303.87 1764,-3288.17 1662.55,-3238.08 1617.66,-3292.61 1512,-3252.17 1448.09,-3227.71 1445.37,-3196.88 1384,-3166.61 1294.76,-3122.58 1267.26,-3123.38 1172,-3094.61 789.45,-2979.06 621.04,-3103.31 304,-2860.04 199.62,-2779.95 114,-2499.09 114,-2406.26 114,-2406.26 114,-2406.26 114,-2282.7 114,-2074.63 190,-2028.82 190,-1820.74 190,-1820.74 190,-1820.74 190,-1178.47 190,-993.26 667.94,-711.38 717,-532.79"/>
<path fill="none" stroke="black" d="M717,-530.79C719.68,-513.98 720.25,-495.34 719.96,-478.9"/>
<polygon fill="#e50505" stroke="black" points="723.43,-478.82 719.63,-468.93 716.43,-479.03 723.43,-478.82"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge62" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.25,-4677.84C12076.21,-4676.82 13179.16,-4669.13 13515,-4615.05 13571.66,-4605.93 13583.62,-4594.11 13639,-4579.05 13701.83,-4561.98 13719.13,-4563.33 13781,-4543.05 14415.91,-4335 14544.69,-4204.08 15167,-3960.9 15319.2,-3901.42 15354.77,-3876.09 15514,-3839.34 15647.86,-3808.44 15686.79,-3832.66 15821,-3803.34 16208.98,-3718.56 16328,-3727.92 16671,-3527.75 16827.37,-3436.5 16881.85,-3409.75 16971,-3252.17 16984.51,-3228.29 17167.05,-2312.07 17169,-2284.7"/>
<path fill="none" stroke="black" d="M17169,-2282.7C17166.67,-2259.43 17159.58,-2234.45 17152.47,-2213.98"/>
<polygon fill="#e50505" stroke="black" points="17155.46,-2212.95 17148.78,-2204.73 17148.87,-2215.32 17155.46,-2212.95"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_help -->
<g id="edge63" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_help</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5545,-4432.19C5473.94,-4399.73 5468.65,-4371.31 5407,-4323.33 5345.54,-4275.5 5330.77,-4262.73 5268,-4216.62 5123.33,-4110.36 4106.05,-3369.43 3946,-3288.17 3901.64,-3265.64 3883.15,-3276.94 3840,-3252.17 3617.39,-3124.38 3522.65,-3093.51 3416,-2860.04 3316.22,-2641.6 3395.8,-892.94 3542,-702.43 3601.2,-625.29 3639.47,-622.31 3733,-595.72 4056.35,-503.79 9745.86,-661.41 9778,-326.79"/>
<path fill="none" stroke="black" d="M9778,-324.79C9786.65,-305.64 9784.04,-282.8 9778.47,-263.35"/>
<polygon fill="#e50505" stroke="black" points="9781.52,-262.39 9775.13,-253.93 9774.85,-264.52 9781.52,-262.39"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_key_import -->
<g id="edge64" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11415,-4514.12C11337.65,-4421.23 11385.68,-4364.48 11339,-4252.98"/>
<path fill="none" stroke="black" d="M11339,-4250.98C11302.31,-4166.79 11260.6,-4166.05 11211,-4088.76 11186.23,-4050.16 11182.32,-4038.94 11164,-3996.9 11064.82,-3769.27 11068.24,-3701.2 10973,-3471.89 10908.74,-3317.18 10855.71,-3292.6 10813,-3130.61 10776.26,-2991.26 10852.4,-2597.07 10763,-2484.04 10653,-2344.97 10553.77,-2410.22 10383,-2362.48 10316.97,-2344.03 10292.66,-2360.26 10233,-2326.48 10186.62,-2300.23 10192,-2272.4 10149,-2240.92 10120.45,-2220.03 10098.4,-2233.83 10078,-2204.92 10039.65,-2150.56 10059,-2122.97 10059,-2056.43 10059,-2056.43 10059,-2056.43 10059,-850.92 10059,-780.33 10011.77,-709.94 9978.11,-668.74"/>
<polygon fill="#e50505" stroke="black" points="9980.25,-666.84 9971.15,-661.4 9974.87,-671.32 9980.25,-666.84"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge65" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5661,-4596.05C5611.5,-4587.13 5603.6,-4569.8 5561,-4543.05 5525.5,-4520.77 5523.68,-4503.36 5485,-4487.19 5391.16,-4447.97 5357.63,-4476.02 5259,-4451.19 5129.38,-4418.57 5078.57,-4436.75 4975,-4352.26"/>
<path fill="none" stroke="black" d="M4975,-4350.26C4748.11,-4156.06 4620.96,-4226.56 4356,-4088.76 4102.45,-3956.89 4056.5,-3893.8 3811,-3747.48 3498.57,-3561.26 3381.94,-3572.58 3099,-3344.03 3000.21,-3264.23 2977.61,-3237.48 2909,-3130.61 2873.79,-3075.76 2437,-2121.62 2437,-2056.43 2437,-2056.43 2437,-2056.43 2437,-1712.03 2437,-1646.08 2459.82,-1632.7 2483,-1570.96 2494.95,-1539.14 2506.73,-1534.02 2513,-1500.61"/>
<path fill="none" stroke="black" d="M2513,-1498.61C2524.2,-1405.31 2513,-1381.15 2513,-1287.18 2513,-1287.18 2513,-1287.18 2513,-1071.76 2513,-1005.68 2538.01,-993.02 2560,-930.7 2572.28,-895.91 2607.22,-885 2589,-852.92"/>
<path fill="none" stroke="black" d="M2589,-850.92C2536.67,-768 2325.7,-803.91 2399,-738.78"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge66" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11762.21,-4676.42C11634.74,-4671.7 11239.62,-4657.57 10912,-4651.05 9238.48,-4617.8 8818.88,-4672.26 7146,-4615.05 6865.97,-4605.48 6051.42,-4744.44 5889,-4516.12"/>
<path fill="none" stroke="black" d="M5889,-4514.12C5736.09,-4478.67 5690,-4494.3 5545,-4434.19"/>
<path fill="none" stroke="black" d="M5545,-4432.19C5297.69,-4329.68 5276.9,-4220.79 5027,-4124.76 4950.84,-4095.5 4920.62,-4123.91 4847,-4088.76 4825,-4078.26 4190.71,-3543.39 4172,-3527.75 4045.04,-3421.63 4033.03,-3366.01 3887,-3288.17 3835.98,-3260.97 3816.32,-3271.97 3762,-3252.17 3662.59,-3215.94 3399.8,-3135.39 3327,-3058.61 3285.25,-3014.58 3121,-2614.63 3121,-2512.97 3121,-2512.97 3121,-2512.97 3121,-2404.26 3121,-1992.63 3324,-1912.24 3324,-1500.61 3324,-1500.61 3324,-1500.61 3324,-1178.47 3324,-1094.83 3422.2,-804.73 3542,-702.43 3595.25,-656.95 3676.2,-640.81 3730.54,-635.11"/>
<polygon fill="#e50505" stroke="black" points="3730.76,-638.51 3740.38,-634.08 3730.09,-631.54 3730.76,-638.51"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_remove -->
<g id="edge67" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11762.21,-4676.48C11634.74,-4671.96 11239.6,-4658.31 10912,-4651.05 10078.34,-4632.58 7989.83,-4679.92 7160,-4598.05"/>
<path fill="none" stroke="black" d="M7160,-4596.05C6863.91,-4566.85 6096.1,-4582.26 5829,-4451.19 5807.53,-4440.66 5807.47,-4430.39 5789,-4415.19 5302.65,-4014.9 5169.61,-3928.41 4656,-3563.75 4453.15,-3419.73 4378.45,-3415.73 4191,-3252.17 4152.68,-3218.73 4157.71,-3194.23 4115,-3166.61 4070.02,-3137.53 4051.05,-3146.8 4000,-3130.61 3900.32,-3098.99 3857.46,-3124.18 3776,-3058.61 3550.95,-2877.47 3592.84,-2734.18 3553,-2448.04 3533.67,-2309.23 3592.81,-2054.63 3602,-2012.65 3663.43,-1732.14 3788,-1681.06 3788,-1393.9 3788,-1393.9 3788,-1393.9 3788,-1178.47 3788,-756.3 4189.78,-743.04 4610,-702.43 5126.21,-652.54 9033.72,-634.5 9554.67,-632.3"/>
<polygon fill="#e50505" stroke="black" points="9554.31,-635.8 9564.3,-632.26 9554.28,-628.8 9554.31,-635.8"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge68" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11762.21,-4676.38C11634.74,-4671.54 11239.62,-4657.12 10912,-4651.05 10619.54,-4645.64 5936.45,-4657.23 5647,-4615.05 5590.21,-4606.78 5579.24,-4590.45 5523,-4579.05 5388.79,-4551.87 5349.86,-4576.24 5217,-4543.05 5150.8,-4526.52 5138.27,-4510.11 5074,-4487.19 4927.05,-4434.79 4886.67,-4432.38 4740,-4379.19 4637.3,-4341.95 4613.21,-4328.46 4512,-4287.33 4025.63,-4089.68 3905.27,-4037.25 3419,-3839.34 3076.68,-3700.01 2987.35,-3674.17 2648,-3527.75 2558.19,-3489 2536.7,-3477.13 2448,-3435.89 2308.14,-3370.88 2276.21,-3347.86 2134,-3288.17 1863.45,-3174.6 1785.79,-3171.6 1515,-3058.61 1446.24,-3029.92 1433.41,-3012.27 1363,-2987.9 1296.99,-2965.05 1277.96,-2968.07 1210,-2951.9 1037.46,-2910.85 565.79,-2875.26 437,-2753.33 270.74,-2595.93 342,-2058.05 342,-1934.87 342,-1934.87 342,-1934.87 342,-1818.74 342,-1672.17 449.62,-1668.51 510,-1534.96 550.08,-1446.32 703.66,-761.44 781,-702.43 837.21,-659.53 1889.52,-638.4 2184,-633.31"/>
<polygon fill="#e50505" stroke="black" points="2184.04,-636.79 2193.98,-633.12 2183.92,-629.79 2184.04,-636.79"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_restore -->
<g id="edge69" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_restore</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11225,-4059.83C11169.01,-3976.48 11150.14,-3245.48 11088,-3166.61 11061.85,-3133.42 11023.55,-3165.69 11000,-3130.61 10991.08,-3117.33 10999.96,-3110.61 11000,-3094.61 11000.01,-3089.53 11006.48,-2366.19 11003,-2362.48 10915.82,-2269.64 10526.6,-2410.64 10431,-2326.48 10378.03,-2279.86 10401,-2241.14 10401,-2170.57 10401,-2170.57 10401,-2170.57 10401,-1932.87 10401,-1715.32 10230.96,-1184.37 10241,-967.05"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_search -->
<g id="edge70" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11762.21,-4676.38C11634.74,-4671.55 11239.62,-4657.13 10912,-4651.05 10767.35,-4648.37 5846.02,-4642.62 5704,-4615.05 5683.83,-4611.14 5681.25,-4601.54 5661,-4598.05"/>
<path fill="none" stroke="black" d="M5661,-4596.05C5632.84,-4591.21 5626.65,-4586.26 5599,-4579.05 5541.74,-4564.13 5138.05,-4470.18 5082,-4451.19 4699.99,-4321.78 4614.6,-4261.24 4250,-4088.76 3948.99,-3946.36 3893.28,-3868.35 3583,-3747.48 3384.48,-3670.14 3325.25,-3680.21 3121,-3619.62 2991.38,-3581.16 2957.68,-3575 2831,-3527.75 2637.81,-3455.7 2563.98,-3475.33 2405,-3344.03 2381.85,-3324.91 2390.78,-3306.5 2367,-3288.17 2189.65,-3151.43 1626.36,-3031.4 1417,-2951.9 1374.85,-2935.89 690.36,-2683.9 665,-2646.62 563.47,-2497.34 658.36,-2419.47 685,-2240.92 700.2,-2139.05 702.37,-2113.14 725,-2012.65 769.74,-1813.97 771.57,-1760.14 847,-1570.96 873.62,-1504.21 897.2,-1495.32 923,-1428.25 963.76,-1322.3 985,-1293.99 985,-1180.47 985,-1180.47 985,-1180.47 985,-1071.76 985,-962.09 1008.13,-914.32 1099,-852.92"/>
<path fill="none" stroke="black" d="M1099,-850.92C1213.94,-769.63 2257.93,-834.67 2361,-738.78"/>
<path fill="none" stroke="black" d="M2361,-736.78C2377.31,-721.61 2384.52,-698.08 2387.56,-677.17"/>
<polygon fill="#e50505" stroke="black" points="2391.12,-677.87 2388.8,-667.53 2384.17,-677.06 2391.12,-677.87"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge71" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4975,-4350.26C4951.61,-4327.35 4936.56,-4239.36 4913,-4216.62 4837.34,-4143.61 4796.06,-4153.76 4695,-4124.76 4598.5,-4097.07 4565.36,-4125.69 4472,-4088.76 4350.87,-4040.85 4327.03,-4010.68 4229,-3924.9 4190.72,-3891.4 4191.43,-3872.66 4153,-3839.34 3929.19,-3645.31 3845.16,-3633.6 3597,-3471.89 3324.17,-3294.11 3212.8,-3297.96 2992,-3058.61 2886.68,-2944.44 2741,-2561.59 2741,-2406.26 2741,-2406.26 2741,-2406.26 2741,-1932.87 2741,-1693.33 2741,-1633.44 2741,-1393.9 2741,-1393.9 2741,-1393.9 2741,-1285.18 2741,-1092.75 2700.42,-1044.73 2716,-852.92"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge72" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.28,-4677.56C12086.58,-4674.99 13282.59,-4660.08 13648,-4615.05 13799.58,-4596.38 13836.02,-4580.82 13984,-4543.05 14613.14,-4382.51 16177.74,-3941.3 16785,-3711.48 17083.39,-3598.55 17436,-3728.01 17436,-3408.96 17436,-3408.96 17436,-3408.96 17436,-3315.1 17436,-2915.82 18286,-3423.54 18286,-3024.25 18286,-3024.25 18286,-3024.25 18286,-2716.97 18286,-2592.43 18796.44,-1860.81 18850,-1748.38 18908.04,-1626.56 19065,-1315.42 19065,-1180.47 19065,-1180.47 19065,-1180.47 19065,-965.05 19065,-826.76 18924.09,-711.32 18850.14,-660.26"/>
<polygon fill="#e50505" stroke="black" points="18852.71,-657.09 18842.47,-654.35 18848.77,-662.87 18852.71,-657.09"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge73" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11762.21,-4676.37C11634.74,-4671.51 11239.63,-4657.03 10912,-4651.05 10276.2,-4639.46 5823.33,-4659.79 5189,-4615.05 4950.99,-4598.27 4893.32,-4575.95 4657,-4543.05 3862.35,-4432.43 3634.23,-4531.6 2870,-4287.33 2535.54,-4180.43 2471.42,-4101.61 2168,-3924.9 1976.54,-3813.39 1533.31,-3474.72 1333,-3380.03 902.9,-3176.72 738.59,-3269.19 312,-3058.61 103.27,-2955.57 38,-2845.03 38,-2612.26 38,-2612.26 38,-2612.26 38,-2282.7 38,-1772.96 60.06,-1640.5 176,-1144.12 187.23,-1096.03 193.05,-1084.78 207,-1037.41 216.22,-1006.11 222.11,-999.15 228,-967.05"/>
<path fill="none" stroke="black" d="M228,-965.05C236.39,-864.84 228,-839.35 228,-738.78 228,-738.78 228,-738.78 228,-530.79 228,-373.26 471.8,-337.37 585.67,-329.2"/>
<polygon fill="#e50505" stroke="black" points="585.86,-332.62 595.6,-328.47 585.39,-325.64 585.86,-332.62"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_sign -->
<g id="edge74" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11149,-4432.19C11123.3,-4407.67 11156.72,-4386.94 11149,-4352.26"/>
<path fill="none" stroke="black" d="M11149,-4350.26C11142.39,-4320.55 11133.39,-4315.55 11122,-4287.33 10979.23,-3933.72 10722.69,-3001.78 10514,-2682.62 10500.75,-2662.36 10272.46,-2451.47 10269,-2448.04 10231.58,-2410.98 10232.27,-2389.4 10187,-2362.48 10134.73,-2331.41 10098.14,-2369.34 10055,-2326.48 10044.5,-2316.05 9983,-2067.9 9983,-2056.43 9983,-2056.43 9983,-2056.43 9983,-1818.74 9983,-1573.02 9831,-1532.9 9831,-1287.18 9831,-1287.18 9831,-1287.18 9831,-850.92 9831,-781.3 9786.51,-710.89 9754.64,-669.39"/>
<polygon fill="#e50505" stroke="black" points="9756.97,-667.69 9748.05,-661.98 9751.46,-672.01 9756.97,-667.69"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_status -->
<g id="edge75" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11762.21,-4676.38C11634.74,-4671.56 11239.62,-4657.15 10912,-4651.05 10769.99,-4648.41 5937.46,-4646.7 5799,-4615.05 5726.13,-4598.4 5712.27,-4579.5 5647,-4543.05 5607.2,-4520.84 5602.5,-4506.03 5561,-4487.19 5400.74,-4414.44 5334.67,-4463.19 5180,-4379.19 5125.51,-4349.6 5120.24,-4329.73 5075,-4287.33 5000.57,-4217.58 5005.14,-4168.52 4913,-4124.76 4767.75,-4055.77 4701.98,-4149.26 4553,-4088.76 4514.2,-4073 3994.06,-3647.7 3963,-3619.62 3810.42,-3481.68 3821.4,-3385.13 3640,-3288.17 3562.66,-3246.83 3529.11,-3280.14 3446,-3252.17 3400.62,-3236.9 3095.1,-3092.22 3061,-3058.61 2807.52,-2808.73 2855,-2640.64 2855,-2284.7 2855,-2284.7 2855,-2284.7 2855,-1932.87 2855,-1497.4 2939.7,-1395.06 3020,-967.05"/>
<path fill="none" stroke="black" d="M3020,-965.05C3023.13,-915.31 3003.05,-899.78 3020,-852.92"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge76" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.39,-4677.52C12095.49,-4674.66 13371.39,-4658.09 13761,-4615.05 15749.44,-4395.4 16455.27,-4567.49 18105,-3435.89 18174.22,-3388.41 18520.15,-2982.12 18545,-2951.9 18615.59,-2866.05 18641.58,-2849.66 18697,-2753.33 18987.38,-2248.56 19021.59,-2095.61 19179,-1534.96 19205.39,-1440.97 19219.36,-1418.47 19231,-1321.54 19262,-1063.36 19232.9,-993.17 19179,-738.78"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge77" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5889,-4514.12C5858.76,-4471.19 5833.42,-4479.2 5789,-4451.19 5738.31,-4419.23 5725.19,-4411.93 5675,-4379.19 5009.02,-3944.82 4854.23,-3818.59 4191,-3380.03 4081.6,-3307.69 3791.16,-3148.87 3696,-3058.61 3574.28,-2943.16 3525.88,-2912.87 3474,-2753.33 3365.4,-2419.34 3564.65,-1525.91 3628,-1180.47"/>
<path fill="none" stroke="black" d="M3628,-1178.47C3633.26,-1084.66 3628,-1061.02 3628,-967.05 3628,-967.05 3628,-967.05 3628,-850.92 3628,-758.36 3695.15,-750.88 3774,-702.43 3825.56,-670.74 3892.75,-652.01 3939.45,-641.95"/>
<polygon fill="#e50505" stroke="black" points="3939.9,-645.22 3948.97,-639.75 3938.47,-638.37 3939.9,-645.22"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge78" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11415,-4514.12C11391.11,-4482.37 11501.81,-4390.5 11491,-4352.26"/>
<path fill="none" stroke="black" d="M11491,-4350.26C11487.1,-4249.34 11377,-4254.68 11377,-4153.69 11377,-4153.69 11377,-4153.69 11377,-3881.12 11377,-3820.77 11366.67,-3806.26 11353,-3747.48 11345.37,-3714.66 11203.58,-3189.65 11179,-3166.61 11129.3,-3120.02 11072.14,-3184.14 11030,-3130.61 10990.77,-3080.77 11024.54,-3051.09 11030,-2987.9 11042.02,-2848.81 11047.27,-2810.18 11104,-2682.62 11104.92,-2680.56 11180.45,-2542.09 11181,-2539.91 11201.12,-2460.24 11196.07,-2409.95 11129,-2362.48 11028.66,-2291.47 10661.05,-2416.19 10577,-2326.48 10481.64,-2224.7 10572.05,-2152.05 10577,-2012.65 10586.78,-1737.13 10621,-1669.59 10621,-1393.9 10621,-1393.9 10621,-1393.9 10621,-850.92 10621,-781.17 10576.1,-710.8 10543.93,-669.34"/>
<polygon fill="#e50505" stroke="black" points="10546.23,-667.61 10537.28,-661.94 10540.74,-671.96 10546.23,-667.61"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge79" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11762.21,-4676.37C11634.74,-4671.52 11239.63,-4657.05 10912,-4651.05 10288.87,-4639.65 5923.86,-4669.46 5303,-4615.05 5258.09,-4611.12 5247.8,-4603.11 5203,-4598.05"/>
<path fill="none" stroke="black" d="M5203,-4596.05C5190.01,-4594.59 5191.22,-4583.69 5179,-4579.05 5040.21,-4526.47 4992.08,-4574.34 4847,-4543.05 4668.69,-4504.6 4632.4,-4465.27 4457,-4415.19 4034.24,-4294.49 3921.96,-4289.47 3496,-4180.62 3342.68,-4141.44 3300.46,-4143.54 3152,-4088.76 2876.08,-3986.96 2819.68,-3931.56 2555,-3803.34 2054.63,-3560.95 1911.67,-3533.3 1432,-3252.17 1374.23,-3218.31 1369.66,-3192.7 1308,-3166.61 1083.05,-3071.42 442.42,-3072.49 230,-2951.9 182.15,-2924.73 166.76,-2911.39 147,-2860.04 127.81,-2810.17 160.44,-2687.07 176,-2575.91 225.26,-2223.92 204.63,-2129.4 290,-1784.38 302.09,-1735.51 298.56,-1718.51 328,-1677.67 357.69,-1636.49 400.39,-1654.94 418,-1607.32"/>
<path fill="none" stroke="black" d="M418,-1605.32C423.97,-1586.42 427.21,-1564.8 428.97,-1546.13"/>
<polygon fill="#e50505" stroke="black" points="432.54,-1546.48 429.86,-1536.23 425.56,-1545.91 432.54,-1546.48"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_update -->
<g id="edge80" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11491,-4350.26C11468.49,-4265.85 11491,-4241.06 11491,-4153.69 11491,-4153.69 11491,-4153.69 11491,-4059.83 11491,-3883.07 11391.81,-3437.99 11298,-3288.17 11284.77,-3267.04 11270,-3272.07 11255,-3252.17 11229.96,-3218.94 11249.2,-3192.96 11217,-3166.61 11159.92,-3119.9 11104.26,-3185.5 11055,-3130.61 11012.57,-3083.33 11042.2,-3051.24 11047,-2987.9 11050.12,-2946.72 11051.42,-2936.21 11061,-2896.04 11072.58,-2847.49 11078.89,-2836.21 11096,-2789.33 11113.53,-2741.29 11115.58,-2728.07 11139,-2682.62 11147.7,-2665.74 11152.41,-2663 11162,-2646.62 11189.16,-2600.21 11205.94,-2592.06 11219,-2539.91 11225.03,-2515.82 11223.16,-2508.52 11219,-2484.04 11199.84,-2371.19 11196.19,-2337.02 11134,-2240.92 11121.36,-2221.39 11112.06,-2221.75 11096,-2204.92 11067.34,-2174.9 11067.12,-2160.49 11035,-2134.21 11009.74,-2113.55 10993.64,-2121.72 10971,-2098.21 10914.37,-2039.42 10887,-2016.51 10887,-1934.87 10887,-1934.87 10887,-1934.87 10887,-1712.03 10887,-1267.76 10772.31,-1168.35 10659,-738.78"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_users -->
<g id="edge81" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.37,-4677.41C12100.36,-4673.81 13415.79,-4653.47 13591,-4615.05 13631.47,-4606.18 13637.27,-4590.81 13677,-4579.05 13763.19,-4553.55 13789.04,-4565.78 13876,-4543.05 14092.07,-4486.6 14142.06,-4458.02 14351,-4379.19 14730.36,-4236.07 14811.47,-4164.43 15195,-4032.9 15699.02,-3860.04 15846.8,-3886.71 16350,-3711.48 16594.79,-3626.23 16665.14,-3602.16 16864,-3435.89 16988.21,-3332.05 17833.47,-2556.01 17895,-2406.26"/>
<path fill="none" stroke="black" d="M17895,-2404.26C17912.89,-2301.95 17817.96,-2240.23 17895,-2170.57"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge82" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11762.21,-4676.38C11634.74,-4671.54 11239.62,-4657.1 10912,-4651.05 10318.64,-4640.1 6161.7,-4672.25 5571,-4615.05 5242.62,-4583.26 5163.18,-4545.41 4847,-4451.19 4672.19,-4399.1 4632.18,-4374.19 4457,-4323.33 4394.47,-4305.18 4376.08,-4309.89 4315,-4287.33 4248.49,-4262.77 4235.86,-4247.42 4172,-4216.62 4051.68,-4158.6 4019.45,-4148.56 3900,-4088.76 3852.73,-4065.09 3842.86,-4055.35 3795,-4032.9 3756.74,-4014.95 3743.76,-4017.74 3707,-3996.9 3683.8,-3983.74 3682.81,-3972.9 3659,-3960.9 3615.72,-3939.09 2868.42,-3728.39 2823,-3711.48 2636.64,-3642.07 2588.53,-3624.9 2415,-3527.75 2249.87,-3435.31 2240.9,-3352.7 2063,-3288.17 1909.76,-3232.59 1849.19,-3313.1 1698,-3252.17 1695.25,-3251.06 1365.55,-2989.41 1363,-2987.9 1027.8,-2789.69 771.15,-2971.21 556,-2646.62 486.2,-2541.32 512.66,-2477.91 564,-2362.48 573.07,-2342.09 586.42,-2344.91 599,-2326.48 610.5,-2309.64 613.91,-2304.69 618,-2284.7"/>
<path fill="none" stroke="black" d="M618,-2282.7C626.97,-2233.68 608.9,-2219.57 618,-2170.57"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge83" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11339,-4250.98C11322.3,-4211.09 11350.85,-4195.27 11339,-4153.69"/>
<path fill="none" stroke="black" d="M11339,-4151.69C11321.31,-4089.65 11264.73,-4112.66 11225,-4061.83"/>
<path fill="none" stroke="black" d="M11225,-4059.83C11150.61,-3964.64 11162.34,-3921.01 11135,-3803.34 11088.46,-3603.08 11098.02,-3548.84 11080,-3344.03 11078.27,-3324.36 11082.95,-3181.51 11070,-3166.61 11016.2,-3104.7 10954.75,-3179.64 10889,-3130.61 10859.99,-3108.98 10860.62,-3093.49 10851,-3058.61 10806.55,-2897.37 10799.28,-2846.02 10835,-2682.62 10846.15,-2631.63 10857.07,-2620.61 10884,-2575.91 10902.47,-2545.24 10970.5,-2481.95 10982,-2448.04 10994.21,-2412.03 11008.06,-2390.17 10982,-2362.48 10936.6,-2314.26 10450.17,-2346.4 10387,-2326.48 10342.64,-2312.5 10235.33,-2241.27 10175.35,-2200.09"/>
<polygon fill="#e50505" stroke="black" points="10177.73,-2196.78 10167.51,-2194 10173.76,-2202.55 10177.73,-2196.78"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_handlers_web -->
<g id="edge84" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.17,-4677.84C12090.43,-4676.78 13318.47,-4668.82 13477,-4615.05 13489.38,-4610.86 13488.18,-4600.61 13501,-4598.05"/>
<path fill="none" stroke="black" d="M13501,-4596.05C13513.82,-4593.5 13513.62,-4585.49 13525,-4579.05 13559.64,-4559.45 13571.44,-4560.93 13607,-4543.05 13651.79,-4520.53 13660.25,-4509.8 13705,-4487.19 14370.33,-4151.08 14548.97,-4087.1 15252,-3839.34 15436.43,-3774.34 15491.02,-3783.04 15673,-3711.48 15844.23,-3644.14 15880.41,-3611.98 16044,-3527.75 16121.75,-3487.72 16141.7,-3478.61 16218,-3435.89 16287.87,-3396.77 16307.51,-3390.11 16373,-3344.03 16535.76,-3229.52 16566.82,-3188.03 16718,-3058.61 17072.49,-2755.14 17154.25,-2671.41 17504,-2362.48 17637.18,-2244.85 17698.35,-2241.08 17804,-2098.21 17804.71,-2097.25 17945.18,-1785.25 17946,-1784.38 17963.56,-1765.79 18330.38,-1580.78 18354,-1570.96 18403.06,-1550.57 18427,-1568.76 18468,-1534.96 18478.41,-1526.38 18519.96,-1440.32 18526,-1428.25 18577.99,-1324.4 18609,-1296.61 18609,-1180.47 18609,-1180.47 18609,-1180.47 18609,-1071.76 18609,-905.32 18661.52,-823.22 18547,-702.43 18397.24,-544.46 18284.93,-623.24 18069,-595.72 17937.1,-578.91 13303.36,-565.19 13285,-433.5"/>
</g>
<!-- ahriman_core&#45;&gt;ahriman_application_lock -->
<g id="edge85" class="edge">
<title>ahriman_core&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13501,-4596.05C13513.85,-4593.66 13513,-4584.23 13525,-4579.05 13599.92,-4546.77 13627.31,-4567.97 13705,-4543.05 13762.56,-4524.6 13773.27,-4510.59 13829,-4487.19 13950.83,-4436.04 13984.84,-4431.93 14106,-4379.19 14370.33,-4264.13 16244.34,-3461.07 16443,-3252.17 16551.76,-3137.8 16581,-3082.8 16581,-2924.97 16581,-2924.97 16581,-2924.97 16581,-2823.68 16581,-2681.51 16620.45,-2515.69 16639.69,-2443.27"/>
<polygon fill="#e50505" stroke="black" points="16643.27,-2444.44 16642.48,-2433.87 16636.51,-2442.62 16643.27,-2444.44"/>
</g>
<!-- ahriman_models_aur_package -->
<g id="node138" class="node">
<title>ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="6042" cy="-4152.69" rx="50.56" ry="27.93"/>
<text text-anchor="middle" x="6042" y="-4158.94" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6042" y="-4148.44" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6042" y="-4137.94" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aur_package</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_aur_package -->
<g id="edge86" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6349,-4514.12C6273.17,-4490.87 6240.27,-4505.01 6182,-4451.19 6103.67,-4378.85 6065.11,-4253.7 6049.99,-4191.31"/>
<polygon fill="#e50505" stroke="black" points="6053.21,-4190.71 6047.52,-4181.78 6046.4,-4192.31 6053.21,-4190.71"/>
</g>
<!-- ahriman_models_build_status -->
<g id="node140" class="node">
<title>ahriman_models_build_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e50505" stroke="black" cx="12381" cy="-3499.82" rx="48.44" ry="27.93"/>
<text text-anchor="middle" x="12381" y="-3506.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12381" y="-3495.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="12381" y="-3485.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_status</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_build_status -->
<g id="edge87" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_build_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12191,-4596.05C12200,-4481.7 12457,-4268.4 12457,-4153.69 12457,-4153.69 12457,-4153.69 12457,-3682.55 12457,-3627.77 12427.24,-3570.39 12404.97,-3535.12"/>
<polygon fill="#e50505" stroke="black" points="12407.58,-3533.7 12399.2,-3527.21 12401.7,-3537.5 12407.58,-3533.7"/>
</g>
<!-- ahriman_models_counters -->
<g id="node142" class="node">
<title>ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a32828" stroke="black" cx="12619" cy="-3407.96" rx="38.36" ry="27.93"/>
<text text-anchor="middle" x="12619" y="-3414.21" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12619" y="-3403.71" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="12619" y="-3393.21" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">counters</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_counters -->
<g id="edge88" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.39,-4678.43C12014.99,-4679.75 12637.78,-4680.02 12822,-4615.05 12834.33,-4610.71 12841.76,-4610.42 12846,-4598.05"/>
<path fill="none" stroke="black" d="M12846,-4596.05C12868.51,-4530.35 12744.5,-4595.53 12699,-4543.05 12671.69,-4511.56 12684.24,-4492.67 12680,-4451.19 12678.37,-4435.28 12670.72,-4428.23 12680,-4415.19 12708.37,-4375.35 12752.24,-4416.4 12784,-4379.19 12850.08,-4301.77 12824,-4255.48 12824,-4153.69 12824,-4153.69 12824,-4153.69 12824,-3774.41 12824,-3633.37 12706.42,-3496.35 12649.35,-3438.16"/>
<polygon fill="#e50505" stroke="black" points="12652.25,-3436.1 12642.72,-3431.48 12647.29,-3441.04 12652.25,-3436.1"/>
</g>
<!-- ahriman_models_internal_status -->
<g id="node143" class="node">
<title>ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ae1e1e" stroke="black" cx="12427" cy="-3316.1" rx="56.39" ry="27.93"/>
<text text-anchor="middle" x="12427" y="-3322.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12427" y="-3311.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="12427" y="-3301.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">internal_status</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_internal_status -->
<g id="edge89" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12191,-4596.05C12198.03,-4474.58 12190.29,-4442.76 12167,-4323.33 12151.91,-4245.93 12115,-4232.55 12115,-4153.69 12115,-4153.69 12115,-4153.69 12115,-3682.55 12115,-3521.13 12293.25,-3394.94 12380.29,-3342.95"/>
<polygon fill="#e50505" stroke="black" points="12381.84,-3345.51 12388.68,-3337.42 12378.28,-3339.48 12381.84,-3345.51"/>
</g>
<!-- ahriman_models_migration -->
<g id="node146" class="node">
<title>ahriman_models_migration</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="11160" cy="-3023.25" rx="39.42" ry="27.93"/>
<text text-anchor="middle" x="11160" y="-3029.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11160" y="-3019" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="11160" y="-3008.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">migration</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_migration -->
<g id="edge90" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_migration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11643,-4432.19C11625.84,-4354.41 11643,-4332.63 11643,-4252.98 11643,-4252.98 11643,-4252.98 11643,-3881.12 11643,-3706.58 11545,-3675.36 11545,-3500.82 11545,-3500.82 11545,-3500.82 11545,-3406.96 11545,-3274.56 11484.75,-3230.89 11369,-3166.61 11297.29,-3126.79 11247.74,-3186.81 11188,-3130.61 11169.48,-3113.18 11162.65,-3085.1 11160.36,-3062.16"/>
<polygon fill="#e50505" stroke="black" points="11163.79,-3062.1 11159.57,-3052.39 11156.81,-3062.62 11163.79,-3062.1"/>
</g>
<!-- ahriman_models_migration_result -->
<g id="node147" class="node">
<title>ahriman_models_migration_result</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="11731" cy="-4515.12" rx="60.1" ry="27.93"/>
<text text-anchor="middle" x="11731" y="-4521.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11731" y="-4510.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="11731" y="-4500.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">migration_result</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_migration_result -->
<g id="edge91" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_migration_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12191,-4596.05C12194.07,-4557 11930.2,-4531.35 11800.79,-4521.13"/>
<polygon fill="#e50505" stroke="black" points="11801.44,-4517.59 11791.2,-4520.3 11800.9,-4524.57 11801.44,-4517.59"/>
</g>
<!-- ahriman_models_package -->
<g id="node148" class="node">
<title>ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#950303" stroke="black" cx="6695" cy="-3499.82" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="6695" y="-3506.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6695" y="-3495.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6695" y="-3485.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_package -->
<g id="edge92" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6349,-4514.12C6282.32,-4493.68 6419.38,-4279.77 6449,-4216.62 6540.65,-4021.21 6645.1,-4010.98 6704,-3803.34 6718.59,-3751.9 6697.25,-3736.59 6685,-3684.55"/>
</g>
<!-- ahriman_models_package_description -->
<g id="node149" class="node">
<title>ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ae1e1e" stroke="black" cx="9241" cy="-4060.83" rx="74.42" ry="27.93"/>
<text text-anchor="middle" x="9241" y="-4067.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9241" y="-4056.58" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="9241" y="-4046.08" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_description</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_package_description -->
<g id="edge93" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11761.9,-4677.93C11637.96,-4677.11 11264.02,-4669.9 10960,-4615.05 10903.52,-4604.87 10891.25,-4594.56 10836,-4579.05 10488.19,-4481.43 9472.31,-4450.93 9267,-4153.69"/>
</g>
<!-- ahriman_models_package_source -->
<g id="node150" class="node">
<title>ahriman_models_package_source</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e50505" stroke="black" cx="7801" cy="-3683.55" rx="61.7" ry="27.93"/>
<text text-anchor="middle" x="7801" y="-3689.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7801" y="-3679.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="7801" y="-3668.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_source</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_package_source -->
<g id="edge94" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_package_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6349,-4514.12C6289.25,-4495.71 6395.85,-4448.11 6449,-4415.19 6723.29,-4245.31 6886.41,-4385.07 7136,-4180.62 7194.77,-4132.48 7168.67,-4087 7222,-4032.9 7306.49,-3947.18 7627.52,-3775.07 7751.62,-3710.13"/>
<polygon fill="#e50505" stroke="black" points="7753.02,-3712.83 7760.26,-3705.1 7749.78,-3706.63 7753.02,-3712.83"/>
</g>
<!-- ahriman_models_remote_source -->
<g id="node155" class="node">
<title>ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b80909" stroke="black" cx="5620" cy="-3591.68" rx="56.92" ry="27.93"/>
<text text-anchor="middle" x="5620" y="-3597.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5620" y="-3587.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="5620" y="-3576.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_source</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_remote_source -->
<g id="edge95" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7160,-4596.05C6799.66,-4559.53 6695.39,-4621.95 6349,-4516.12"/>
<path fill="none" stroke="black" d="M6349,-4514.12C6323.59,-4506.36 5897.38,-4465.5 5875,-4451.19 5712.56,-4347.38 5468.28,-3877.33 5469,-3684.55"/>
<path fill="none" stroke="black" d="M5469,-3682.55C5468.75,-3639.38 5514.92,-3616.48 5556.26,-3604.63"/>
<polygon fill="#e50505" stroke="black" points="5556.88,-3607.81 5565.63,-3601.85 5555.07,-3601.05 5556.88,-3607.81"/>
</g>
<!-- ahriman_models_repository_paths -->
<g id="node157" class="node">
<title>ahriman_models_repository_paths</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e50505" stroke="black" cx="10921" cy="-4515.12" rx="62.76" ry="27.93"/>
<text text-anchor="middle" x="10921" y="-4521.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10921" y="-4510.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="10921" y="-4500.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository_paths</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_repository_paths -->
<g id="edge96" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_repository_paths</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11761.76,-4677.22C11624.84,-4674.13 11195.1,-4659.66 11073,-4598.05"/>
<path fill="none" stroke="black" d="M11073,-4596.05C11038.32,-4578.56 10999.58,-4558.17 10969.88,-4542.36"/>
<polygon fill="#e50505" stroke="black" points="10971.65,-4538.81 10961.18,-4537.19 10968.36,-4544.98 10971.65,-4538.81"/>
</g>
<!-- ahriman_models_result -->
<g id="node158" class="node">
<title>ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="8651" cy="-2717.97" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="8651" y="-2724.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8651" y="-2713.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="8651" y="-2703.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">result</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_models_result -->
<g id="edge97" class="edge">
<title>ahriman_core&#45;&gt;ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11761.47,-4678.03C11646.75,-4677.37 11321.94,-4670.35 11059,-4615.05 10962.45,-4594.75 10941.61,-4577.1 10849,-4543.05 10812.53,-4529.65 10229.05,-4310.7 10198,-4287.33 9858.51,-4031.84 9919.73,-3834.95 9699,-3471.89 9686.08,-3450.63 9592.66,-3300.42 9571,-3288.17 9466.89,-3229.3 9145.16,-3296.31 9034,-3252.17 8908.24,-3202.23 8880.5,-3166.63 8799,-3058.61 8760.66,-3007.79 8693.13,-2832.51 8664.47,-2755.62"/>
<polygon fill="#e50505" stroke="black" points="8667.45,-2754.6 8660.69,-2746.44 8660.89,-2757.03 8667.45,-2754.6"/>
</g>
<!-- ahriman_web_apispec -->
<g id="node166" class="node">
<title>ahriman_web_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="13075" cy="-966.05" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="13075" y="-972.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13075" y="-961.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13075" y="-951.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">apispec</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_apispec -->
<g id="edge98" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12846,-4596.05C12863.65,-4549.76 12853.12,-4533.77 12870,-4487.19 12897.96,-4410.06 12914.11,-4394.46 12955,-4323.33 13106.02,-4060.63 13153.18,-4000.44 13320,-3747.48 13503.01,-3469.96 13644.05,-3447.97 13743,-3130.61 13748.35,-3113.46 13754.44,-2499.32 13745,-2484.04 13726.19,-2453.61 13700.69,-2470.69 13673,-2448.04 13646.46,-2426.34 13501.74,-2233.63 13483,-2204.92 13463.5,-2175.05 13472.48,-2156.97 13445,-2134.21 13404.08,-2100.32 13370.62,-2133.62 13331,-2098.21 13299.98,-2070.49 13315.8,-2047.46 13293,-2012.65 13281.11,-1994.5 13271.48,-1995.07 13260,-1976.65 13241.13,-1946.38 13167.76,-1703.35 13143,-1677.67 13115.09,-1648.73 13091.44,-1666.74 13060,-1641.67 13029.5,-1617.36 13038.85,-1594.84 13008,-1570.96 12973.93,-1544.6 12950.59,-1563.14 12918,-1534.96 12890.52,-1511.2 12895.26,-1495.65 12877,-1464.25 12867.69,-1448.24 12860.83,-1446.13 12856,-1428.25 12809.11,-1254.82 12973.76,-1066.91 13044.36,-996.16"/>
<polygon fill="#e50505" stroke="black" points="13046.45,-999.03 13051.09,-989.51 13041.52,-994.06 13046.45,-999.03"/>
</g>
<!-- ahriman_web_middlewares_auth_handler -->
<g id="node169" class="node">
<title>ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="12567" cy="-966.05" rx="51.62" ry="35.36"/>
<text text-anchor="middle" x="12567" y="-977.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12567" y="-967.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12567" y="-956.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares.</text>
<text text-anchor="middle" x="12567" y="-946.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth_handler</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge99" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.46,-4678.53C11921.99,-4677.97 12083.19,-4669.78 12205,-4615.05 12414.01,-4521.15 12429.51,-4437.02 12603,-4287.33 12784.88,-4130.4 12854.81,-4113.18 13004,-3924.9 13146.82,-3744.66 13081.36,-3623.8 13254,-3471.89 13286.65,-3443.16 13310.59,-3462.5 13345,-3435.89 13503.35,-3313.43 13560.18,-3256.4 13591,-3058.61 13617.99,-2885.42 13539.8,-2844.25 13472,-2682.62 13205.35,-2046.95 12970.75,-1980.67 12609,-1393.9"/>
<path fill="none" stroke="black" d="M12609,-1391.9C12558.6,-1310.81 12626.46,-1258.18 12571,-1180.47"/>
<path fill="none" stroke="black" d="M12571,-1178.47C12559.88,-1163.53 12558.05,-1159.11 12547,-1144.12 12534.97,-1127.81 12531.03,-1124.43 12519,-1108.12 12507.95,-1093.13 12492.43,-1092.21 12495,-1073.76"/>
</g>
<!-- ahriman_web_views_api_swagger -->
<g id="node195" class="node">
<title>ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="12647" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="12647" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12647" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="12647" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="12647" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">api.</text>
<text text-anchor="middle" x="12647" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">swagger</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge100" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.16,-4677.12C12031.09,-4673.13 12765.41,-4654.85 12860,-4615.05 12920.3,-4589.68 12969,-4581.55 12969,-4516.12 12969,-4516.12 12969,-4516.12 12969,-4432.19 12969,-4376.51 12991.39,-4362.47 13031,-4323.33 13054.49,-4300.12 13070.6,-4308.44 13096,-4287.33 13143.27,-4248.04 13152.47,-4233.39 13184,-4180.62 13298.3,-3989.32 13493.19,-3463.8 13563,-3252.17 13612.85,-3101.05 13635.58,-3051.14 13600,-2896.04 13570.23,-2766.26 13484.15,-2607.63 13353,-2362.48 13152.02,-1986.8 12990.42,-1971.73 12721,-1641.67 12651.35,-1556.34 12638.43,-1529.48 12595,-1428.25 12523.66,-1261.96 12460.23,-1217.16 12481,-1037.41 12486.59,-989.02 12475.5,-968.67 12506,-930.7 12529.15,-901.87 12548.66,-912.62 12581,-894.7 12589.01,-890.26 12597.4,-885.25 12605.39,-880.29"/>
<polygon fill="#e50505" stroke="black" points="12606.96,-882.8 12613.56,-874.51 12603.23,-876.88 12606.96,-882.8"/>
</g>
<!-- ahriman_web_views_base -->
<g id="node196" class="node">
<title>ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#950303" stroke="black" cx="14943" cy="-966.05" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="14943" y="-977.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14943" y="-967.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14943" y="-956.55" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="14943" y="-946.05" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">base</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_base -->
<g id="edge101" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13729,-4350.26C13797.58,-4163.74 13892.05,-4160.99 14044,-4032.9 14635.26,-3534.46 14805.16,-3363.5 15553,-3166.61 15815.45,-3097.51 15928.03,-3208.9 16154,-3058.61 16242.24,-2999.92 16228.7,-2949.19 16286,-2860.04 16654.01,-2287.41 16648.41,-2068.45 17113,-1570.96 17166.64,-1513.52 17182.85,-1497.64 17254,-1464.25 17317.63,-1434.39 17350.65,-1468.89 17408,-1428.25 17453.88,-1395.73 17460.26,-1375.53 17476,-1321.54 17498.13,-1245.63 17514.57,-1204.05 17463,-1144.12 17347.47,-1009.84 17254.24,-1063.21 17079,-1037.41 16708.47,-982.84 15768.09,-1019.64 15394,-1001.41 15247.4,-994.26 15074.46,-979.24 14991.79,-971.65"/>
<polygon fill="#e50505" stroke="black" points="14992.25,-968.08 14981.97,-970.65 14991.61,-975.05 14992.25,-968.08"/>
</g>
<!-- ahriman_web_views_index -->
<g id="node197" class="node">
<title>ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="14772" cy="-851.92" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="14772" y="-863.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14772" y="-852.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14772" y="-842.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="14772" y="-831.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">index</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_index -->
<g id="edge102" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.34,-4677.58C12064,-4675.28 13058.52,-4662.31 13363,-4615.05 13391.23,-4610.67 13398.03,-4607.5 13425,-4598.05"/>
<path fill="none" stroke="black" d="M13425,-4596.05C13434.22,-4592.83 13555.03,-4492.83 13563,-4487.19 13611.92,-4452.59 13625.34,-4445.56 13677,-4415.19 13705.81,-4398.26 13715.08,-4397.55 13743,-4379.19 14145.25,-4114.64 14221.16,-4013.62 14596,-3711.48 14598.5,-3709.46 14771.11,-3565.16 14774,-3563.75 14842.29,-3530.56 14870.11,-3554.94 14941,-3527.75 15064.37,-3480.45 15076.23,-3428.89 15199,-3380.03 15213.02,-3374.45 15712.47,-3256.23 15727,-3252.17 16000.52,-3175.69 16085.18,-3191.85 16336,-3058.61 16403.54,-3022.73 16419.39,-3008.34 16471,-2951.9 16489.32,-2931.87 16990.52,-2156.51 17006,-2134.21 17138.17,-1943.78 17315,-1945.84 17315,-1714.03 17315,-1714.03 17315,-1714.03 17315,-1605.32 17315,-1448.96 17533.62,-1559.24 17619,-1428.25 17714.24,-1282.15 17775.74,-1162.29 17654,-1037.41 17626.65,-1009.35 16283.09,-1004.06 16244,-1001.41 15958.48,-982.03 15888.7,-959.73 15604,-930.7 15306.34,-900.34 14948.29,-868.42 14820.35,-857.15"/>
<polygon fill="#e50505" stroke="black" points="14821.02,-853.61 14810.75,-856.22 14820.41,-860.58 14821.02,-853.61"/>
</g>
<!-- ahriman_web_views_service_search -->
<g id="node204" class="node">
<title>ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="13341" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="13341" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13341" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13341" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="13341" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="13341" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">search</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_service_search -->
<g id="edge103" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13349,-4596.05C13360.62,-4574.64 13338.14,-4567.22 13335,-4543.05 13331.8,-4518.43 13331.61,-4511.79 13335,-4487.19 13352.05,-4363.45 13370.72,-4334.86 13411,-4216.62 13439.39,-4133.3 13443.87,-4110.73 13485,-4032.9 13680.01,-3663.85 13859.61,-3642.69 14007,-3252.17 14062.99,-3103.83 14048.62,-2698.46 14049,-2539.91 14049.06,-2515.08 14056.19,-2507.81 14049,-2484.04 14043.43,-2465.64 14034.23,-2464.91 14025,-2448.04 13923.56,-2262.68 13933.22,-2199.22 13834,-2012.65 13698.57,-1758 13668.12,-1688.72 13487,-1464.25 13402.05,-1358.98 13378.9,-1331.08 13270,-1250.83 13242.79,-1230.78 13220.35,-1243.84 13203,-1214.83 13138.2,-1106.44 13134.19,-1036.58 13203,-930.7 13224.47,-897.66 13249.92,-914.46 13284,-894.7 13289.78,-891.35 13295.68,-887.53 13301.39,-883.6"/>
<polygon fill="#e50505" stroke="black" points="13303.03,-886.02 13309.16,-877.37 13298.98,-880.31 13303.03,-886.02"/>
</g>
<!-- ahriman_web_views_status_logs -->
<g id="node207" class="node">
<title>ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="14583" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="14583" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14583" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14583" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="14583" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="14583" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logs</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge104" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13463,-4432.19C13484.83,-4404.52 13500.79,-4407.35 13522,-4379.19 13570.34,-4315.03 13560.17,-4285.8 13601,-4216.62 13791.26,-3894.28 13840.4,-3797.17 14133,-3563.75 14509.42,-3263.47 14681.12,-3309.34 15141,-3166.61 15161.09,-3160.37 15488.92,-3073.28 15504,-3058.61 15602.77,-2962.54 15534.64,-2600.09 15531,-2575.91 15497.73,-2354.83 15383.06,-1793.31 15259,-1607.32"/>
</g>
<!-- ahriman_web_views_status_package -->
<g id="node208" class="node">
<title>ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="13209" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="13209" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13209" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13209" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="13209" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="13209" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_status_package -->
<g id="edge105" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11846.29,-4677.82C12090.81,-4676.59 13313.99,-4667.02 13349,-4598.05"/>
<path fill="none" stroke="black" d="M13349,-4596.05C13382.9,-4529.26 13245.65,-4592.07 13189,-4543.05 13110.18,-4474.85 13067.79,-4419.91 13107,-4323.33 13115.39,-4302.66 13127.98,-4304.69 13142,-4287.33 13177.78,-4243.01 13183.38,-4229.28 13213,-4180.62 13458.34,-3777.54 13501.34,-3666.05 13728,-3252.17 13836.68,-3053.72 13966.14,-3014.07 13940,-2789.33 13923.89,-2650.86 13929.27,-2609.26 13868,-2484.04 13837.5,-2421.71 13815.66,-2414.74 13770,-2362.48 13721.07,-2306.48 13709.16,-2291.89 13655,-2240.92 13636.85,-2223.84 13630.69,-2221.42 13612,-2204.92 13577.41,-2174.39 13570.85,-2164.44 13536,-2134.21 13451.83,-2061.21 13407.99,-2065.69 13341,-1976.65 13297.65,-1919.04 13249.15,-1741.17 13215,-1677.67 13205.89,-1660.74 13201.25,-1657.94 13191,-1641.67 13046.86,-1412.98 12962.72,-1370.83 12899,-1108.12 12879.45,-1027.5 12892.81,-983.26 12957,-930.7 13016.16,-882.25 13105.37,-863.91 13160.25,-857.02"/>
<polygon fill="#e50505" stroke="black" points="13160.56,-860.39 13170.08,-855.75 13159.74,-853.44 13160.56,-860.39"/>
</g>
<!-- ahriman_web_views_user_login -->
<g id="node212" class="node">
<title>ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="14307" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="14307" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14307" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14307" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="14307" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user.</text>
<text text-anchor="middle" x="14307" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">login</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_user_login -->
<g id="edge106" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13349,-4596.05C13379.11,-4549.22 13377.45,-4531.63 13411,-4487.19 13430.89,-4460.86 13441.97,-4459.62 13463,-4434.19"/>
<path fill="none" stroke="black" d="M13463,-4432.19C13567.18,-4268.61 13551.07,-4205.76 13639,-4032.9 13726.9,-3860.09 13706.83,-3777.02 13858,-3655.62 13899.1,-3622.61 13925.99,-3647.05 13971,-3619.62 14162.79,-3502.7 14200.43,-3443.56 14318,-3252.17 14446.08,-3043.67 14497.96,-2992.21 14551,-2753.33 14557.81,-2722.65 14557.11,-2713.44 14551,-2682.62 14521.1,-2531.65 14482.81,-2502.53 14419,-2362.48 14374.94,-2265.79 14205,-2041.13 14205,-1934.87 14205,-1934.87 14205,-1934.87 14205,-1498.61 14205,-1435.34 14226.79,-1405.9 14186,-1357.54 14151.47,-1316.6 14116.9,-1349.14 14071,-1321.54 14042.09,-1304.15 13976,-1245.96 13963,-1214.83 13950.89,-1185.83 13947.58,-1171.5 13963,-1144.12 13970.4,-1130.98 14067.11,-1083.03 14079,-1073.76"/>
</g>
<!-- ahriman_web_views_user_logout -->
<g id="node213" class="node">
<title>ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="14677" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="14677" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14677" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14677" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="14677" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user.</text>
<text text-anchor="middle" x="14677" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logout</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge107" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13349,-4596.05C13358.21,-4583.51 13549.59,-4423.09 13563,-4415.19 13631,-4375.17 13694.02,-4422.99 13729,-4352.26"/>
<path fill="none" stroke="black" d="M13729,-4350.26C13753.92,-4295.39 13730.18,-4272.8 13752,-4216.62 13814.42,-4055.93 14036.46,-3671.53 14171,-3563.75 14221.14,-3523.59 15194.77,-3182.54 15257,-3166.61 15567.07,-3087.25 15673.07,-3180.55 15969,-3058.61 16331.03,-2909.43 16270.19,-2672.79 16509,-2362.48 16549.58,-2309.76 17242.62,-1496.15 17301,-1464.25 17393.72,-1413.59 17455.97,-1497.24 17536,-1428.25 17648.8,-1331.01 17612.75,-1255.38 17635,-1108.12 17639.7,-1077.04 17656.95,-1059.89 17635,-1037.41 17605.79,-1007.49 16171.77,-1003.49 16130,-1001.41 16051.82,-997.51 14797.22,-924.89 14725,-894.7 14720.87,-892.97 14716.85,-890.75 14713,-888.22"/>
<polygon fill="#e50505" stroke="black" points="14715.5,-884.98 14705.37,-881.89 14711.36,-890.63 14715.5,-884.98"/>
</g>
<!-- ahriman_web_web -->
<g id="node214" class="node">
<title>ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="13351" cy="-531.79" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="13351" y="-538.04" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13351" y="-527.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13351" y="-517.04" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web</text>
</g>
<!-- ahriman_core&#45;&gt;ahriman_web_web -->
<g id="edge108" class="edge">
<title>ahriman_core&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13425,-4596.05C13437.45,-4592.06 13437.48,-4585.24 13449,-4579.05 13488.05,-4558.09 13502.29,-4562.75 13542,-4543.05 13844.23,-4393.14 14537.35,-3906.29 14835,-3747.48 15008.31,-3655 15057.53,-3643.62 15237,-3563.75 15679.5,-3366.83 15802.51,-3344.64 16237,-3130.61 16383.83,-3058.28 16441.36,-3065.7 16559,-2951.9 16691.38,-2823.84 16875.95,-2389.36 16985,-2240.92 17022.59,-2189.75 17030.11,-2173.49 17080,-2134.21 17196.79,-2042.26 17244.6,-2047.99 17375,-1976.65 17707.35,-1794.84 17798.11,-1758.44 18104,-1534.96 18303.72,-1389.05 18533,-1427.81 18533,-1180.47 18533,-1180.47 18533,-1180.47 18533,-736.78 18533,-451.61 13678.86,-631.98 13403,-559.72 13398.57,-558.56 13394.1,-556.97 13389.73,-555.15"/>
<polygon fill="#e50505" stroke="black" points="13391.33,-551.57 13380.78,-550.55 13388.39,-557.92 13391.33,-551.57"/>
</g>
<!-- ahriman_core_alpm -->
<g id="node38" class="node">
<title>ahriman_core_alpm</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="8329" cy="-3775.41" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="8329" y="-3781.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8329" y="-3771.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8329" y="-3760.66" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm</text>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_application_handlers_search -->
<g id="edge109" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8294.21,-3763.75C8272.75,-3757.72 8244.55,-3750.74 8219,-3747.48 7653.32,-3675.21 6219.65,-3775.69 5653,-3711.48 5535.56,-3698.17 5509.21,-3677.16 5393,-3655.62 4770.69,-3540.27 4609.97,-3541.91 3986,-3435.89 3763.25,-3398.04 3707.81,-3387.04 3486,-3344.03 3285.61,-3305.17 3234.82,-3298.41 3036,-3252.17 2583.64,-3146.96 2481.27,-3074.58 2025,-2987.9 1788.22,-2942.91 1701.21,-2989.63 1498,-2860.04 1439.49,-2822.72 1429.6,-2805.64 1384,-2753.33 1358.71,-2724.31 1367.58,-2701.43 1334,-2682.62 1227.91,-2623.19 871.11,-2735.38 788,-2646.62 756.83,-2613.32 722.07,-2765.97 822,-2240.92 858.57,-2048.8 1061,-1589.47 1061,-1393.9 1061,-1393.9 1061,-1393.9 1061,-1071.76 1061,-973.04 1017.72,-908.95 1099,-852.92"/>
</g>
<!-- ahriman_core_repository_repository -->
<g id="node106" class="node">
<title>ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="11755" cy="-1606.32" rx="43.66" ry="35.36"/>
<text text-anchor="middle" x="11755" y="-1617.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11755" y="-1607.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11755" y="-1596.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="11755" y="-1586.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository</text>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository -->
<g id="edge110" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8366.87,-3772.09C8717.55,-3750.25 11401.5,-3573.94 12130,-3252.17 12369.92,-3146.2 12465.86,-3100.32 12571,-2860.04 12655.49,-2666.96 12599.16,-1886.52 12557,-1820.74"/>
<path fill="none" stroke="black" d="M12557,-1818.74C12546.24,-1803.53 12548.45,-1794.78 12533,-1784.38 12471.78,-1743.18 11973.52,-1647.9 11808.13,-1617.11"/>
<polygon fill="#f91010" stroke="black" points="11809.2,-1613.56 11798.73,-1615.17 11807.92,-1620.44 11809.2,-1613.56"/>
</g>
<!-- ahriman_core_repository_repository_properties -->
<g id="node107" class="node">
<title>ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="11913" cy="-1933.87" rx="76.54" ry="35.36"/>
<text text-anchor="middle" x="11913" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11913" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11913" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="11913" y="-1913.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository_properties</text>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge111" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8366.37,-3769.92C8730.91,-3726.06 11647.43,-3372.75 12016,-3252.17 12259.84,-3172.4 12405,-3082.24 12405,-2825.68 12405,-2825.68 12405,-2825.68 12405,-2716.97 12405,-2566.93 12353.22,-2533.05 12273,-2406.26"/>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_models_package -->
<g id="edge112" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8294.13,-3764.29C8272.65,-3758.46 8244.44,-3751.5 8219,-3747.48 8003.75,-3713.45 7945.88,-3741.27 7730,-3711.48 7344.06,-3658.22 6885.82,-3548.26 6741.13,-3512.41"/>
<polygon fill="#f91010" stroke="black" points="6742.02,-3508.77 6731.47,-3509.76 6740.33,-3515.57 6742.02,-3508.77"/>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_models_remote_source -->
<g id="edge113" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8294.21,-3763.75C8272.75,-3757.72 8244.55,-3750.75 8219,-3747.48 7943.99,-3712.29 5994.08,-3774.12 5724,-3711.48 5696.71,-3705.15 5690.45,-3699.87 5667,-3684.55"/>
</g>
<!-- ahriman_core_alpm&#45;&gt;ahriman_web_views_service_search -->
<g id="edge114" class="edge">
<title>ahriman_core_alpm&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8366.99,-3772.51C8514.08,-3765.15 9060.32,-3737.56 9510,-3711.48 9835.43,-3692.6 12120.09,-3599.79 12438,-3527.75 12688.65,-3470.96 13425,-3181.97 13425,-2924.97 13425,-2924.97 13425,-2924.97 13425,-2823.68 13425,-2712.53 13426.23,-2681.33 13391,-2575.91 13356.58,-2472.9 13327.52,-2455.82 13272,-2362.48 13239.3,-2307.52 13232.78,-2292.53 13195,-2240.92 13182.76,-2224.21 13086.16,-2115.67 13075,-2098.21 13037.78,-2039.98 12826.03,-1602.43 12811,-1534.96 12749.97,-1260.94 12764.09,-1090.37 12995,-930.7 13091.31,-864.1 13144.03,-928.96 13256,-894.7 13270.16,-890.37 13284.87,-883.91 13298,-877.36"/>
<polygon fill="#f91010" stroke="black" points="13299.41,-880.06 13306.7,-872.37 13296.2,-873.84 13299.41,-880.06"/>
</g>
<!-- ahriman_core_alpm_pacman -->
<g id="node39" class="node">
<title>ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a90404" stroke="black" cx="8285" cy="-2405.26" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="8285" y="-2416.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8285" y="-2406.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8285" y="-2395.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="8285" y="-2385.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pacman</text>
</g>
<!-- ahriman_core_alpm_remote_aur -->
<g id="node41" class="node">
<title>ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="6377" cy="-3882.12" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="6377" y="-3898.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6377" y="-3888.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6377" y="-3877.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="6377" y="-3867.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="6377" y="-3856.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aur</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge115" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8258.15,-2430.62C8250.4,-2436.86 8241.69,-2443.17 8233,-2448.04 8191.8,-2471.15 8160.16,-2445.4 8133,-2484.04 8091.45,-2543.16 8100.69,-2581.99 8133,-2646.62 8144.93,-2670.47 8165.25,-2661.1 8181,-2682.62 8230.33,-2750.02 8214.08,-2781.67 8243,-2860.04 8248.94,-2876.14 8252.27,-2879.54 8257,-2896.04 8272.75,-2950.92 8281,-2965.15 8281,-3022.25 8281,-3113.61 8281,-3113.61 8281,-3113.61 8281,-3272.94 8235.77,-3322.35 8124,-3435.89 7967.97,-3594.4 7411.94,-3764.15 7193,-3803.34 6889.41,-3857.68 6802.88,-3781.19 6500,-3839.34 6473.69,-3844.39 6445.31,-3853.75 6422.44,-3862.33"/>
<polygon fill="#a90404" stroke="black" points="6421.44,-3859.35 6413.36,-3866.2 6423.95,-3865.89 6421.44,-3859.35"/>
</g>
<!-- ahriman_core_alpm_remote_official -->
<g id="node42" class="node">
<title>ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="6807" cy="-2283.7" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="6807" y="-2300.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6807" y="-2289.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6807" y="-2279.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="6807" y="-2268.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="6807" y="-2258.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">official</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge116" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8247.33,-2400.28C8172.95,-2392.47 8001.97,-2374.85 7858,-2362.48 7472.08,-2329.33 7005.7,-2297.82 6855.85,-2287.91"/>
<polygon fill="#a90404" stroke="black" points="6856.41,-2284.37 6846.2,-2287.2 6855.95,-2291.35 6856.41,-2284.37"/>
</g>
<!-- ahriman_core_alpm_remote_official_syncdb -->
<g id="node43" class="node">
<title>ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="5897" cy="-2283.7" rx="56.39" ry="42.78"/>
<text text-anchor="middle" x="5897" y="-2300.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5897" y="-2289.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5897" y="-2279.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="5897" y="-2268.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="5897" y="-2258.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">official_syncdb</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge117" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8247.38,-2399.6C8173.09,-2390.61 8002.25,-2371.02 7858,-2362.48 7084.08,-2316.7 6884.97,-2408.06 6114,-2326.48 6062.12,-2320.99 6004.13,-2309.55 5961.16,-2300.02"/>
<polygon fill="#a90404" stroke="black" points="5962.1,-2296.42 5951.57,-2297.65 5960.56,-2303.25 5962.1,-2296.42"/>
</g>
<!-- ahriman_core_alpm_remote_remote -->
<g id="node44" class="node">
<title>ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="8252" cy="-2283.7" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="8252" y="-2300.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8252" y="-2289.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8252" y="-2279.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="8252" y="-2268.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote.</text>
<text text-anchor="middle" x="8252" y="-2258.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote</text>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge118" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8275.72,-2370.64C8272.68,-2359.64 8269.24,-2347.16 8265.94,-2335.19"/>
<polygon fill="#a90404" stroke="black" points="8269.12,-2334.56 8263.08,-2325.86 8262.37,-2336.43 8269.12,-2334.56"/>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository -->
<g id="edge119" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8322.93,-2402.38C8452.94,-2395.98 8892.59,-2374.78 9256,-2362.48 9296.54,-2361.11 10685.96,-2353.75 10716,-2326.48 10767.69,-2279.56 10735,-2240.38 10735,-2170.57 10735,-2170.57 10735,-2170.57 10735,-2054.43 10735,-1801.52 10973.31,-1842.77 11191,-1714.03"/>
<path fill="none" stroke="black" d="M11191,-1712.03C11363.48,-1627.82 11595.92,-1611.06 11700.28,-1607.91"/>
<polygon fill="#a90404" stroke="black" points="11700.27,-1611.39 11710.17,-1607.62 11700.08,-1604.39 11700.27,-1611.39"/>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge120" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8322.93,-2402.34C8452.94,-2395.79 8892.57,-2374.19 9256,-2362.48 9349.47,-2359.47 10854.11,-2365.72 10939,-2326.48 10985.17,-2305.15 10969.24,-2263.12 11015,-2240.92 11137.78,-2181.38 11499.5,-2250.85 11628,-2204.92 11746.01,-2162.74 11841.51,-2041.86 11885.97,-1977.08"/>
<polygon fill="#a90404" stroke="black" points="11889.19,-1979.57 11891.9,-1969.33 11883.39,-1975.64 11889.19,-1979.57"/>
</g>
<!-- ahriman_core_alpm_pacman&#45;&gt;ahriman_models_package -->
<g id="edge121" class="edge">
<title>ahriman_core_alpm_pacman&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8247.87,-2414.1C8162.08,-2432.3 7956.38,-2476.43 7943,-2484.04 7799.46,-2565.69 7809.6,-2642.7 7687,-2753.33 7417.69,-2996.35 7357.13,-3074.26 7041,-3252.17 6903.2,-3329.72 6805.98,-3255.14 6709,-3380.03 6691.36,-3402.75 6688.71,-3435.66 6689.99,-3461.08"/>
<polygon fill="#a90404" stroke="black" points="6686.56,-3461.1 6690.78,-3470.82 6693.54,-3460.58 6686.56,-3461.1"/>
</g>
<!-- ahriman_core_alpm_remote -->
<g id="node40" class="node">
<title>ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b30404" stroke="black" cx="6547" cy="-3882.12" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="6547" y="-3893.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6547" y="-3883.12" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6547" y="-3872.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="6547" y="-3862.12" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote</text>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_application_handlers_search -->
<g id="edge122" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6512.7,-3866.64C6488.4,-3857.09 6454.78,-3845.28 6424,-3839.34 6132.94,-3783.14 6052.51,-3837.08 5758,-3803.34 4389,-3646.51 4045.83,-3578.15 2707,-3252.17 2468.23,-3194.03 2414.44,-3157.97 2177,-3094.61 2109.92,-3076.71 2091.66,-3078 2025,-3058.61 1932.86,-3031.8 1914.46,-3009.66 1821,-2987.9 1694.94,-2958.54 1656.1,-2988.67 1532,-2951.9 1477.52,-2935.76 1468.17,-2920.75 1417,-2896.04 1383.7,-2879.96 1372.74,-2880.59 1342,-2860.04 1282.94,-2820.56 1271.67,-2805.07 1223,-2753.33 1195.53,-2724.13 1202.4,-2701.43 1167,-2682.62 1074.11,-2633.24 766.5,-2723.78 695,-2646.62 677.83,-2628.09 631.85,-2618.36 721,-2134.21 744.56,-2006.29 777.98,-1981.41 809,-1855.09 831.98,-1761.53 832.72,-1736.95 847,-1641.67 868.24,-1499.92 872.69,-1464.25 886,-1321.54 900.66,-1164.34 882.13,-1122.63 909,-967.05"/>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_models_package -->
<g id="edge123" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6576.33,-3859.16C6599.98,-3838.58 6627.16,-3806.55 6613,-3776.41"/>
<path fill="none" stroke="black" d="M6613,-3774.41C6574.02,-3691.43 6634.12,-3585.6 6670.52,-3533.21"/>
<polygon fill="#b30404" stroke="black" points="6673.86,-3535.55 6676.79,-3525.37 6668.15,-3531.5 6673.86,-3535.55"/>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_models_remote_source -->
<g id="edge124" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6512.32,-3867.09C6487.99,-3857.8 6454.49,-3846.13 6424,-3839.34 6283.01,-3807.93 6243.47,-3827.16 6101,-3803.34 5916.82,-3772.54 5851.97,-3806.14 5691,-3711.48 5677.18,-3703.35 5680.42,-3693.32 5667,-3684.55"/>
<path fill="none" stroke="black" d="M5667,-3682.55C5648.61,-3670.49 5636.98,-3648.82 5629.89,-3629.77"/>
<polygon fill="#b30404" stroke="black" points="5632.94,-3628.88 5626.4,-3620.54 5626.32,-3631.14 5632.94,-3628.88"/>
</g>
<!-- ahriman_core_alpm_remote&#45;&gt;ahriman_web_views_service_search -->
<g id="edge125" class="edge">
<title>ahriman_core_alpm_remote&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6584.98,-3879.66C6776.58,-3872.25 7656.17,-3837.89 8376,-3803.34 10230.8,-3714.31 10735.55,-3945.01 12545,-3527.75 12826.79,-3462.77 13486.71,-3149.25 13515,-3130.61 13654.34,-3038.77 13927.12,-2648.19 13897,-2484.04 13856.56,-2263.62 13867.82,-2179.32 13718,-2012.65 13694.35,-1986.34 13670.77,-2002.86 13647,-1976.65 13482.73,-1795.6 13613.69,-1643.08 13447,-1464.25 13421.52,-1436.91 13398.09,-1454 13371,-1428.25 13345.14,-1403.67 13355.34,-1385.36 13333,-1357.54 13287.47,-1300.85 13273.14,-1285.07 13209,-1250.83 13156.11,-1222.59 13123.79,-1254.68 13079,-1214.83 13066.68,-1203.87 13072.93,-1194.93 13065,-1180.47"/>
</g>
<!-- ahriman_core_alpm_remote_aur&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge126" class="edge">
<title>ahriman_core_alpm_remote_aur&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6415.18,-3882.12C6442.76,-3882.12 6470.34,-3882.12 6497.91,-3882.12"/>
<polygon fill="#7a2828" stroke="black" points="6497.9,-3885.62 6507.9,-3882.12 6497.9,-3878.62 6497.9,-3885.62"/>
</g>
<!-- ahriman_core_alpm_remote_official&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge127" class="edge">
<title>ahriman_core_alpm_remote_official&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6792.16,-2323.37C6773.78,-2378.56 6750.82,-2479.87 6803,-2539.91 6878.38,-2626.62 6961.47,-2515.16 7059,-2575.91 7091.24,-2595.99 7075.58,-2625.28 7107,-2646.62 7168.02,-2688.05 7222.85,-2625.08 7269,-2682.62 7331.13,-2760.06 7224.34,-2799.07 7203,-2896.04 7162.67,-3079.33 7255,-3127.42 7255,-3315.1 7255,-3684.55 7255,-3684.55 7255,-3684.55 7255,-3821.58 6756.35,-3867.06 6596.01,-3878.14"/>
<polygon fill="#7a2828" stroke="black" points="6595.81,-3874.71 6586.07,-3878.87 6596.28,-3881.69 6595.81,-3874.71"/>
</g>
<!-- ahriman_core_alpm_remote_official_syncdb&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge128" class="edge">
<title>ahriman_core_alpm_remote_official_syncdb&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5893.94,-2326.8C5891.28,-2359.86 5886.92,-2407.01 5881,-2448.04 5868.16,-2536.98 5866.59,-2559.91 5843,-2646.62 5800.72,-2802.05 5763.62,-2832.56 5721,-2987.9 5706.18,-3041.91 5697,-3055.6 5697,-3111.61 5697,-3317.1 5697,-3317.1 5697,-3317.1 5697,-3404.94 5664.82,-3646.56 5724,-3711.48 5757.67,-3748.41 5896.79,-3738.76 5946,-3747.48 6159.02,-3785.21 6214.86,-3784 6424,-3839.34 6450.19,-3846.27 6478.87,-3855.89 6501.95,-3864.15"/>
<polygon fill="#8a2e2e" stroke="black" points="6500.54,-3867.73 6511.13,-3867.84 6502.92,-3861.15 6500.54,-3867.73"/>
</g>
<!-- ahriman_core_alpm_remote_remote&#45;&gt;ahriman_core_alpm_remote -->
<g id="edge129" class="edge">
<title>ahriman_core_alpm_remote_remote&#45;&gt;ahriman_core_alpm_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8239.04,-2324.4C8224.79,-2361.82 8198.28,-2416.69 8157,-2448.04 8106.52,-2486.38 8060.3,-2435.96 8019,-2484.04 7940.6,-2575.33 8008.66,-2634.3 7991,-2753.33 7973.13,-2873.75 7939,-2900.52 7939,-3022.25 7939,-3210.39 7939,-3210.39 7939,-3210.39 7939,-3642.32 7585.86,-3690.24 7169,-3803.34 6960.79,-3859.83 6702.07,-3875.47 6595.91,-3879.65"/>
<polygon fill="#8a2e2e" stroke="black" points="6596.09,-3876.18 6586.23,-3880.06 6596.35,-3883.18 6596.09,-3876.18"/>
</g>
<!-- ahriman_core_alpm_repo -->
<g id="node45" class="node">
<title>ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="12453" cy="-2405.26" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="12453" y="-2416.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12453" y="-2406.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12453" y="-2395.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">alpm.</text>
<text text-anchor="middle" x="12453" y="-2385.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repo</text>
</g>
<!-- ahriman_core_alpm_repo&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge130" class="edge">
<title>ahriman_core_alpm_repo&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12416,-2397.3C12374.86,-2387.82 12308.74,-2367.15 12267,-2326.48 12212.6,-2273.47 12211.77,-2245.08 12197,-2170.57"/>
</g>
<!-- ahriman_core_auth -->
<g id="node46" class="node">
<title>ahriman_core_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="14265" cy="-1286.18" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="14265" y="-1292.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14265" y="-1281.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="14265" y="-1271.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth</text>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge131" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14227.44,-1280.9C14168.7,-1274.25 14051.51,-1261.11 13952,-1250.83 13786.77,-1233.77 13743.76,-1242.63 13580,-1214.83 13389.36,-1182.46 12811.6,-1031.61 12625.46,-982.53"/>
<polygon fill="#db0505" stroke="black" points="12626.63,-978.95 12616.07,-979.78 12624.85,-985.72 12626.63,-978.95"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_base -->
<g id="edge132" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14301.61,-1278.45C14341.48,-1271.21 14407.17,-1259.56 14464,-1250.83 14582.35,-1232.64 14625.83,-1272.08 14731,-1214.83 14777.8,-1189.35 14870.4,-1067.37 14916.14,-1004.58"/>
<polygon fill="#db0505" stroke="black" points="14919.5,-1006.92 14922.54,-996.77 14913.83,-1002.81 14919.5,-1006.92"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_index -->
<g id="edge133" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14301.79,-1278.78C14389.52,-1263.38 14604.68,-1224.8 14617,-1214.83 14717.13,-1133.77 14753.84,-975.89 14766.24,-898.25"/>
<polygon fill="#db0505" stroke="black" points="14769.84,-898.81 14767.89,-888.39 14762.93,-897.75 14769.84,-898.81"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_user_login -->
<g id="edge134" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14248.52,-1260.69C14231.12,-1231.49 14208.78,-1181.89 14229,-1144.12 14242.61,-1118.69 14262.38,-1128.29 14283,-1108.12 14296.31,-1095.09 14297.23,-1089.62 14307,-1073.76"/>
<path fill="none" stroke="black" d="M14307,-1071.76C14329.38,-1030.96 14314.92,-1012.91 14307,-967.05"/>
<path fill="none" stroke="black" d="M14307,-965.05C14303.69,-945.89 14302.96,-924.61 14303.31,-905.78"/>
<polygon fill="#db0505" stroke="black" points="14306.83,-906.11 14303.62,-896.01 14299.83,-905.9 14306.83,-906.11"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge135" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14307,-1071.76C14368.71,-959.22 14445.74,-991.08 14559,-930.7 14590.22,-914.05 14600.76,-914.62 14630,-894.7 14633.31,-892.44 14636.63,-889.98 14639.9,-887.41"/>
<polygon fill="#db0505" stroke="black" points="14641.87,-889.5 14647.37,-880.44 14637.42,-884.09 14641.87,-889.5"/>
</g>
<!-- ahriman_core_auth&#45;&gt;ahriman_web_web -->
<g id="edge136" class="edge">
<title>ahriman_core_auth&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14232.78,-1271.15C14177.15,-1245.59 14062.02,-1186.76 13989,-1108.12 13861.98,-971.32 13814.77,-923.67 13789,-738.78"/>
</g>
<!-- ahriman_core_auth_auth -->
<g id="node47" class="node">
<title>ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="14569" cy="-1713.03" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="14569" y="-1724.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14569" y="-1714.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="14569" y="-1703.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="14569" y="-1693.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth</text>
</g>
<!-- ahriman_core_auth_auth&#45;&gt;ahriman_core_auth -->
<g id="edge137" class="edge">
<title>ahriman_core_auth_auth&#45;&gt;ahriman_core_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14569.29,-1677.39C14567.86,-1605.56 14553.61,-1440.2 14457,-1357.54 14408.18,-1315.77 14375.72,-1347.61 14317,-1321.54 14311.3,-1319.01 14305.53,-1315.88 14300.01,-1312.54"/>
<polygon fill="#732626" stroke="black" points="14302.32,-1309.23 14292.01,-1306.8 14298.56,-1315.13 14302.32,-1309.23"/>
</g>
<!-- ahriman_core_auth_helpers -->
<g id="node48" class="node">
<title>ahriman_core_auth_helpers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d92626" stroke="black" cx="14537" cy="-1179.47" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="14537" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14537" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="14537" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="14537" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">helpers</text>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_index -->
<g id="edge138" class="edge">
<title>ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14567.33,-1157.6C14585.19,-1144.52 14607.61,-1126.67 14625,-1108.12 14637.74,-1094.53 14643.17,-1091.45 14649,-1073.76"/>
<path fill="none" stroke="black" d="M14649,-1071.76C14670.45,-1006.73 14675.81,-989.45 14711,-930.7 14719.82,-915.96 14731.07,-900.86 14741.5,-887.93"/>
<polygon fill="#d92626" stroke="black" points="14744.56,-890.73 14748.2,-880.78 14739.15,-886.28 14744.56,-890.73"/>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_login -->
<g id="edge139" class="edge">
<title>ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14516.39,-1149.3C14475.44,-1091.34 14383.75,-961.56 14336.46,-894.62"/>
<polygon fill="#d92626" stroke="black" points="14339,-893.14 14330.37,-886.99 14333.28,-897.18 14339,-893.14"/>
</g>
<!-- ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge140" class="edge">
<title>ahriman_core_auth_helpers&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14567.59,-1157.93C14592.97,-1138.08 14623.09,-1106.32 14611,-1073.76"/>
<path fill="none" stroke="black" d="M14611,-1071.76C14594.79,-1028.14 14619.57,-1012.8 14611,-967.05"/>
<path fill="none" stroke="black" d="M14611,-965.05C14605.64,-936.43 14622.41,-908.21 14640.38,-887.23"/>
<polygon fill="#d92626" stroke="black" points="14642.45,-890.05 14646.55,-880.28 14637.26,-885.36 14642.45,-890.05"/>
</g>
<!-- ahriman_core_auth_mapping -->
<g id="node49" class="node">
<title>ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8b2222" stroke="black" cx="14889" cy="-1933.87" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="14889" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14889" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="14889" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="14889" y="-1913.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">mapping</text>
</g>
<!-- ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_auth -->
<g id="edge141" class="edge">
<title>ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14900.6,-1899.76C14907.24,-1874.08 14910.52,-1839.75 14889,-1820.74"/>
</g>
<!-- ahriman_core_auth_oauth -->
<g id="node50" class="node">
<title>ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#832020" stroke="black" cx="14569" cy="-1819.74" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="14569" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14569" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="14569" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth.</text>
<text text-anchor="middle" x="14569" y="-1799.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">oauth</text>
</g>
<!-- ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge142" class="edge">
<title>ahriman_core_auth_mapping&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14853.53,-1920.44C14795.11,-1899.97 14678.72,-1859.19 14614.38,-1836.64"/>
<polygon fill="#8b2222" stroke="black" points="14615.73,-1833.06 14605.14,-1833.05 14613.42,-1839.66 14615.73,-1833.06"/>
</g>
<!-- ahriman_core_auth_oauth&#45;&gt;ahriman_core_auth_auth -->
<g id="edge143" class="edge">
<title>ahriman_core_auth_oauth&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14569,-1784.16C14569,-1776.21 14569,-1767.64 14569,-1759.31"/>
<polygon fill="#832020" stroke="black" points="14572.5,-1759.57 14569,-1749.57 14565.5,-1759.57 14572.5,-1759.57"/>
</g>
<!-- ahriman_core_auth_oauth&#45;&gt;ahriman_web_views_user_login -->
<g id="edge144" class="edge">
<title>ahriman_core_auth_oauth&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14547.82,-1790.19C14539.15,-1777.74 14529.43,-1762.73 14522,-1748.38 14436.46,-1583.15 14512.25,-1479.81 14372,-1357.54 14319.02,-1311.35 14262.19,-1376.2 14218,-1321.54 14168.44,-1260.24 14186.28,-1031.97 14231,-967.05"/>
</g>
<!-- ahriman_core_build_tools -->
<g id="node51" class="node">
<title>ahriman_core_build_tools</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="5777" cy="-3683.55" rx="44.19" ry="27.93"/>
<text text-anchor="middle" x="5777" y="-3689.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5777" y="-3679.3" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5777" y="-3668.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_tools</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge145" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5743,-3590.68C5621.71,-3372.8 5882.76,-2729.09 5929,-2484.04 5942.27,-2413.74 5954.63,-2397.65 5962,-2326.48 5980.12,-2151.54 5905,-2110.76 5905,-1934.87 5905,-1934.87 5905,-1934.87 5905,-1605.32 5905,-1448.62 6021.78,-1439.88 6057,-1287.18"/>
<path fill="none" stroke="black" d="M6057,-1285.18C6062.34,-1238.95 6048.09,-1226.15 6057,-1180.47"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge146" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5820.48,-3677.53C5903.94,-3667.74 6092.32,-3644.81 6250,-3619.62 6573.99,-3567.85 6694.65,-3621.81 6965,-3435.89 7208.77,-3268.26 7265.12,-3202.73 7422,-2951.9 7487.88,-2846.57 7573.29,-2780.67 7497,-2682.62 7457.02,-2631.23 7413.18,-2675.83 7355,-2646.62 7310.47,-2624.26 7312.84,-2597.63 7268,-2575.91 7202.02,-2543.93 7152.84,-2597.13 7107,-2539.91 7088.11,-2516.33 7014.74,-2593.89 7235,-1714.03"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge147" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5734.49,-3675.38C5662.87,-3662.7 5514.1,-3633.72 5393,-3592.68"/>
<path fill="none" stroke="black" d="M5393,-3590.68C5274.81,-3550.64 5245.46,-3540.06 5127,-3500.82"/>
<path fill="none" stroke="black" d="M5127,-3498.82C4985.68,-3452.01 4943.67,-3466.6 4798,-3435.89 4442.31,-3360.9 4349.25,-3356.4 4001,-3252.17 3763.95,-3181.22 3710.4,-3146.24 3479,-3058.61 3286.66,-2985.77 3223.07,-2986.67 3061,-2860.04 3006.31,-2817.31 2984.61,-2811.65 2947,-2753.33 2789.54,-2509.13 2832.09,-2408.77 2737,-2134.21 2639.25,-1851.98 2462.16,-1794.93 2513,-1500.61"/>
</g>
<!-- ahriman_core_gitremote_remote_pull -->
<g id="node85" class="node">
<title>ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="4564" cy="-2169.57" rx="46.85" ry="35.36"/>
<text text-anchor="middle" x="4564" y="-2181.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4564" y="-2170.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4564" y="-2160.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="4564" y="-2149.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_pull</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge148" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5393,-3590.68C5242.95,-3537.17 5236.74,-3466.59 5103,-3380.03 5007.09,-3317.96 4962.89,-3330.79 4880,-3252.17 4653.33,-3037.16 4642.17,-2935.42 4523,-2646.62 4481.51,-2546.08 4469.25,-2514.75 4477,-2406.26"/>
</g>
<!-- ahriman_core_gitremote_remote_push -->
<g id="node87" class="node">
<title>ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="5598" cy="-1933.87" rx="51.09" ry="35.36"/>
<text text-anchor="middle" x="5598" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5598" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5598" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="5598" y="-1913.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_push</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge149" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5770.52,-3655.78C5765.13,-3637.02 5756.2,-3611.95 5743,-3592.68"/>
<path fill="none" stroke="black" d="M5743,-3590.68C5654.81,-3462.02 5564.77,-3510.9 5428,-3435.89 5359.12,-3398.12 5341.47,-3388.91 5277,-3344.03 5223.03,-3306.46 5210.02,-3296.01 5161,-3252.17 5070.68,-3171.4 5023.89,-3166.64 4969,-3058.61 4852.89,-2830.09 4834.75,-2726.13 4919,-2484.04 4959.41,-2367.92 4967.99,-2331.63 5051,-2240.92 5151.11,-2131.53 5223.73,-2160.87 5329,-2056.43"/>
<path fill="none" stroke="black" d="M5329,-2054.43C5388.92,-1997.98 5479.93,-1965.24 5539.19,-1948.71"/>
<polygon fill="#f91010" stroke="black" points="5539.77,-1951.91 5548.51,-1945.91 5537.94,-1945.15 5539.77,-1951.91"/>
</g>
<!-- ahriman_core_repository_executor -->
<g id="node105" class="node">
<title>ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="11755" cy="-1713.03" rx="43.66" ry="35.36"/>
<text text-anchor="middle" x="11755" y="-1724.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11755" y="-1714.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11755" y="-1703.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="11755" y="-1693.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">executor</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_repository_executor -->
<g id="edge150" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5821.11,-3680.77C5957.54,-3675.05 6384.72,-3655.34 6737,-3619.62 7216.37,-3571 7330.75,-3510.89 7811,-3471.89 8125.18,-3446.38 8921.81,-3506.57 9229,-3435.89 10055.97,-3245.62 10214.94,-3019.48 10915,-2539.91 11127.52,-2394.32 11219.47,-2399.75 11388,-2204.92 11513.41,-2059.95 11490.53,-1988.09 11584,-1820.74"/>
<path fill="none" stroke="black" d="M11584,-1818.74C11605.51,-1770.71 11661.26,-1742.89 11703.3,-1728.16"/>
<polygon fill="#f91010" stroke="black" points="11704.29,-1731.18 11712.66,-1724.69 11702.07,-1724.54 11704.29,-1731.18"/>
</g>
<!-- ahriman_core_repository_update_handler -->
<g id="node108" class="node">
<title>ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="11913" cy="-1713.03" rx="57.98" ry="35.36"/>
<text text-anchor="middle" x="11913" y="-1724.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11913" y="-1714.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11913" y="-1703.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="11913" y="-1693.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update_handler</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge151" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5821.21,-3680.38C5976.85,-3672.71 6513.88,-3645.89 6957,-3619.62 7269.89,-3601.06 9460.37,-3469.59 9772,-3435.89 9936.91,-3418.06 9976.84,-3403.75 10141,-3380.03 10347.25,-3350.23 10864.73,-3288.09 11070,-3252.17 11249.93,-3220.68 11291.13,-3192.19 11472,-3166.61 11694.36,-3135.16 11753.55,-3161.36 11976,-3130.61 11995.61,-3127.9 12307.74,-3068.31 12325,-3058.61 12343.19,-3048.38 12345.29,-3041.52 12357,-3024.25"/>
<path fill="none" stroke="black" d="M12357,-3022.25C12486.38,-2847.84 12417.61,-2756.37 12435,-2539.91 12436.99,-2515.16 12443.26,-2507.46 12435,-2484.04 12428.17,-2464.67 12412.83,-2467.42 12406,-2448.04 12396.01,-2419.72 12381.78,-2021.75 12425,-1934.87"/>
</g>
<!-- ahriman_core_support_package_creator -->
<g id="node119" class="node">
<title>ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a1e1e" stroke="black" cx="4531" cy="-1933.87" rx="62.23" ry="35.36"/>
<text text-anchor="middle" x="4531" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4531" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4531" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="4531" y="-1913.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_creator</text>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge152" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5127,-3498.82C4777.98,-3362.12 4695.15,-3262.28 4485,-2951.9 4334.27,-2729.28 4302.08,-2627.2 4349,-2362.48 4374.28,-2219.86 4435.85,-2199.08 4461,-2056.43"/>
<path fill="none" stroke="black" d="M4461,-2054.43C4460.73,-2024.49 4477.27,-1995.4 4494.34,-1973.41"/>
<polygon fill="#f91010" stroke="black" points="4497.55,-1976.02 4501.13,-1966.05 4492.11,-1971.61 4497.55,-1976.02"/>
</g>
<!-- ahriman_core_build_tools&#45;&gt;ahriman_models_package -->
<g id="edge153" class="edge">
<title>ahriman_core_build_tools&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5819.13,-3674.21C5970.92,-3644.16 6489.15,-3541.57 6648.2,-3510.09"/>
<polygon fill="#f91010" stroke="black" points="6648.46,-3513.41 6657.59,-3508.03 6647.1,-3506.54 6648.46,-3513.41"/>
</g>
<!-- ahriman_core_build_tools_sources -->
<g id="node52" class="node">
<title>ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a90404" stroke="black" cx="5539" cy="-2405.26" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="5539" y="-2416.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5539" y="-2406.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5539" y="-2395.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_tools.</text>
<text text-anchor="middle" x="5539" y="-2385.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sources</text>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge154" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5791,-2054.43C5791.96,-1950.57 5791,-1924.6 5791,-1820.74 5791,-1820.74 5791,-1820.74 5791,-1498.61 5791,-1398.75 5802.63,-1363.52 5867,-1287.18"/>
<path fill="none" stroke="black" d="M5867,-1285.18C5926.78,-1209.53 6038.54,-1275.11 6057,-1180.47"/>
<path fill="none" stroke="black" d="M6057,-1178.47C6060.57,-1160.19 6064.58,-1152.9 6081,-1144.12 6153.74,-1105.21 8769.96,-1079.31 9288.28,-1074.55"/>
<polygon fill="#a90404" stroke="black" points="9288.08,-1078.05 9298.05,-1074.46 9288.02,-1071.05 9288.08,-1078.05"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge155" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5578.94,-2386.59C5608.23,-2372.59 5648.11,-2351.3 5679,-2326.48 5890.16,-2156.86 6019,-2091.59 6019,-1820.74 6019,-1820.74 6019,-1820.74 6019,-1712.03 6019,-1630.01 6052.53,-1614.88 6071,-1534.96 6085.32,-1473 6095,-1457.49 6095,-1393.9 6095,-1393.9 6095,-1393.9 6095,-1285.18 6095,-1033.01 6969.45,-1161.84 7221,-1144.12 7469.64,-1126.6 9219.52,-1156.68 9464,-1108.12 9471.36,-1106.66 9478.9,-1104.6 9486.31,-1102.22"/>
<polygon fill="#a90404" stroke="black" points="9487.36,-1105.22 9495.68,-1098.65 9485.08,-1098.6 9487.36,-1105.22"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge156" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5753,-2168.57C5774.02,-2120.33 5790.42,-2109.05 5791,-2056.43"/>
<path fill="none" stroke="black" d="M5791,-2054.43C5791.71,-1990.82 5741.43,-1828.91 5696,-1784.38 5587.72,-1678.26 5517.37,-1720.7 5372,-1677.67 4323.31,-1367.27 3923.82,-1596.15 3006,-1001.41 2969.67,-977.86 2969.8,-961.12 2939,-930.7 2832.65,-825.66 2823.01,-774.4 2692,-702.43 2637.2,-672.32 2613.48,-691.04 2556,-666.43 2551.93,-664.68 2547.81,-662.68 2543.74,-660.54"/>
<polygon fill="#a90404" stroke="black" points="2545.84,-657.14 2535.41,-655.33 2542.43,-663.26 2545.84,-657.14"/>
</g>
<!-- ahriman_core_build_tools_task -->
<g id="node53" class="node">
<title>ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="11696" cy="-1933.87" rx="46.32" ry="35.36"/>
<text text-anchor="middle" x="11696" y="-1945.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11696" y="-1934.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11696" y="-1924.37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_tools.</text>
<text text-anchor="middle" x="11696" y="-1913.87" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">task</text>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge157" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5581.54,-2390.79C5615.41,-2380.79 5664.22,-2367.98 5708,-2362.48 5984.07,-2327.86 10444.31,-2386.47 10716,-2326.48 10736.54,-2321.95 11385.2,-2019.75 11405,-2012.65 11485.4,-1983.82 11581.67,-1960.12 11640.82,-1946.74"/>
<polygon fill="#a90404" stroke="black" points="11641.43,-1949.96 11650.42,-1944.36 11639.9,-1943.13 11641.43,-1949.96"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge158" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5497.22,-2389.37C5471.69,-2380.66 5438.24,-2369.95 5408,-2362.48 5319.04,-2340.51 5291.05,-2357.96 5205,-2326.48 5170.25,-2313.78 5168.62,-2294.69 5133,-2284.7"/>
<path fill="none" stroke="black" d="M5133,-2282.7C4948.49,-2230.98 4723.85,-2194.19 4620.72,-2178.71"/>
<polygon fill="#a90404" stroke="black" points="4621.34,-2175.12 4610.93,-2177.11 4620.31,-2182.04 4621.34,-2175.12"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge159" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5568.62,-2377.98C5623.56,-2328.33 5737.14,-2221.23 5753,-2170.57"/>
<path fill="none" stroke="black" d="M5753,-2168.57C5772.91,-2122.88 5791.53,-2088.05 5753,-2056.43"/>
<path fill="none" stroke="black" d="M5753,-2054.43C5715.78,-2023.89 5672.28,-1990.53 5640.85,-1966.83"/>
<polygon fill="#a90404" stroke="black" points="5643.42,-1963.63 5633.33,-1960.42 5639.21,-1969.23 5643.42,-1963.63"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge160" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5581.54,-2390.79C5615.4,-2380.79 5664.22,-2367.97 5708,-2362.48 5848.93,-2344.82 10686.05,-2370.79 10821,-2326.48 10882.55,-2306.28 10878.23,-2263.36 10939,-2240.92 11032.9,-2206.25 11305.79,-2262.03 11388,-2204.92 11416.48,-2185.14 11401.82,-2163.11 11421,-2134.21 11501.6,-2012.81 11530.12,-1985.66 11641,-1891.09 11711.52,-1830.95 11803.71,-1775 11860.61,-1742.68"/>
<polygon fill="#a90404" stroke="black" points="11862.13,-1745.27 11869.12,-1737.31 11858.69,-1739.18 11862.13,-1745.27"/>
</g>
<!-- ahriman_core_build_tools_sources&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge161" class="edge">
<title>ahriman_core_build_tools_sources&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5133,-2282.7C5116.94,-2278.2 4855.51,-2215.96 4843,-2204.92 4830.64,-2194.02 4843.15,-2179.04 4829,-2170.57"/>
</g>
<!-- ahriman_core_build_tools_task&#45;&gt;ahriman_core_repository_executor -->
<g id="edge163" class="edge">
<title>ahriman_core_build_tools_task&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11655.95,-1915.83C11615.43,-1895.93 11561.73,-1860.62 11584,-1820.74"/>
</g>
<!-- ahriman_core_configuration -->
<g id="node54" class="node">
<title>ahriman_core_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="9094" cy="-3209.39" rx="50.56" ry="27.93"/>
<text text-anchor="middle" x="9094" y="-3215.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9094" y="-3205.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9094" y="-3194.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge164" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8971,-3111.61C8899.89,-3074.97 8874.74,-3084.35 8799,-3058.61 8713.69,-3029.62 8694.35,-3016.77 8609,-2987.9 8557.06,-2970.33 8542.74,-2970.05 8491,-2951.9 8144.79,-2830.42 8064.61,-2783 7724,-2646.62 7614.35,-2602.71 7297.1,-2545.93 7231,-2448.04 7154.82,-2335.23 7344.3,-2266.21 7406,-2056.43"/>
<path fill="none" stroke="black" d="M7406,-2054.43C7427.22,-1904.64 7273.24,-1786.57 7406,-1714.03"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_add -->
<g id="edge165" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9443,-3111.61C9500.66,-3087.78 9517.4,-3086.93 9573,-3058.61 9626.13,-3031.55 9635.65,-3018.19 9687,-2987.9 9873.55,-2877.87 9924.56,-2851.56 10132,-2789.33 10202.23,-2768.26 10245.86,-2809.49 10293,-2753.33 10348.88,-2686.76 10352.69,-2436.41 10307,-2362.48 10288.19,-2332.05 10253.81,-2356.92 10235,-2326.48 10215.01,-2294.14 10233.97,-2278.94 10235,-2240.92 10237.22,-2158.84 10245,-2138.55 10245,-2056.43 10245,-2056.43 10245,-2056.43 10245,-1605.32 10245,-1447.38 10247.89,-1407.22 10270,-1250.83 10295.31,-1071.77 10326.06,-1031.43 10355,-852.92"/>
<path fill="none" stroke="black" d="M10355,-850.92C10357.39,-801.14 10352.87,-788.57 10355,-738.78"/>
<path fill="none" stroke="black" d="M10355,-736.78C10355.96,-714.31 10365.08,-691.23 10374.94,-672.48"/>
<polygon fill="#db0505" stroke="black" points="10378.36,-674.53 10380.13,-664.09 10372.23,-671.15 10378.36,-674.53"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge166" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.24,-3205.67C9243.8,-3199.36 9472.53,-3180.28 9658,-3130.61 9740.03,-3108.64 9758.61,-3095.73 9835,-3058.61 9892.06,-3030.88 9898.95,-3008.36 9959,-2987.9 10068.59,-2950.55 10115.38,-3007.38 10217,-2951.9 10245.73,-2936.21 10242.77,-2920.07 10265,-2896.04 10325.75,-2830.35 10350.07,-2822.36 10407,-2753.33 10431.17,-2724.02 10429.69,-2710.94 10455,-2682.62 10471.38,-2664.28 10480.62,-2664.95 10497,-2646.62 10522.31,-2618.29 10516.87,-2601.43 10545,-2575.91 10569.74,-2553.45 10586.1,-2562.19 10611,-2539.91 10682.68,-2475.74 10652.03,-2411.18 10735,-2362.48 10803.57,-2322.23 11037.68,-2385.47 11091,-2326.48 11116.5,-2298.28 11110.26,-2273.71 11091,-2240.92 11086.88,-2233.9 10839.62,-2104.91 10835,-2098.21 10793.32,-2037.82 10811,-2008.25 10811,-1934.87 10811,-1934.87 10811,-1934.87 10811,-1605.32 10811,-1445.38 10822.43,-1402.57 10873,-1250.83 10900.91,-1167.08 10944.65,-1160.11 10963,-1073.76"/>
<path fill="none" stroke="black" d="M10963,-1071.76C10968.8,-1023.48 10987.13,-895.14 10963,-852.92"/>
<path fill="none" stroke="black" d="M10963,-850.92C10943.95,-819.1 10913.58,-790.2 10888.69,-769.71"/>
<polygon fill="#db0505" stroke="black" points="10891.13,-766.38 10881.15,-762.83 10886.74,-771.83 10891.13,-766.38"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_clean -->
<g id="edge167" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_clean</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9127.85,-3188.28C9161.64,-3168.47 9215.27,-3137.75 9263,-3113.61"/>
<path fill="none" stroke="black" d="M9263,-3111.61C9342.35,-3071.47 9383.19,-3090.05 9443,-3024.25"/>
<path fill="none" stroke="black" d="M9443,-3022.25C9454.09,-3010.05 9450.06,-3002.86 9457,-2987.9 9476.38,-2946.11 9478.15,-2933.47 9505,-2896.04 9543.24,-2842.72 9547.6,-2817.18 9607,-2789.33 9659.54,-2764.69 10088.41,-2795.75 10128,-2753.33 10145.79,-2734.27 10145.59,-2433.15 10081,-2362.48 10034.75,-2311.88 9976.91,-2377.41 9931,-2326.48 9853,-2239.96 9793,-1403.68 9793,-1287.18 9793,-1287.18 9793,-1287.18 9793,-1178.47 9793,-1078.62 9843.96,-1063.71 9869,-967.05"/>
<path fill="none" stroke="black" d="M9869,-965.05C9888.52,-862.77 9863.59,-740.59 9846.85,-676.44"/>
<polygon fill="#db0505" stroke="black" points="9850,-675.66 9844.04,-666.9 9843.24,-677.47 9850,-675.66"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_daemon -->
<g id="edge168" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_daemon</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.42,-3206.86C8860.45,-3201.35 8215.82,-3181.97 7684,-3166.61 7399.78,-3158.4 6686.23,-3172.5 6405,-3130.61 6376.74,-3126.4 6371.34,-3117.23 6343,-3113.61"/>
<path fill="none" stroke="black" d="M6343,-3111.61C6298.28,-3105.9 6287.69,-3100.57 6243,-3094.61 6079.23,-3072.75 6032.91,-3100.17 5873,-3058.61 5796.97,-3038.85 5787.74,-3004.73 5711,-2987.9 5614.6,-2966.76 4012.63,-3012.83 3935,-2951.9 3850.73,-2885.76 3902.81,-2821.87 3873,-2718.97"/>
<path fill="none" stroke="black" d="M3873,-2716.97C3867.6,-2701.39 3867.25,-2696.89 3859,-2682.62 3848.86,-2665.07 3840.2,-2664.68 3831,-2646.62 3795.31,-2576.57 3438,-1365.8 3438,-1287.18 3438,-1287.18 3438,-1287.18 3438,-1071.76 3438,-865 3250.8,-835.82 3286,-632.07"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge169" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.22,-3207.55C8754.81,-3202.67 7293.69,-3176.64 6101,-3130.61 5788.38,-3118.54 5710.58,-3107.59 5398,-3094.61 4895.51,-3073.75 4768.41,-3097.61 4267,-3058.61 4012.49,-3038.81 3951.64,-3005.96 3697,-2987.9 3478.07,-2972.37 1934.98,-3004.94 1722,-2951.9 1668.79,-2938.65 1662.86,-2916.53 1612,-2896.04 1561.14,-2875.55 1542.71,-2885.22 1494,-2860.04 1425.13,-2824.43 1414.43,-2804.29 1356,-2753.33 1322.2,-2723.84 1324.96,-2700.88 1284,-2682.62 1225.43,-2656.5 751.91,-2693.35 708,-2646.62 686.48,-2623.71 707.34,-2607.33 708,-2575.91 712.45,-2363.46 723.55,-2310.66 728,-2098.21 734.32,-1796.18 678.22,-1038.12 719,-738.78"/>
<path fill="none" stroke="black" d="M719,-736.78C718.35,-646.12 693.97,-620.48 717,-532.79"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge170" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.47,-3206.36C9313.62,-3199.63 9875.96,-3177.84 10341,-3166.61 11422.58,-3140.49 11693.49,-3159.54 12775,-3130.61 13188.5,-3119.55 13291.54,-3106.76 13705,-3094.61 13904.51,-3088.75 15304.1,-3091.32 15501,-3058.61 15577.86,-3045.84 15764.06,-2984.13 15835,-2951.9 15906.87,-2919.25 15923.67,-2907.15 15987,-2860.04 16062.51,-2803.87 16227.93,-2635.2 16301,-2575.91 16426.38,-2474.16 16452.13,-2437.72 16595,-2362.48 16763.18,-2273.92 16981.07,-2210.66 17080.82,-2184.26"/>
<polygon fill="#db0505" stroke="black" points="17081.46,-2187.45 17090.25,-2181.52 17079.69,-2180.68 17081.46,-2187.45"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_help -->
<g id="edge171" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_help</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6343,-3111.61C6298.27,-3105.95 6287.66,-3100.75 6243,-3094.61 6091.58,-3073.79 6043.37,-3114.22 5901,-3058.61 5851.97,-3039.46 5855.8,-3004.95 5806,-2987.9 5710.79,-2955.3 4076.45,-3011 3995,-2951.9 3832.65,-2834.09 3919,-2221.87 3919,-2170.57 3919,-2170.57 3919,-2170.57 3919,-850.92 3919,-797.74 3975.9,-771.75 4610,-702.43 6220.76,-526.33 6634.72,-641.59 8253,-559.72 8911.64,-526.39 9215.12,-874.9 9734,-467.85 9785.67,-427.32 9777.4,-392.46 9778,-326.79"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_key_import -->
<g id="edge172" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_key_import</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9443,-3022.25C9455.17,-3011.13 9447.06,-3001.06 9457,-2987.9 9472.65,-2967.18 9486.28,-2971.76 9503,-2951.9 9521.15,-2930.34 9514.42,-2917.23 9533,-2896.04 9551.05,-2875.45 9562.81,-2878.53 9583,-2860.04 9613.61,-2832.01 9606.91,-2807.95 9644,-2789.33 9744.15,-2739.05 10067.63,-2832.43 10147,-2753.33 10208.74,-2691.8 10172.79,-2426.84 10114,-2362.48 10080.16,-2325.44 10043.42,-2360.99 10007,-2326.48 9952.87,-2275.19 9945,-2245.14 9945,-2170.57 9945,-2170.57 9945,-2170.57 9945,-1818.74 9945,-1535.07 9945,-1464.15 9945,-1180.47 9945,-1180.47 9945,-1180.47 9945,-850.92 9945,-790.98 9945,-721.8 9945,-677.53"/>
<polygon fill="#db0505" stroke="black" points="9948.5,-677.56 9945,-667.56 9941.5,-677.56 9948.5,-677.56"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge173" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.22,-3207.94C8714.61,-3204.85 6885.02,-3185.42 6329,-3130.61 6284.14,-3126.19 6273.95,-3117.02 6229,-3113.61"/>
<path fill="none" stroke="black" d="M6229,-3111.61C6184.05,-3108.2 6173.83,-3099.37 6129,-3094.61 5944.09,-3074.99 5470.69,-3113.4 5293,-3058.61 5236.03,-3041.04 5236.13,-3004.96 5179,-2987.9 5026.71,-2942.42 3896.47,-3011.17 3749,-2951.9 3320.78,-2779.8 2665,-1641.98 2665,-1180.47 2665,-1180.47 2665,-1180.47 2665,-1071.76 2665,-968.8 2639.71,-942.53 2589,-852.92"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge174" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3873,-2716.97C3707.71,-2150.01 3750,-1984.46 3750,-1393.9 3750,-1393.9 3750,-1393.9 3750,-850.92 3750,-789.77 3764.58,-720.41 3775.68,-676.47"/>
<polygon fill="#db0505" stroke="black" points="3779.3,-677.43 3778.41,-666.87 3772.52,-675.68 3779.3,-677.43"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove -->
<g id="edge175" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6343,-3111.61C6294.44,-3105.11 6172.09,-3081.93 6129,-3058.61 6088.42,-3036.65 6095.78,-3005.17 6053,-2987.9 5949.95,-2946.3 4134.65,-3027.29 4053,-2951.9 4035.77,-2935.99 4033,-2956.68 4033,-2284.7 4033,-2284.7 4033,-2284.7 4033,-850.92 4033,-705.09 8965.57,-640.01 9554.69,-632.76"/>
<polygon fill="#db0505" stroke="black" points="9554.49,-636.25 9564.44,-632.63 9554.4,-629.25 9554.49,-636.25"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge176" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.24,-3207.45C8682.04,-3200.72 6506.89,-3159.22 6215,-3130.61 6170.13,-3126.21 6160.04,-3115.65 6115,-3113.61"/>
<path fill="none" stroke="black" d="M6115,-3111.61C6002.86,-3106.54 5975.14,-3099.75 5863,-3094.61 5698.46,-3087.06 4538.85,-3105.67 4381,-3058.61 4323.86,-3041.58 4324.22,-3004.66 4267,-2987.9 4004.12,-2910.91 2061.65,-3039.16 1802,-2951.9 1762.26,-2938.54 1764.05,-2913.63 1726,-2896.04 1662.99,-2866.89 1635.22,-2892.77 1574,-2860.04 1533.31,-2838.29 1536.19,-2815.22 1498,-2789.33 1467.07,-2768.35 1449.09,-2779.08 1422,-2753.33 1396.14,-2728.75 1414.04,-2701.86 1384,-2682.62 1329.44,-2647.67 846.38,-2693.82 802,-2646.62 780.47,-2623.72 798.27,-2607.11 802,-2575.91 842.96,-2233 985,-2166.08 985,-1820.74 985,-1820.74 985,-1820.74 985,-1712.03 985,-1516.53 871,-1482.68 871,-1287.18 871,-1287.18 871,-1287.18 871,-850.92 871,-784.07 845.23,-747.06 895,-702.43 943.27,-659.14 1904.23,-638.48 2184.12,-633.37"/>
<polygon fill="#db0505" stroke="black" points="2184.04,-636.85 2193.97,-633.17 2183.91,-629.85 2184.04,-636.85"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_restore -->
<g id="edge177" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_restore</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9141.94,-3199.69C9210.51,-3186.3 9339.71,-3157.49 9443,-3113.61"/>
<path fill="none" stroke="black" d="M9443,-3111.61C9452.01,-3107.78 9450.07,-3101.52 9457,-3094.61 9474.89,-3076.77 9482.19,-3075.48 9501,-3058.61 9534.39,-3028.66 9537.19,-3014.91 9573,-2987.9 9644.39,-2934.05 9837.95,-2816.95 9923,-2789.33 9991.06,-2767.22 10195.31,-2806.68 10243,-2753.33 10246.25,-2749.69 10242.65,-2610.62 10241,-2575.91 10230.04,-2344.79 10207,-2287.8 10207,-2056.43 10207,-2056.43 10207,-2056.43 10207,-1818.74 10207,-1439.91 10176.52,-1340.35 10241,-967.05"/>
<path fill="none" stroke="black" d="M10241,-965.05C10244.76,-864.56 10241,-839.35 10241,-738.78 10241,-738.78 10241,-738.78 10241,-431.5 10241,-301.76 10058.63,-248.26 9963.81,-229.21"/>
<polygon fill="#db0505" stroke="black" points="9964.74,-225.63 9954.26,-227.16 9963.41,-232.5 9964.74,-225.63"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_search -->
<g id="edge178" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6115,-3111.61C6002.85,-3106.76 5975.05,-3101.32 5863,-3094.61 5557.35,-3076.3 5480.43,-3080.19 5175,-3058.61 4821.6,-3033.64 4734.81,-3006.18 4381,-2987.9 4242.39,-2980.74 2015.22,-2994.12 1883,-2951.9 1841.34,-2938.6 1842.18,-2913.29 1802,-2896.04 1730.64,-2865.39 1697.22,-2900.63 1631,-2860.04 1596.59,-2838.94 1603.47,-2816.91 1574,-2789.33 1513.73,-2732.93 1499.93,-2709.81 1422,-2682.62 1358.42,-2660.43 863.18,-2695.63 817,-2646.62 795.45,-2623.74 808.24,-2606.09 817,-2575.91 821.69,-2559.75 890.59,-2463.14 898,-2448.04 993.97,-2252.38 1000.66,-2192.17 1033,-1976.65 1062.26,-1781.64 1062.19,-1731.74 1075,-1534.96 1077.46,-1497.13 1069.28,-876.46 1099,-852.92"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge179" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6229,-3111.61C6184.06,-3108.03 6173.77,-3099.92 6129,-3094.61 5893.66,-3066.72 5831.39,-3093.57 5597,-3058.61 5459.8,-3038.15 5430.61,-3005.39 5293,-2987.9 5211.41,-2977.53 3887.75,-2986.2 3813,-2951.9 3735.74,-2916.45 3539.12,-2591.34 3411,-2326.48 3338.78,-2177.18 2970.78,-1070.79 2882,-930.7 2829.92,-848.51 2783.1,-854.68 2730,-773.14 2721,-759.32 2724.02,-753.19 2716,-738.78"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge180" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.47,-3206.26C9313.61,-3199.21 9875.93,-3176.53 10341,-3166.61 11212.17,-3148.02 13391.91,-3177.89 14262,-3130.61 14423,-3121.86 14462.09,-3104.88 14623,-3094.61 14907.42,-3076.46 15625.85,-3116.08 15905,-3058.61 15912.32,-3057.1 16398.64,-2863.95 16405,-2860.04 16506.19,-2797.74 16508.55,-2752.02 16605,-2682.62 16774.78,-2560.45 16840.69,-2566.62 17013,-2448.04 17062.59,-2413.92 17063.89,-2388.87 17118,-2362.48 17336.77,-2255.78 17411.59,-2278.96 17652,-2240.92 17739.93,-2227.01 17972.46,-2246.85 18051,-2204.92 18388.88,-2024.58 18372.76,-1848.3 18593,-1534.96 18709.82,-1368.76 18722.6,-1316.55 18830,-1144.12 18849.62,-1112.61 18864.15,-1109.26 18875,-1073.76"/>
<path fill="none" stroke="black" d="M18875,-1071.76C18890.66,-999.44 18907.03,-805.49 18875,-738.78"/>
<path fill="none" stroke="black" d="M18875,-736.78C18863.19,-714.12 18847.7,-690.22 18834.39,-670.98"/>
<polygon fill="#db0505" stroke="black" points="18836.85,-669.4 18828.25,-663.22 18831.12,-673.42 18836.85,-669.4"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge181" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.15,-3207.52C8571.81,-3199.45 4981.59,-3137.81 4928,-3130.61 4897.55,-3126.52 4891.71,-3114.47 4861,-3113.61"/>
<path fill="none" stroke="black" d="M4861,-3111.61C3611.04,-3076.73 3294.12,-3162.51 2048,-3058.61 1726.5,-3031.8 1647.22,-3010.66 1330,-2951.9 792.62,-2852.35 228,-2952.79 228,-2406.26 228,-2406.26 228,-2406.26 228,-1178.47 228,-1084.51 212.01,-1059.65 228,-967.05"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_sign -->
<g id="edge182" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9047,-3111.61C9040.04,-3054.54 9115.69,-3088.18 9165,-3058.61 9231.49,-3018.74 9243.45,-3001.55 9303,-2951.9 9386.05,-2882.65 9384.19,-2830.91 9484,-2789.33 9548.11,-2762.62 10060.33,-2803.83 10108,-2753.33 10129.57,-2730.47 10115.56,-2713.12 10108,-2682.62 10103.65,-2665.06 10094.66,-2663.8 10089,-2646.62 10049.08,-2525.3 10132.59,-2456.37 10046,-2362.48 9998.64,-2311.13 9944.14,-2374.07 9893,-2326.48 9862.95,-2298.52 9765,-1960.8 9765,-1820.74 9765,-1820.74 9765,-1820.74 9765,-1712.03 9765,-1523.16 9755,-1476.06 9755,-1287.18 9755,-1287.18 9755,-1287.18 9755,-850.92 9755,-790.21 9742.79,-721.02 9733.46,-676.97"/>
<polygon fill="#db0505" stroke="black" points="9736.69,-676.37 9731.16,-667.34 9729.85,-677.85 9736.69,-676.37"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status -->
<g id="edge183" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6229,-3111.61C6184.07,-3107.92 6173.65,-3100.82 6129,-3094.61 5981.99,-3074.16 5941.71,-3091.57 5797,-3058.61 5705.07,-3037.67 5689.75,-3004.82 5597,-2987.9 5504.07,-2970.94 3979.15,-2998.53 3897,-2951.9 3709.11,-2845.25 3722.02,-2739.36 3639,-2539.91 3610.74,-2472.01 3358.73,-1321.39 3338,-1250.83 3295.43,-1105.92 3283.18,-1069.65 3224,-930.7 3179.56,-826.36 3200.18,-771.18 3110,-702.43 3063.81,-667.22 2899.51,-646.23 2811.18,-637.24"/>
<polygon fill="#db0505" stroke="black" points="2811.57,-633.67 2801.27,-636.16 2810.88,-640.63 2811.57,-633.67"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge184" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.47,-3206.25C9313.61,-3199.18 9875.92,-3176.43 10341,-3166.61 12169.55,-3127.98 12627.86,-3185.32 14456,-3130.61 14769.16,-3121.24 14847.04,-3109.25 15160,-3094.61 15348.41,-3085.79 15823.79,-3099.14 16008,-3058.61 16662.87,-2914.53 16750.26,-2637.47 17403,-2484.04 17622.48,-2432.46 17692.23,-2510.02 17909,-2448.04 17987.29,-2425.66 17998.82,-2400.17 18071,-2362.48 18099.37,-2347.67 18559.98,-2120.45 18583,-2098.21 18614.36,-2067.92 18608.1,-2049.76 18631,-2012.65 18792.73,-1750.66 18869.17,-1705.53 19003,-1428.25 19054.62,-1321.3 19103,-1299.23 19103,-1180.47 19103,-1180.47 19103,-1180.47 19103,-965.05 19103,-912.01 19185.68,-791.4 19179,-738.78"/>
<path fill="none" stroke="black" d="M19179,-736.78C19173.82,-712.33 19159.41,-688.75 19145.08,-670.17"/>
<polygon fill="#db0505" stroke="black" points="19147.31,-668.36 19138.32,-662.74 19141.85,-672.73 19147.31,-668.36"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge185" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6343,-3111.61C6326.76,-3109.47 6068.61,-3063.58 6053,-3058.61 5982,-3036.02 5973.59,-3004.69 5901,-2987.9 5799.98,-2964.53 4112.99,-3020.23 4035,-2951.9 3838.24,-2779.51 3864,-993.24 3864,-967.05 3864,-967.05 3864,-967.05 3864,-850.92 3864,-782.45 3867,-759.38 3905,-702.43 3916.42,-685.31 3933.38,-670.5 3949.5,-658.95"/>
<polygon fill="#db0505" stroke="black" points="3951.07,-661.43 3957.33,-652.88 3947.1,-655.66 3951.07,-661.43"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge186" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9142.46,-3200.5C9212.64,-3188.51 9346.27,-3163.57 9457,-3130.61 9542.36,-3105.2 9562.08,-3093.54 9644,-3058.61 9903.2,-2948.07 9956.78,-2895.02 10218,-2789.33 10263.73,-2770.82 10289.74,-2789.77 10323,-2753.33 10355.91,-2717.27 10342.5,-2695 10349,-2646.62 10365.84,-2521.29 10378.28,-2480.93 10334,-2362.48 10327.35,-2344.7 10316.32,-2344.71 10311,-2326.48 10243.43,-2095.22 10286.11,-2024.03 10311,-1784.38 10329.32,-1608 10393,-1571.23 10393,-1393.9 10393,-1393.9 10393,-1393.9 10393,-1071.76 10393,-974.5 10369.48,-947.3 10393,-852.92"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge187" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4861,-3111.61C4090.31,-3088.75 3897.11,-3096.19 3127,-3058.61 3082.76,-3056.45 1579.57,-2959.88 1536,-2951.9 1291.98,-2907.18 1246,-2834.2 1002,-2789.33 944.28,-2778.71 519.77,-2791.28 475,-2753.33 433.12,-2717.83 418,-2567.87 418,-2512.97 418,-2512.97 418,-2512.97 418,-1818.74 418,-1724.77 386.73,-1695.93 418,-1607.32"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_update -->
<g id="edge188" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9141.94,-3199.89C9249.99,-3180.71 9504.56,-3135.37 9523,-3130.61 9619.76,-3105.63 9647.05,-3104.14 9736,-3058.61 9784.13,-3033.97 9786.89,-3012.57 9835,-2987.9 9879.27,-2965.2 9894.6,-2969.84 9941,-2951.9 10129.09,-2879.16 10180.28,-2863.79 10349,-2753.33 10369.76,-2739.74 10376.65,-2737.63 10393,-2718.97"/>
<path fill="none" stroke="black" d="M10393,-2716.97C10427.36,-2678.09 10382.17,-2535.67 10377,-2484.04 10371.57,-2429.82 10369.58,-2416.3 10361,-2362.48 10347.33,-2276.78 10325,-2257.35 10325,-2170.57 10325,-2170.57 10325,-2170.57 10325,-1932.87 10325,-1795.1 10682.31,-874.57 10659,-738.78"/>
<path fill="none" stroke="black" d="M10659,-736.78C10653.61,-716.33 10646.2,-694.12 10639.51,-675.44"/>
<polygon fill="#db0505" stroke="black" points="10642.48,-674.37 10635.77,-666.17 10635.9,-676.76 10642.48,-674.37"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_users -->
<g id="edge189" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.47,-3206.27C9313.61,-3199.25 9875.93,-3176.67 10341,-3166.61 11978.47,-3131.18 12389.82,-3204.69 14026,-3130.61 14224.22,-3121.63 14272.86,-3105.27 14471,-3094.61 14620.06,-3086.59 15669.27,-3095.18 15814,-3058.61 15915.89,-3032.86 15935.25,-3006.56 16025,-2951.9 16346.25,-2756.24 16416.41,-2689.3 16705,-2448.04 16871.74,-2308.65 16877.94,-2214.25 17080,-2134.21 17209.55,-2082.9 17577.29,-2151.58 17706,-2098.21 17806.71,-2056.46 17816.42,-2016.22 17889,-1934.87"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge190" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.23,-3207.58C8740.28,-3202.68 7140.18,-3175.62 5835,-3130.61 5125.37,-3106.14 4948.01,-3097.14 4239,-3058.61 3744.51,-3031.74 3621.74,-3009.69 3127,-2987.9 2964.11,-2980.72 1818.98,-2988.1 1660,-2951.9 1601.06,-2938.48 1593.07,-2915.95 1536,-2896.04 1474.53,-2874.58 1447.31,-2897.41 1394,-2860.04 1362.9,-2838.24 1371.22,-2817.73 1346,-2789.33 1297.94,-2735.22 1289.94,-2710.12 1223,-2682.62 1166.04,-2659.22 715.2,-2688.43 670,-2646.62 550.72,-2536.26 591.39,-2445.01 618,-2284.7"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge191" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9263,-3111.61C9343.31,-3072.37 9382.88,-3108.56 9457,-3058.61 9532.36,-3007.83 9508.64,-2951.01 9581,-2896.04 9631.88,-2857.38 9785.92,-2804.44 9848,-2789.33 9928.05,-2769.84 10161.64,-2814.35 10217,-2753.33 10276.09,-2688.19 10211.99,-2429.46 10155,-2362.48 10131.81,-2335.24 10101.81,-2356.92 10083,-2326.48 10063.01,-2294.14 10071.44,-2277.15 10083,-2240.92 10086.7,-2229.34 10093.08,-2218.03 10100.06,-2207.98"/>
<polygon fill="#db0505" stroke="black" points="10103.47,-2210.26 10106.59,-2200.14 10097.84,-2206.11 10103.47,-2210.26"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_handlers_web -->
<g id="edge192" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10393,-2716.97C10403.73,-2704.45 10398.65,-2696.84 10407,-2682.62 10499.22,-2525.5 10521.34,-2477.03 10663,-2362.48 10690.82,-2339.99 10716.19,-2356.92 10735,-2326.48 10754.99,-2294.14 10736.37,-2278.93 10735,-2240.92 10726.55,-2006.29 10697,-1948.81 10697,-1714.03 10697,-1714.03 10697,-1714.03 10697,-736.78 10697,-650.31 10752.71,-632.43 10831,-595.72 11078.4,-479.68 13130.49,-658.89 13285,-433.5"/>
<path fill="none" stroke="black" d="M13285,-431.5C13355.69,-320.43 11141.82,-236 10754.43,-222.09"/>
<polygon fill="#db0505" stroke="black" points="10754.63,-218.56 10744.51,-221.7 10754.38,-225.56 10754.63,-218.56"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_application_lock -->
<g id="edge193" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.47,-3206.29C9313.61,-3199.32 9875.93,-3176.89 10341,-3166.61 11835.83,-3133.57 12210.7,-3182.38 13705,-3130.61 13978.19,-3121.14 14045.88,-3106.06 14319,-3094.61 14477.24,-3087.97 15592.33,-3104.23 15744,-3058.61 15800.73,-3041.54 15802.78,-3011.77 15857,-2987.9 15911.87,-2963.75 15936.38,-2984.03 15987,-2951.9 16014.64,-2934.36 16011.47,-2918.79 16035,-2896.04 16236.73,-2700.99 16511.07,-2503.36 16611.31,-2433.08"/>
<polygon fill="#db0505" stroke="black" points="16612.99,-2435.47 16619.18,-2426.87 16608.98,-2429.73 16612.99,-2435.47"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge194" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8813,-3022.25C8755.47,-2999.32 8420.33,-2720.07 8371,-2682.62 8349.76,-2666.49 8341.62,-2665.7 8323,-2646.62 8282.34,-2604.94 8264.73,-2595.37 8247,-2539.91 8239.44,-2516.26 8241.41,-2508.23 8247,-2484.04 8249.99,-2471.12 8255.44,-2457.86 8261.29,-2446.03"/>
<polygon fill="#db0505" stroke="black" points="8264.75,-2447.96 8266.26,-2437.47 8258.54,-2444.73 8264.75,-2447.96"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_auth -->
<g id="edge195" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.77,-3206.41C9314.28,-3199.86 9876.25,-3178.62 10341,-3166.61 10780.48,-3155.25 11880.93,-3167.57 12319,-3130.61 12425.6,-3121.62 12450.52,-3104.91 12557,-3094.61 12743.41,-3076.58 13216.93,-3102.51 13399,-3058.61 13472.22,-3040.96 13480.93,-3009.76 13553,-2987.9 13649.91,-2958.5 13678.23,-2969.29 13778,-2951.9 13994.99,-2914.08 14063.05,-2947.97 14265,-2860.04 14313.59,-2838.88 14313.76,-2813.34 14361,-2789.33 14408.36,-2765.25 14431.45,-2783.77 14475,-2753.33 14499.54,-2736.18 14792.65,-2354.19 14804,-2326.48 14830.47,-2261.89 14823,-2240.38 14823,-2170.57 14823,-2170.57 14823,-2170.57 14823,-2054.43 14823,-1981.35 14816.78,-1959.69 14842,-1891.09 14854.98,-1855.8 14917.05,-1845.79 14889,-1820.74"/>
<path fill="none" stroke="black" d="M14889,-1818.74C14810.7,-1749.93 14686.21,-1726.18 14617.88,-1718.09"/>
<polygon fill="#db0505" stroke="black" points="14618.33,-1714.51 14608.01,-1716.89 14617.56,-1721.47 14618.33,-1714.51"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge196" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.77,-3206.38C9314.28,-3199.74 9876.24,-3178.25 10341,-3166.61 10822.69,-3154.54 12028.83,-3170.73 12509,-3130.61 12615.61,-3121.7 12640.53,-3105.01 12747,-3094.61 13103.88,-3059.75 13195.99,-3092.07 13553,-3058.61 14169.97,-3000.78 14444.69,-3082.64 14885,-2646.62 14928,-2604.04 15053.28,-2451.42 15013,-2406.26"/>
<path fill="none" stroke="black" d="M15013,-2404.26C14998.66,-2388.36 15005.59,-2376.02 14989,-2362.48 14949.46,-2330.24 14917.97,-2360.56 14880,-2326.48 14864.82,-2312.86 14862.98,-2305.01 14861,-2284.7"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge197" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.77,-3206.45C9314.29,-3200 9876.26,-3179.07 10341,-3166.61 11135.54,-3145.3 11335.65,-3179.08 12129,-3130.61 12285.97,-3121.02 12324.17,-3106.3 12481,-3094.61 12821.76,-3069.22 12911.22,-3110.27 13249,-3058.61 13278.13,-3054.16 14246.34,-2796.17 14275,-2789.33 14348.85,-2771.69 14390.59,-2809.2 14442,-2753.33 14523.72,-2664.52 14460.93,-2603.66 14477,-2484.04 14508.24,-2251.46 14547.42,-1973.26 14562.59,-1865.99"/>
<polygon fill="#db0505" stroke="black" points="14566.17,-1866.64 14564.11,-1856.25 14559.24,-1865.66 14566.17,-1866.64"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge198" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.53,-3206.49C9303.68,-3200.51 9808.75,-3181.61 10227,-3166.61 10284.39,-3164.55 11212.96,-3163.54 11260,-3130.61 11301.77,-3101.37 11278.1,-3068.75 11303,-3024.25"/>
<path fill="none" stroke="black" d="M11303,-3022.25C11366.69,-2917.43 11356.03,-2866.95 11451,-2789.33 11485.64,-2761.01 11509.75,-2780.87 11545,-2753.33 11620.81,-2694.09 11612.95,-2654.09 11669,-2575.91 11710.09,-2518.58 11741.02,-2515.06 11763,-2448.04 11791.69,-2360.58 11781.29,-2331.14 11763,-2240.92 11745.31,-2153.68 11657.8,-2141.2 11685,-2056.43"/>
</g>
<!-- ahriman_core_database_migrations -->
<g id="node59" class="node">
<title>ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#883a3a" stroke="black" cx="11536" cy="-2405.26" rx="43.13" ry="35.36"/>
<text text-anchor="middle" x="11536" y="-2416.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11536" y="-2406.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11536" y="-2395.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="11536" y="-2385.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">migrations</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_database_migrations -->
<g id="edge199" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.79,-3206.74C9318.59,-3200.72 9888.55,-3177.77 10065,-3130.61 10101.11,-3120.96 10106.38,-3108.69 10141,-3094.61 10438.69,-2973.5 10535.73,-3000.07 10825,-2860.04 10956.25,-2796.5 10977.71,-2760.49 11101,-2682.62 11268.16,-2577.03 11315.14,-2558.7 11479,-2448.04 11484.54,-2444.3 11490.3,-2440.26 11495.94,-2436.22"/>
<polygon fill="#db0505" stroke="black" points="11497.61,-2438.61 11503.65,-2429.91 11493.5,-2432.94 11497.61,-2438.61"/>
</g>
<!-- ahriman_core_database_sqlite -->
<g id="node67" class="node">
<title>ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="11641" cy="-2283.7" rx="41.54" ry="35.36"/>
<text text-anchor="middle" x="11641" y="-2295.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11641" y="-2284.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11641" y="-2274.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="11641" y="-2263.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sqlite</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_database_sqlite -->
<g id="edge200" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.18,-3204.28C9305.49,-3190.97 9804.36,-3148.77 9875,-3130.61 10028.97,-3091.03 10895.39,-2674.82 10952,-2646.62 11191.93,-2527.09 11245.65,-2485.14 11484,-2362.48 11521.22,-2343.33 11563.79,-2322.3 11595.2,-2306.93"/>
<polygon fill="#db0505" stroke="black" points="11596.54,-2309.69 11603.99,-2302.16 11593.47,-2303.4 11596.54,-2309.69"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge201" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.37,-3206.65C8872.09,-3200.38 8315.5,-3176.87 8143,-3130.61 8106.9,-3120.93 8103.24,-3103.77 8067,-3094.61 7771.85,-3020.04 7685.79,-3090.11 7383,-3058.61 7363.87,-3056.62 6715.25,-2962.18 6699,-2951.9 6673.63,-2935.84 6686.98,-2911.09 6661,-2896.04 6570.94,-2843.85 6296.29,-2879.29 6194,-2860.04 6033.76,-2829.88 5994,-2814.84 5843,-2753.33 5763.71,-2721.03 5581.9,-2603.92 5501,-2575.91 5420.2,-2547.92 5393.27,-2566.5 5312,-2539.91 5030.84,-2447.91 4722.16,-2267.59 4608.86,-2198.46"/>
<polygon fill="#db0505" stroke="black" points="4611.13,-2195.13 4600.77,-2192.9 4607.48,-2201.1 4611.13,-2195.13"/>
</g>
<!-- ahriman_core_gitremote_remote_pull_trigger -->
<g id="node86" class="node">
<title>ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="5117" cy="-2055.43" rx="69.65" ry="35.36"/>
<text text-anchor="middle" x="5117" y="-2066.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5117" y="-2056.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5117" y="-2045.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="5117" y="-2035.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_pull_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull_trigger -->
<g id="edge202" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.37,-3206.01C8893.73,-3198.67 8440.64,-3174.18 8067,-3130.61 7965.1,-3118.73 7941.1,-3104.6 7839,-3094.61 7632.5,-3074.39 7108.6,-3103.37 6906,-3058.61 6826.5,-3041.05 6814.45,-3013.03 6737,-2987.9 6501.17,-2911.38 6433.5,-2924.17 6194,-2860.04 6034.85,-2817.42 5991.52,-2815.61 5839,-2753.33 5681.93,-2689.19 5661.18,-2631.81 5501,-2575.91 5420.27,-2547.73 5390.19,-2574.52 5312,-2539.91 5249.94,-2512.43 5235.11,-2498.76 5190,-2448.04 5148.42,-2401.3 5135.57,-2386.82 5119,-2326.48 5097.92,-2249.71 5103.92,-2155.98 5110.36,-2101.56"/>
<polygon fill="#db0505" stroke="black" points="5113.92,-2102.24 5111.68,-2091.89 5106.98,-2101.38 5113.92,-2102.24"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge203" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8623,-3111.61C8444.82,-3079.27 8395.9,-3097.35 8219,-3058.61 8115.36,-3035.91 8095.3,-3007.33 7991,-2987.9 7758.02,-2944.51 7688.52,-3010.9 7459,-2951.9 7402.02,-2937.25 7393.87,-2917.26 7339,-2896.04 7320.44,-2888.86 7016.55,-2793.08 6997,-2789.33 6894.78,-2769.7 6617.17,-2810.2 6530,-2753.33 6455.09,-2704.45 6480.9,-2652.68 6435,-2575.91 6381.72,-2486.79 6227.14,-2256.35 6208,-2240.92 6038.11,-2103.97 5921.69,-2194.85 5753,-2056.43"/>
</g>
<!-- ahriman_core_gitremote_remote_push_trigger -->
<g id="node88" class="node">
<title>ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="5613" cy="-1819.74" rx="73.89" ry="35.36"/>
<text text-anchor="middle" x="5613" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5613" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5613" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote.</text>
<text text-anchor="middle" x="5613" y="-1799.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_push_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge204" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9045.5,-3201.26C8937.22,-3185.17 8682.43,-3146.19 8646,-3130.61 8634.31,-3125.61 8635.51,-3115.84 8623,-3113.61"/>
<path fill="none" stroke="black" d="M8623,-3111.61C8534.3,-3095.81 8510.88,-3100.85 8421,-3094.61 8274.91,-3084.47 7905.07,-3094.14 7763,-3058.61 7690.72,-3040.53 7682.94,-3007.27 7611,-2987.9 7440.35,-2941.95 7389.21,-2981.61 7215,-2951.9 7050.53,-2923.85 7012.61,-2901.51 6851,-2860.04 6730.43,-2829.09 6700.88,-2819.04 6580,-2789.33 6510.9,-2772.34 6478.45,-2799.13 6424,-2753.33 6234.87,-2594.24 6362.91,-2433.49 6208,-2240.92 6054.77,-2050.44 5793.67,-1908.04 5674.99,-1849.72"/>
<polygon fill="#db0505" stroke="black" points="5676.85,-1846.24 5666.33,-1845 5673.78,-1852.53 5676.85,-1846.24"/>
</g>
<!-- ahriman_core_log_http_log_handler -->
<g id="node91" class="node">
<title>ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="11593" cy="-2824.68" rx="61.7" ry="35.36"/>
<text text-anchor="middle" x="11593" y="-2836.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11593" y="-2825.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11593" y="-2815.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="11593" y="-2804.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">http_log_handler</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_log_http_log_handler -->
<g id="edge205" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.82,-3206.67C9303.67,-3200.9 9804.87,-3179.79 10217,-3130.61 10261.76,-3125.27 10272.15,-3118.19 10317,-3113.61"/>
<path fill="none" stroke="black" d="M10317,-3111.61C10533.16,-3089.55 10589.68,-3099.9 10803,-3058.61 10975.23,-3025.27 11014.71,-3001.42 11183,-2951.9 11305.74,-2915.78 11448.37,-2871.3 11528.93,-2845.95"/>
<polygon fill="#db0505" stroke="black" points="11529.92,-2848.99 11538.4,-2842.65 11527.81,-2842.31 11529.92,-2848.99"/>
</g>
<!-- ahriman_core_log_log -->
<g id="node94" class="node">
<title>ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="11295" cy="-2717.97" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="11295" y="-2729.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11295" y="-2718.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11295" y="-2708.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="11295" y="-2697.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_log_log -->
<g id="edge206" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.71,-3207.41C9296.63,-3203.89 9761.06,-3188.77 10141,-3130.61 10203.05,-3121.11 11205.37,-2883.84 11229,-2825.68"/>
<path fill="none" stroke="black" d="M11229,-2823.68C11246.31,-2804.32 11261.99,-2779.9 11273.71,-2759.52"/>
<polygon fill="#db0505" stroke="black" points="11277.12,-2761.6 11278.98,-2751.17 11271.02,-2758.17 11277.12,-2761.6"/>
</g>
<!-- ahriman_core_report_console -->
<g id="node96" class="node">
<title>ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="8793" cy="-2283.7" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="8793" y="-2295.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8793" y="-2284.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8793" y="-2274.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="8793" y="-2263.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">console</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_console -->
<g id="edge207" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8971,-2922.97C8957.79,-2881.8 8968.78,-2868.86 8971,-2825.68"/>
<path fill="none" stroke="black" d="M8971,-2823.68C8975.03,-2745.37 8839.99,-2796.61 8829,-2718.97"/>
</g>
<!-- ahriman_core_report_email -->
<g id="node97" class="node">
<title>ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="8285" cy="-2055.43" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="8285" y="-2066.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8285" y="-2056.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8285" y="-2045.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="8285" y="-2035.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">email</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_email -->
<g id="edge208" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9075.46,-3182.97C9063.68,-3164.72 9050.09,-3138.95 9047,-3113.61"/>
<path fill="none" stroke="black" d="M9047,-3111.61C9045.42,-3098.63 9034.66,-3100.53 9023,-3094.61 8935.23,-3050.05 8904.94,-3059.4 8813,-3024.25"/>
<path fill="none" stroke="black" d="M8813,-3022.25C8783.57,-3011.01 8779.99,-3000.23 8751,-2987.9 8700.94,-2966.6 8684.94,-2971 8634,-2951.9 8358.4,-2848.59 8300.08,-2797.25 8029,-2682.62 7964.5,-2655.34 7483.24,-2506.05 7444,-2448.04 7422.69,-2416.55 7428.86,-2397.37 7444,-2362.48 7505.09,-2221.72 7599.79,-2250.14 7731,-2170.57"/>
<path fill="none" stroke="black" d="M7731,-2168.57C7770.6,-2136.59 8109.83,-2082.8 8237.06,-2063.55"/>
<polygon fill="#db0505" stroke="black" points="8237.27,-2066.91 8246.63,-2061.96 8236.22,-2059.99 8237.27,-2066.91"/>
</g>
<!-- ahriman_core_report_html -->
<g id="node98" class="node">
<title>ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="9217" cy="-2055.43" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="9217" y="-2066.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9217" y="-2056.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9217" y="-2045.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="9217" y="-2035.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">html</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_html -->
<g id="edge209" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9047,-3111.61C9040.99,-2975.91 9254.67,-3056.39 9289,-2924.97"/>
<path fill="none" stroke="black" d="M9289,-2922.97C9297.24,-2903.27 9318.17,-2561.24 9319,-2539.91 9319.97,-2515.1 9331.46,-2505.52 9319,-2484.04 9302.81,-2456.15 9274.92,-2474.16 9256,-2448.04 9182.12,-2346.1 9173.92,-2293.94 9199,-2170.57"/>
</g>
<!-- ahriman_core_report_jinja_template -->
<g id="node99" class="node">
<title>ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8b1818" stroke="black" cx="9365" cy="-2169.57" rx="53.74" ry="35.36"/>
<text text-anchor="middle" x="9365" y="-2181.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9365" y="-2170.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9365" y="-2160.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="9365" y="-2149.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">jinja_template</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge210" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9135,-2716.97C9175.67,-2611.02 9274.56,-2644.34 9319,-2539.91 9328.72,-2517.06 9331.46,-2505.52 9319,-2484.04 9302.81,-2456.15 9272.19,-2475.94 9256,-2448.04 9240.25,-2420.9 9267.87,-2242.89 9269,-2240.92 9279.35,-2222.94 9296.35,-2208.25 9313.19,-2197.02"/>
<polygon fill="#db0505" stroke="black" points="9314.91,-2199.44 9321.49,-2191.14 9311.17,-2193.53 9314.91,-2199.44"/>
</g>
<!-- ahriman_core_report_report -->
<g id="node100" class="node">
<title>ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#910707" stroke="black" cx="8882" cy="-2169.57" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="8882" y="-2181.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8882" y="-2170.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8882" y="-2160.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="8882" y="-2149.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_report -->
<g id="edge211" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9135,-2716.97C9143.87,-2693.86 9112.42,-2631.63 9097,-2612.26"/>
<path fill="none" stroke="black" d="M9097,-2610.26C9055.51,-2558.15 9007.87,-2574.77 8983,-2512.97"/>
</g>
<!-- ahriman_core_report_report_trigger -->
<g id="node101" class="node">
<title>ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="8641" cy="-2055.43" rx="52.15" ry="35.36"/>
<text text-anchor="middle" x="8641" y="-2066.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8641" y="-2056.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8641" y="-2045.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="8641" y="-2035.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge212" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8971,-2823.68C8974.57,-2754.14 9058.34,-2798.9 9111,-2753.33 9125.08,-2741.14 9128.08,-2736.26 9135,-2718.97"/>
<path fill="none" stroke="black" d="M9135,-2716.97C9145.02,-2691.94 8982.86,-2563.04 8969,-2539.91 8894.64,-2415.75 8950.95,-2333.84 8840,-2240.92 8768.08,-2180.69 8657.1,-2262.99 8641,-2170.57"/>
</g>
<!-- ahriman_core_report_telegram -->
<g id="node102" class="node">
<title>ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="9085" cy="-2055.43" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="9085" y="-2066.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9085" y="-2056.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9085" y="-2045.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report.</text>
<text text-anchor="middle" x="9085" y="-2035.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">telegram</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_report_telegram -->
<g id="edge213" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9135,-2716.97C9144.2,-2692.69 9168.25,-2505.75 9154,-2484.04 9131.94,-2450.43 9106.27,-2467.36 9071,-2448.04 9041.86,-2432.08 9025.29,-2435.23 9009,-2406.26"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository -->
<g id="edge214" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10469,-2716.97C10507.18,-2676.27 10528.19,-2679.88 10573,-2646.62 10613.01,-2616.91 10618.71,-2603.8 10660,-2575.91 10687.36,-2557.42 10700.68,-2562.24 10725,-2539.91 10794.93,-2475.68 10762.83,-2411.75 10844,-2362.48 10967.48,-2287.54 11049.25,-2410.15 11167,-2326.48 11244.22,-2271.61 11215.84,-2218.54 11259,-2134.21 11339.7,-1976.52 11341.52,-1924.43 11450,-1784.38 11492.5,-1729.52 11504.93,-1714.1 11564,-1677.67 11607.53,-1650.82 11662.89,-1631.85 11702.79,-1620.42"/>
<polygon fill="#db0505" stroke="black" points="11703.66,-1623.53 11712.35,-1617.47 11701.78,-1616.79 11703.66,-1623.53"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge215" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11303,-3022.25C11392.91,-2871.07 11531.32,-2975.52 11664,-2860.04 11825.73,-2719.27 11839.64,-2648.78 11915,-2448.04 11959.41,-2329.74 11911.05,-2278.36 11977,-2170.57"/>
</g>
<!-- ahriman_core_sign_gpg -->
<g id="node110" class="node">
<title>ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a50808" stroke="black" cx="9701" cy="-2405.26" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="9701" y="-2416.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9701" y="-2406.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9701" y="-2395.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sign.</text>
<text text-anchor="middle" x="9701" y="-2385.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gpg</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge216" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9289,-2922.97C9315.77,-2746.06 9465.99,-2772.8 9545,-2612.26"/>
<path fill="none" stroke="black" d="M9545,-2610.26C9579.76,-2545.06 9634.88,-2478.79 9669.44,-2440.16"/>
<polygon fill="#db0505" stroke="black" points="9671.39,-2443.12 9675.49,-2433.35 9666.2,-2438.43 9671.39,-2443.12"/>
</g>
<!-- ahriman_core_status_client -->
<g id="node113" class="node">
<title>ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#9c1111" stroke="black" cx="12253" cy="-3023.25" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="12253" y="-3034.75" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12253" y="-3024.25" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12253" y="-3013.75" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="12253" y="-3003.25" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">client</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_status_client -->
<g id="edge217" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.67,-3206.69C9475.09,-3195.63 11311.57,-3134.07 11369,-3130.61 11461.62,-3125.02 12113.37,-3089.12 12201,-3058.61 12205.79,-3056.94 12210.58,-3054.73 12215.19,-3052.23"/>
<polygon fill="#db0505" stroke="black" points="12216.56,-3054.89 12223.38,-3046.78 12212.99,-3048.87 12216.56,-3054.89"/>
</g>
<!-- ahriman_core_status_watcher -->
<g id="node114" class="node">
<title>ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a1e1e" stroke="black" cx="13091" cy="-1286.18" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="13091" y="-1297.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13091" y="-1287.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13091" y="-1276.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="13091" y="-1266.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">watcher</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_status_watcher -->
<g id="edge218" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.77,-3206.47C9314.29,-3200.11 9876.27,-3179.39 10341,-3166.61 10526.97,-3161.49 11831.44,-3160.93 12015,-3130.61 12067.42,-3121.95 12076.63,-3103.58 12129,-3094.61 12188.28,-3084.46 13165.12,-3097.5 13211,-3058.61 13304.12,-2979.69 13194.66,-2889.09 13265,-2789.33 13282.92,-2763.91 13307.24,-2778.86 13325,-2753.33 13394.1,-2654 13385.11,-2603.36 13365,-2484.04 13297.16,-2081.48 13091,-2015.56 13091,-1607.32 13091,-1607.32 13091,-1607.32 13091,-1498.61 13091,-1441.49 13091,-1375.71 13091,-1332.88"/>
<polygon fill="#db0505" stroke="black" points="13094.5,-1332.98 13091,-1322.98 13087.5,-1332.98 13094.5,-1332.98"/>
</g>
<!-- ahriman_core_status_web_client -->
<g id="node115" class="node">
<title>ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="12201" cy="-2405.26" rx="43.66" ry="35.36"/>
<text text-anchor="middle" x="12201" y="-2416.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="12201" y="-2406.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="12201" y="-2395.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="12201" y="-2385.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web_client</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_status_web_client -->
<g id="edge219" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.79,-3206.69C9472.89,-3195.68 11279.78,-3134.88 11293,-3130.61 11689.53,-3002.39 11692.75,-2792.15 12049,-2575.91 12108.71,-2539.66 12163.53,-2576.3 12193,-2512.97"/>
<path fill="none" stroke="black" d="M12193,-2510.97C12200.91,-2492.48 12203.49,-2470.47 12203.86,-2451.42"/>
<polygon fill="#db0505" stroke="black" points="12207.36,-2451.59 12203.85,-2441.59 12200.36,-2451.6 12207.36,-2451.59"/>
</g>
<!-- ahriman_core_support_keyring_trigger -->
<g id="node117" class="node">
<title>ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="4983" cy="-1819.74" rx="55.86" ry="35.36"/>
<text text-anchor="middle" x="4983" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4983" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4983" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="4983" y="-1799.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">keyring_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge220" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.06,-3208.6C8835.76,-3208.93 8035.55,-3205.02 7383,-3130.61 7295,-3120.58 7274.9,-3105.45 7187,-3094.61 7062.36,-3079.24 6741.79,-3099.36 6623,-3058.61 6570.13,-3040.47 6571.46,-3007.18 6519,-2987.9 6378.86,-2936.39 6332.33,-2976.09 6185,-2951.9 6071.8,-2933.31 6045.77,-2917.08 5933,-2896.04 5828.27,-2876.5 5798.54,-2888.96 5696,-2860.04 5482.57,-2799.83 5426.07,-2774.63 5245,-2646.62 5137.72,-2570.77 5084.6,-2565.64 5026,-2448.04 4975.14,-2345.97 4978.66,-1992.63 4981.67,-1866.18"/>
<polygon fill="#db0505" stroke="black" points="4985.19,-1866.45 4981.94,-1856.37 4978.19,-1866.28 4985.19,-1866.45"/>
</g>
<!-- ahriman_core_support_mirrorlist_trigger -->
<g id="node118" class="node">
<title>ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="4621" cy="-1819.74" rx="60.63" ry="35.36"/>
<text text-anchor="middle" x="4621" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4621" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4621" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="4621" y="-1799.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">mirrorlist_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_support_mirrorlist_trigger -->
<g id="edge221" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.07,-3208.54C8794.77,-3208.87 7686.63,-3205.87 6783,-3130.61 6722.68,-3125.59 6299.99,-3079.02 6243,-3058.61 6186.87,-3038.51 6186.19,-3004.74 6129,-2987.9 6074.45,-2971.83 4124.05,-2990.19 4082,-2951.9 4031.53,-2905.94 4051.78,-2714.77 4048,-2646.62 4034.13,-2396.8 4127.51,-2013.47 4128,-2012.65 4158.61,-1962.04 4200.61,-1982.27 4236,-1934.87"/>
<path fill="none" stroke="black" d="M4236,-1932.87C4272.72,-1881.51 4450.7,-1846.64 4551.31,-1830.67"/>
<polygon fill="#db0505" stroke="black" points="4551.66,-1834.01 4560.99,-1829 4550.57,-1827.09 4551.66,-1834.01"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge222" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.44,-3207.12C8834.99,-3201.68 8021.93,-3178.38 7355,-3130.61 7192.41,-3118.96 7152.28,-3110.01 6990,-3094.61 6814.51,-3077.96 6766.57,-3099.08 6595,-3058.61 6510.94,-3038.78 6497.6,-3009.58 6414,-2987.9 6311.86,-2961.41 5572.29,-2895.74 5473,-2860.04 5457.13,-2854.33 4967.53,-2553.08 4957,-2539.91 4953.61,-2535.67 4833.66,-2173.36 4829,-2170.57"/>
<path fill="none" stroke="black" d="M4829,-2168.57C4740.86,-2119.33 4694.49,-2157.82 4613,-2098.21 4594.55,-2084.72 4601.77,-2069.48 4583,-2056.43"/>
</g>
<!-- ahriman_core_support_pkgbuild_keyring_generator -->
<g id="node121" class="node">
<title>ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="5074" cy="-1933.87" rx="65.41" ry="42.78"/>
<text text-anchor="middle" x="5074" y="-1950.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5074" y="-1940.12" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5074" y="-1929.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="5074" y="-1919.12" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild.</text>
<text text-anchor="middle" x="5074" y="-1908.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">keyring_generator</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge223" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.47,-3205.57C8873.5,-3196 8306.91,-3163.58 7839,-3130.61 7636.21,-3116.32 7585.84,-3108.23 7383,-3094.61 7238.66,-3084.92 6870.62,-3103.2 6733,-3058.61 6677.71,-3040.7 6677.61,-3007.79 6623,-2987.9 6504.7,-2944.8 6464.46,-2981.17 6342,-2951.9 6269.97,-2934.68 6256.92,-2913.74 6185,-2896.04 6074.29,-2868.79 6040.52,-2891.76 5931,-2860.04 5598.13,-2763.62 5505.8,-2735.91 5220,-2539.91 5100.93,-2458.25 5019,-2429.08 5019,-2284.7 5019,-2284.7 5019,-2284.7 5019,-2168.57 5019,-2098.76 5018.88,-2079.79 5038,-2012.65 5040.66,-2003.3 5044.31,-1993.65 5048.27,-1984.47"/>
<polygon fill="#db0505" stroke="black" points="5051.75,-1986.28 5052.66,-1975.73 5045.36,-1983.41 5051.75,-1986.28"/>
</g>
<!-- ahriman_core_support_pkgbuild_mirrorlist_generator -->
<g id="node122" class="node">
<title>ahriman_core_support_pkgbuild_mirrorlist_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="4363" cy="-2055.43" rx="70.18" ry="42.78"/>
<text text-anchor="middle" x="4363" y="-2072.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4363" y="-2061.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4363" y="-2051.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="4363" y="-2040.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild.</text>
<text text-anchor="middle" x="4363" y="-2030.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">mirrorlist_generator</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator -->
<g id="edge224" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.25,-3207.79C8820.83,-3204.85 7910.09,-3189.66 7165,-3130.61 6893.74,-3109.11 6825.2,-3104.56 6557,-3058.61 6416,-3034.45 6384.51,-3008.82 6243,-2987.9 6023.04,-2955.38 5962.74,-2991.81 5744,-2951.9 5478.03,-2903.36 5419.39,-2855.33 5169,-2753.33 4852.41,-2624.35 4728.61,-2663.26 4463,-2448.04 4402.39,-2398.94 4226.97,-2245.69 4248,-2170.57"/>
</g>
<!-- ahriman_core_triggers_trigger -->
<g id="node126" class="node">
<title>ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="5237" cy="-2405.26" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="5237" y="-2416.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5237" y="-2406.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5237" y="-2395.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers.</text>
<text text-anchor="middle" x="5237" y="-2385.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge225" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9043.46,-3207.43C8912.33,-3204.15 8550.97,-3189.98 8257,-3130.61 8204.92,-3120.09 8195.28,-3104.08 8143,-3094.61 7993.23,-3067.47 7599.14,-3118.02 7459,-3058.61 7416.52,-3040.6 7425.37,-3006.16 7383,-2987.9 7269.09,-2938.8 6946.5,-2981.32 6826,-2951.9 6766.1,-2937.27 6758.3,-2912.95 6699,-2896.04 6589.78,-2864.88 6556.99,-2884.13 6446,-2860.04 6309.5,-2830.41 5978.01,-2718.44 5843,-2682.62 5775.9,-2664.81 5746.05,-2688.91 5691,-2646.62 5662.71,-2624.88 5682.24,-2596.35 5653,-2575.91 5561.01,-2511.57 5506.39,-2583.64 5403,-2539.91 5349.6,-2517.31 5299.37,-2472.3 5268.44,-2440.78"/>
<polygon fill="#db0505" stroke="black" points="5271.47,-2438.84 5262,-2434.08 5266.43,-2443.7 5271.47,-2438.84"/>
</g>
<!-- ahriman_core_triggers_trigger_loader -->
<g id="node127" class="node">
<title>ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="5346" cy="-2405.26" rx="52.68" ry="35.36"/>
<text text-anchor="middle" x="5346" y="-2416.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5346" y="-2406.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5346" y="-2395.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers.</text>
<text text-anchor="middle" x="5346" y="-2385.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">trigger_loader</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge226" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9045.55,-3200.66C8917.24,-3180.43 8557.89,-3125.4 8257,-3094.61 8025.66,-3070.93 7964.59,-3095.62 7735,-3058.61 7609.99,-3038.46 7583.72,-3009.81 7459,-2987.9 7296.27,-2959.31 7251.56,-2981.46 7089,-2951.9 6455.97,-2836.8 6320.83,-2707.39 5691,-2575.91 5585.42,-2553.86 5544.23,-2594.14 5451,-2539.91 5440.82,-2533.98 5402.48,-2483.44 5375.07,-2446.26"/>
<polygon fill="#db0505" stroke="black" points="5377.46,-2444.59 5368.71,-2438.6 5371.82,-2448.73 5377.46,-2444.59"/>
</g>
<!-- ahriman_core_upload_github -->
<g id="node129" class="node">
<title>ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="8066" cy="-2169.57" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="8066" y="-2181.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8066" y="-2170.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8066" y="-2160.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="8066" y="-2149.57" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">github</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_github -->
<g id="edge227" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8971,-3022.25C8947.84,-2985.74 8984.21,-2966.14 8971,-2924.97"/>
<path fill="none" stroke="black" d="M8971,-2922.97C8930.47,-2796.61 8825.98,-2841.59 8704,-2789.33 8660.58,-2770.72 8641.98,-2781.41 8604,-2753.33 8572.42,-2729.98 8577.13,-2711.94 8551,-2682.62 8535.52,-2665.25 8526.97,-2665.22 8513,-2646.62 8440.8,-2550.52 8381.17,-2526.21 8389,-2406.26"/>
</g>
<!-- ahriman_core_upload_http_upload -->
<g id="node130" class="node">
<title>ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="8066" cy="-2283.7" rx="46.85" ry="35.36"/>
<text text-anchor="middle" x="8066" y="-2295.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8066" y="-2284.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8066" y="-2274.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="8066" y="-2263.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">http_upload</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge228" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9047,-3111.61C9044.72,-3060.2 8997.24,-3068.52 8971,-3024.25"/>
<path fill="none" stroke="black" d="M8971,-3022.25C8861.75,-2837.98 8732.75,-2893.78 8571,-2753.33 8449.25,-2647.61 8447.46,-2592.08 8375,-2448.04 8355.87,-2410.03 8364.81,-2389.6 8332,-2362.48 8286.78,-2325.11 8261.32,-2342.93 8205,-2326.48 8176.73,-2318.23 8145.29,-2308.8 8119.48,-2300.99"/>
<polygon fill="#db0505" stroke="black" points="8120.74,-2297.41 8110.15,-2297.87 8118.71,-2304.11 8120.74,-2297.41"/>
</g>
<!-- ahriman_core_upload_rsync -->
<g id="node131" class="node">
<title>ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="6161" cy="-2283.7" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="6161" y="-2295.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6161" y="-2284.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6161" y="-2274.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6161" y="-2263.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">rsync</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge229" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8623,-3111.61C8432.57,-3077.62 8382.47,-3086.16 8191,-3058.61 8000.16,-3031.15 7954.02,-3014.01 7763,-2987.9 7615.95,-2967.79 7576.73,-2980.02 7431,-2951.9 7168.14,-2901.17 7114.26,-2837.96 6851,-2789.33 6765.41,-2773.52 6527.61,-2809.35 6461,-2753.33 6398.48,-2700.74 6451.36,-2648.03 6413,-2575.91 6405.2,-2561.23 6257.49,-2393.68 6191.92,-2319.58"/>
<polygon fill="#db0505" stroke="black" points="6194.96,-2317.61 6185.71,-2312.45 6189.72,-2322.25 6194.96,-2317.61"/>
</g>
<!-- ahriman_core_upload_s3 -->
<g id="node132" class="node">
<title>ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="6599" cy="-2283.7" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="6599" y="-2295.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6599" y="-2284.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6599" y="-2274.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6599" y="-2263.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">s3</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge230" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9069.56,-3184.95C9046.03,-3163.57 9008.57,-3132.5 8971,-3113.61"/>
<path fill="none" stroke="black" d="M8971,-3111.61C8870.3,-3060.97 8832.49,-3085.35 8723,-3058.61 8607.92,-3030.51 8582.12,-3011.36 8466,-2987.9 8345.18,-2963.49 8311.69,-2976.94 8191,-2951.9 8102.73,-2933.58 8083.62,-2917.26 7996,-2896.04 7759.5,-2838.77 7700.39,-2819.98 7459,-2789.33 7388.67,-2780.4 6882.79,-2789.8 6822,-2753.33 6790.46,-2734.4 6804.92,-2708.71 6779,-2682.62 6737.04,-2640.38 6713.77,-2646.41 6665,-2612.26"/>
<path fill="none" stroke="black" d="M6665,-2610.26C6610.46,-2572.02 6572.27,-2576.1 6551,-2512.97"/>
<path fill="none" stroke="black" d="M6551,-2510.97C6541.67,-2483.29 6563.21,-2476.46 6570,-2448.04 6579.47,-2408.4 6587.33,-2362.68 6592.47,-2329.71"/>
<polygon fill="#db0505" stroke="black" points="6596.05,-2330.46 6594.1,-2320.05 6589.13,-2329.4 6596.05,-2330.46"/>
</g>
<!-- ahriman_core_upload_upload -->
<g id="node133" class="node">
<title>ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a0f0f" stroke="black" cx="6523" cy="-2405.26" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="6523" y="-2416.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6523" y="-2406.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6523" y="-2395.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6523" y="-2385.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload -->
<g id="edge231" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9047.1,-3198.39C8949.86,-3177.1 8719.76,-3123.88 8533,-3058.61 8458.84,-3032.69 8446.36,-3010.08 8371,-2987.9 8360.36,-2984.77 7593.85,-2862.3 7583,-2860.04 7459.04,-2834.16 7432.19,-2808.39 7307,-2789.33 7230.12,-2777.62 6665.21,-2806.01 6608,-2753.33 6561.46,-2710.47 6621.2,-2666.71 6589,-2612.26"/>
</g>
<!-- ahriman_core_upload_upload_trigger -->
<g id="node134" class="node">
<title>ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="6495" cy="-2055.43" rx="54.27" ry="35.36"/>
<text text-anchor="middle" x="6495" y="-2066.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6495" y="-2056.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6495" y="-2045.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload.</text>
<text text-anchor="middle" x="6495" y="-2035.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload_trigger</text>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge232" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8623,-3111.61C8510.43,-3090.93 8479.59,-3094.76 8371,-3058.61 8300.31,-3035.08 8290.98,-3007.15 8219,-2987.9 8041.86,-2940.51 7989.71,-2976.46 7808,-2951.9 7751.92,-2944.32 7357.58,-2885.43 7307,-2860.04 7265.77,-2839.33 7273.45,-2807.4 7231,-2789.33 7098.92,-2733.09 6702.86,-2836.71 6586,-2753.33 6498.07,-2690.59 6444.21,-2391.96 6457,-2284.7"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_models_migration -->
<g id="edge233" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_models_migration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10317,-3111.61C10583.32,-3084.43 10651.04,-3089.14 10917,-3058.61 10984.29,-3050.89 11061.72,-3039.51 11110.74,-3031.99"/>
<polygon fill="#db0505" stroke="black" points="11111.01,-3035.34 11120.36,-3030.35 11109.94,-3028.42 11111.01,-3035.34"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_apispec -->
<g id="edge234" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_web_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.77,-3206.52C9314.29,-3200.31 9876.28,-3180.01 10341,-3166.61 10671.85,-3157.07 11500.95,-3166.35 11830,-3130.61 11913.27,-3121.57 11931.76,-3103.95 12015,-3094.61 12078.63,-3087.47 13117.43,-3099.15 13167,-3058.61 13178.46,-3049.24 13287.29,-2554.61 13289,-2539.91 13291.86,-2515.24 13296,-2507.86 13289,-2484.04 13236.89,-2306.68 13169.53,-2286 13064,-2134.21 13052.58,-2117.79 13047.92,-2114.97 13037,-2098.21 13013.2,-2061.68 13013.12,-2048.98 12989,-2012.65 12977.79,-1995.77 12971.44,-1994.03 12961,-1976.65 12912.8,-1896.4 12917.43,-1867.83 12875,-1784.38 12792.32,-1621.79 12717.91,-1604.53 12671,-1428.25 12650.72,-1352.05 12636.89,-1321.93 12671,-1250.83 12736.56,-1114.17 12809.71,-1119.69 12937,-1037.41 12967.78,-1017.52 13004.89,-998.87 13032.87,-985.77"/>
<polygon fill="#db0505" stroke="black" points="13034.13,-988.58 13041.74,-981.21 13031.19,-982.23 13034.13,-988.58"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge235" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.78,-3206.58C9314.3,-3200.56 9876.31,-3180.8 10341,-3166.61 10920.95,-3148.9 11067.06,-3169.1 11646,-3130.61 11798.06,-3120.5 11834.96,-3104.99 11987,-3094.61 12050.94,-3090.24 13091.44,-3100.43 13140,-3058.61 13186.09,-3018.92 13167.33,-2846.16 13189,-2789.33 13195.68,-2771.81 13205.75,-2771.33 13211,-2753.33 13224.28,-2707.79 13212.56,-2694.05 13213,-2646.62 13213.29,-2615.19 13219.12,-2606.73 13213,-2575.91 13204.39,-2532.57 13204.08,-2517.31 13175,-2484.04 13154.03,-2460.06 13135.36,-2470.74 13113,-2448.04 13082.4,-2416.99 13090.02,-2398.2 13065,-2362.48 13052.89,-2345.19 13045.55,-2344.16 13034,-2326.48 12982.2,-2247.17 12988.52,-2216.73 12942,-2134.21 12813.44,-1906.18 12736.97,-1875.37 12619,-1641.67 12573.42,-1551.38 12564.08,-1526.49 12540,-1428.25 12502.19,-1274 12475.09,-1231.32 12495,-1073.76"/>
<path fill="none" stroke="black" d="M12495,-1071.76C12498.59,-1045.99 12514.15,-1021.74 12529.89,-1003.08"/>
<polygon fill="#db0505" stroke="black" points="12532.11,-1005.73 12536.1,-995.92 12526.86,-1001.1 12532.11,-1005.73"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_views_base -->
<g id="edge236" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.47,-3206.38C9313.62,-3199.69 9875.96,-3178.04 10341,-3166.61 10596.62,-3160.33 12388.8,-3166.29 12642,-3130.61 12702.64,-3122.06 12714.35,-3103.09 12775,-3094.61 13071.15,-3053.22 15172.47,-3115.66 15466,-3058.61 15551.19,-3042.05 15565.2,-3013.86 15648,-2987.9 15713.01,-2967.52 15747.43,-2998.64 15797,-2951.9 15933.7,-2823.01 15863.76,-2249.65 16012,-2134.21 16093.25,-2070.95 16378.43,-2136.55 16474,-2098.21 16702.02,-2006.74 16739.52,-1932.66 16902,-1748.38 17000.55,-1636.61 16954.52,-1544.63 17080,-1464.25 17185.28,-1396.81 17260.08,-1504.71 17359,-1428.25 17462.07,-1348.58 17513.97,-1244.55 17431,-1144.12 17325.5,-1016.41 17216.44,-1140.87 17065,-1073.76"/>
</g>
<!-- ahriman_core_configuration&#45;&gt;ahriman_web_web -->
<g id="edge237" class="edge">
<title>ahriman_core_configuration&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9144.58,-3206.34C9252.53,-3201.05 9512.85,-3183.44 9724,-3130.61 9810.4,-3108.99 9829.07,-3093.52 9911,-3058.61 9979.18,-3029.56 9991.45,-3010.59 10062,-2987.9 10145.07,-2961.18 10177.26,-2991.52 10255,-2951.9 10363.83,-2896.44 10369.79,-2849.57 10445,-2753.33 10456.47,-2738.65 10456.52,-2732.8 10469,-2718.97"/>
<path fill="none" stroke="black" d="M10469,-2716.97C10497.54,-2684.97 10509.97,-2681.43 10535,-2646.62 10555.83,-2617.65 10547.4,-2600.76 10573,-2575.91 10598.67,-2550.98 10617.44,-2562.72 10645,-2539.91 10684.53,-2507.17 10684.7,-2489.48 10715,-2448.04 10742.41,-2410.55 10734.99,-2386.07 10775,-2362.48 10840.07,-2324.12 11062.5,-2382.65 11113,-2326.48 11138.43,-2298.21 11129.63,-2275.12 11113,-2240.92 11112.47,-2239.84 10978.05,-2134.79 10977,-2134.21 10934.06,-2110.79 10904.2,-2135.88 10873,-2098.21 10826.2,-2041.7 10849,-2008.25 10849,-1934.87 10849,-1934.87 10849,-1934.87 10849,-1712.03 10849,-1376.87 10887.29,-1189.4 11186,-1037.41 11788.33,-730.92 12018.6,-891.26 12677,-738.78"/>
<path fill="none" stroke="black" d="M12677,-736.78C12711.5,-727.18 13300.56,-665.65 13313,-632.07"/>
<path fill="none" stroke="black" d="M13313,-630.07C13320.53,-609.74 13329.31,-587.19 13336.54,-568.92"/>
<polygon fill="#db0505" stroke="black" points="13340.15,-570.29 13340.59,-559.7 13333.65,-567.71 13340.15,-570.29"/>
</g>
<!-- ahriman_core_configuration_configuration -->
<g id="node55" class="node">
<title>ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="10260" cy="-4251.98" rx="52.68" ry="35.36"/>
<text text-anchor="middle" x="10260" y="-4263.48" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10260" y="-4252.98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10260" y="-4242.48" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration.</text>
<text text-anchor="middle" x="10260" y="-4231.98" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration</text>
</g>
<!-- ahriman_core_configuration_configuration&#45;&gt;ahriman_core_configuration -->
<g id="edge238" class="edge">
<title>ahriman_core_configuration_configuration&#45;&gt;ahriman_core_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10255.42,-4216.45C10235.65,-4082.61 10144.71,-3594.79 9846,-3380.03 9757.3,-3316.26 9723.43,-3316.8 9618,-3288.17 9453.96,-3243.62 9253.66,-3222.86 9154.96,-3214.75"/>
<polygon fill="#a13535" stroke="black" points="9155.54,-3211.21 9145.29,-3213.89 9154.98,-3218.19 9155.54,-3211.21"/>
</g>
<!-- ahriman_core_configuration_schema -->
<g id="node56" class="node">
<title>ahriman_core_configuration_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ce3b3b" stroke="black" cx="4190" cy="-2611.26" rx="52.68" ry="35.36"/>
<text text-anchor="middle" x="4190" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4190" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4190" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration.</text>
<text text-anchor="middle" x="4190" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schema</text>
</g>
<!-- ahriman_core_configuration_schema&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge239" class="edge">
<title>ahriman_core_configuration_schema&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4140.86,-2598.22C3932.87,-2547.64 3103.97,-2349.98 2413,-2240.92 2225.43,-2211.32 827,-2209.04 714,-2056.43"/>
</g>
<!-- ahriman_core_configuration_schema&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge240" class="edge">
<title>ahriman_core_configuration_schema&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4240.14,-2599.54C4344.89,-2577.24 4594.69,-2524.55 4805,-2484.04 4944.19,-2457.24 5109.17,-2428.32 5188.99,-2414.52"/>
<polygon fill="#ce3b3b" stroke="black" points="5189.41,-2417.82 5198.67,-2412.67 5188.22,-2410.92 5189.41,-2417.82"/>
</g>
<!-- ahriman_core_configuration_validator -->
<g id="node57" class="node">
<title>ahriman_core_configuration_validator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a83838" stroke="black" cx="537" cy="-2283.7" rx="52.68" ry="35.36"/>
<text text-anchor="middle" x="537" y="-2295.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="537" y="-2284.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="537" y="-2274.2" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration.</text>
<text text-anchor="middle" x="537" y="-2263.7" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">validator</text>
</g>
<!-- ahriman_core_configuration_validator&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge241" class="edge">
<title>ahriman_core_configuration_validator&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M568.31,-2254.91C588.61,-2234.13 612.3,-2203.7 618,-2170.57"/>
<path fill="none" stroke="black" d="M618,-2168.57C629.17,-2103.69 621,-2027.33 613.49,-1980.01"/>
<polygon fill="#a83838" stroke="black" points="616.79,-1979.51 611.7,-1970.21 609.88,-1980.64 616.79,-1979.51"/>
</g>
<!-- ahriman_core_database -->
<g id="node58" class="node">
<title>ahriman_core_database</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="11340" cy="-2169.57" rx="39.42" ry="27.93"/>
<text text-anchor="middle" x="11340" y="-2175.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11340" y="-2165.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11340" y="-2154.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database</text>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge242" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11317.11,-2146.29C11236.36,-2068.98 10954.47,-1809.77 10673,-1677.67 10198.78,-1455.11 9256.35,-1841.2 9529,-1393.9"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_application_handlers_backup -->
<g id="edge243" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_application_handlers_backup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11345.85,-2141.48C11355.69,-2088.58 11369.85,-1969.82 11319,-1891.09 11300.87,-1863.03 11273.92,-1881.15 11253,-1855.09 10962.68,-1493.54 11208.3,-1246.4 10963,-852.92"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_application_handlers_users -->
<g id="edge244" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11379.65,-2167.23C11544.51,-2161.51 12191.94,-2137.65 12723,-2098.21 13666.67,-2028.13 13897.4,-1947.26 14842,-1891.09 15590.63,-1846.58 15779.24,-1871.84 16529,-1855.09 17079.59,-1842.79 17745.99,-1826.86 17943.33,-1822.13"/>
<polygon fill="#db0505" stroke="black" points="17943.37,-1825.6 17953.28,-1821.86 17943.2,-1818.6 17943.37,-1825.6"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_auth -->
<g id="edge245" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11363.15,-2146.7C11369.49,-2141.83 11376.64,-2137.22 11384,-2134.21 11514.42,-2080.85 11581.65,-2176.22 11699,-2098.21 11735.31,-2074.08 11724.33,-2049.9 11747,-2012.65 11780.62,-1957.4 11770.83,-1923.15 11827,-1891.09 11898.88,-1850.07 12488.38,-1860.01 12571,-1855.09 13349.31,-1808.79 14296.92,-1735.39 14520.24,-1717.87"/>
<polygon fill="#db0505" stroke="black" points="14520.23,-1721.3 14529.93,-1717.03 14519.68,-1714.32 14520.23,-1721.3"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge246" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11609,-2054.43C12286.59,-1892.56 14054.35,-2081.98 14743,-1976.65 14777.47,-1971.38 14815.29,-1960.41 14843.8,-1951.03"/>
<polygon fill="#db0505" stroke="black" points="14844.49,-1954.15 14852.86,-1947.66 14842.27,-1947.51 14844.49,-1954.15"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge247" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11419,-2054.43C11482.34,-1949.58 11523.85,-1926.89 11641,-1891.09 11712.76,-1869.16 14142.9,-1827.84 14520.03,-1821.55"/>
<polygon fill="#db0505" stroke="black" points="14519.9,-1825.04 14529.84,-1821.37 14519.78,-1818.04 14519.9,-1825.04"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge248" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11368.53,-2149.84C11430.56,-2109.12 11578.03,-2012.31 11652.04,-1963.73"/>
<polygon fill="#db0505" stroke="black" points="11653.69,-1966.18 11660.13,-1957.77 11649.85,-1960.33 11653.69,-1966.18"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge249" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11300.95,-2163.88C11114.17,-2141.72 10293.05,-2047.03 9617,-2012.65 8210.28,-1941.13 7855.89,-2019.24 6448,-1976.65 6152.88,-1967.73 5800.55,-1947.28 5660.17,-1938.74"/>
<polygon fill="#db0505" stroke="black" points="5660.43,-1935.18 5650.23,-1938.07 5660,-1942.17 5660.43,-1935.18"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge250" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10697,-1932.87C10183.79,-1854.22 6320.94,-1825.43 5697.76,-1821.28"/>
<polygon fill="#db0505" stroke="black" points="5698.11,-1817.78 5688.08,-1821.21 5698.06,-1824.77 5698.11,-1817.78"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_repository_repository -->
<g id="edge251" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11419,-1932.87C11410.14,-1852.1 11620.39,-1698.71 11712.65,-1635.56"/>
<polygon fill="#db0505" stroke="black" points="11714.17,-1638.08 11720.46,-1629.56 11710.23,-1632.3 11714.17,-1638.08"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge252" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11376.71,-2158.8C11443.01,-2141.06 11576.64,-2104.76 11585,-2098.21 11601.86,-2085.01 11588.17,-2061.41 11609,-2056.43"/>
<path fill="none" stroke="black" d="M11609,-2054.43C11696.13,-2033.62 11791.47,-1992.97 11851.73,-1964.89"/>
<polygon fill="#db0505" stroke="black" points="11852.89,-1967.74 11860.45,-1960.32 11849.91,-1961.41 11852.89,-1967.74"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_status_watcher -->
<g id="edge253" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11419,-1932.87C11410.82,-1865.95 11416.96,-1843.15 11450,-1784.38 11484.01,-1723.89 11511.16,-1722.66 11564,-1677.67 11623.03,-1627.41 11633.8,-1607.84 11702,-1570.96 11745.02,-1547.69 11760.71,-1553.43 11806,-1534.96 11908.86,-1493.02 11947.12,-1499.9 12032,-1428.25 12046.23,-1416.24 12038.26,-1399.56 12056,-1393.9"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge254" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11308.73,-2152.14C11217.63,-2105.39 10943.26,-1972.61 10697,-1934.87"/>
<path fill="none" stroke="black" d="M10697,-1932.87C10206.9,-1854.39 10077.21,-1902.58 9581,-1891.09 7780.97,-1849.41 7329.36,-1919.55 5530,-1855.09 5356.37,-1848.87 5152.14,-1834.05 5049.3,-1826.06"/>
<polygon fill="#db0505" stroke="black" points="5049.71,-1822.5 5039.47,-1825.21 5049.17,-1829.48 5049.71,-1822.5"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge255" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11300.72,-2166.04C11194.68,-2159.33 10893.69,-2141.14 10643,-2134.21 10559.66,-2131.91 4719.16,-2124.38 4640,-2098.21 4610.18,-2088.36 4608.79,-2074.36 4583,-2056.43"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge256" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11300.71,-2166.44C11194.63,-2160.72 10893.57,-2144.78 10643,-2134.21 10529.03,-2129.41 9720.22,-2146.78 9617,-2098.21 9570.98,-2076.56 9587.31,-2033.69 9541,-2012.65 9432.2,-1963.22 5357.52,-1991.93 5239,-1976.65 5207.03,-1972.53 5172.34,-1964.34 5143.05,-1956.29"/>
<polygon fill="#db0505" stroke="black" points="5144.1,-1952.66 5133.52,-1953.33 5142.21,-1959.4 5144.1,-1952.66"/>
</g>
<!-- ahriman_core_database&#45;&gt;ahriman_web_web -->
<g id="edge257" class="edge">
<title>ahriman_core_database&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11358,-2144.56C11374.51,-2122.18 11399.32,-2087.66 11419,-2056.43"/>
<path fill="none" stroke="black" d="M11419,-2054.43C11447.33,-2009.48 11424.35,-1987.74 11419,-1934.87"/>
<path fill="none" stroke="black" d="M11419,-1932.87C11412.35,-1867.19 11399.2,-1848.48 11415,-1784.38 11427.82,-1732.38 11438.32,-1720.11 11471,-1677.67 11556.68,-1566.41 11583.54,-1536.44 11704,-1464.25 11784.82,-1415.81 11852.56,-1472.84 11904,-1393.9"/>
<path fill="none" stroke="black" d="M11904,-1391.9C11949.5,-1299.47 11978.58,-1281.45 11999,-1180.47"/>
<path fill="none" stroke="black" d="M11999,-1178.47C12003.2,-1132.13 11959.78,-1098.81 11999,-1073.76"/>
</g>
<!-- ahriman_core_database_migrations&#45;&gt;ahriman_core_database_sqlite -->
<g id="edge258" class="edge">
<title>ahriman_core_database_migrations&#45;&gt;ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11560.88,-2375.93C11575.5,-2359.28 11594.12,-2338.09 11609.72,-2320.32"/>
<polygon fill="#883a3a" stroke="black" points="11612.69,-2323.25 11616.66,-2313.42 11607.43,-2318.63 11612.69,-2323.25"/>
</g>
<!-- ahriman_core_database_operations -->
<g id="node60" class="node">
<title>ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#9f0404" stroke="black" cx="11640" cy="-2405.26" rx="43.13" ry="35.36"/>
<text text-anchor="middle" x="11640" y="-2416.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11640" y="-2406.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11640" y="-2395.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="11640" y="-2385.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations</text>
</g>
<!-- ahriman_core_database_operations&#45;&gt;ahriman_core_database_sqlite -->
<g id="edge259" class="edge">
<title>ahriman_core_database_operations&#45;&gt;ahriman_core_database_sqlite</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11640.29,-2369.68C11640.39,-2357.29 11640.51,-2343.13 11640.62,-2329.97"/>
<polygon fill="#9f0404" stroke="black" points="11644.13,-2330.24 11640.71,-2320.21 11637.13,-2330.18 11644.13,-2330.24"/>
</g>
<!-- ahriman_core_database_operations_auth_operations -->
<g id="node61" class="node">
<title>ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="14127" cy="-2405.26" rx="60.1" ry="42.78"/>
<text text-anchor="middle" x="14127" y="-2422.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14127" y="-2411.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="14127" y="-2401.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="14127" y="-2390.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="14127" y="-2380.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth_operations</text>
</g>
<!-- ahriman_core_database_operations_auth_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge260" class="edge">
<title>ahriman_core_database_operations_auth_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14090.6,-2439.6C14077.03,-2450.21 14060.81,-2460.55 14044,-2466.04 13944.36,-2498.63 12261.65,-2472.17 12157,-2466.04 11986.9,-2456.08 11786.94,-2427.83 11693.35,-2413.63"/>
<polygon fill="#913030" stroke="black" points="11694.16,-2410.06 11683.75,-2412.01 11693.1,-2416.98 11694.16,-2410.06"/>
</g>
<!-- ahriman_core_database_operations_build_operations -->
<g id="node62" class="node">
<title>ahriman_core_database_operations_build_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="5778" cy="-2405.26" rx="61.16" ry="42.78"/>
<text text-anchor="middle" x="5778" y="-2422.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5778" y="-2411.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5778" y="-2401.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="5778" y="-2390.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="5778" y="-2380.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_operations</text>
</g>
<!-- ahriman_core_database_operations_build_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge261" class="edge">
<title>ahriman_core_database_operations_build_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5838.41,-2412.22C5960.41,-2425.87 6244.99,-2455.75 6485,-2466.04 6555.68,-2469.08 11513.61,-2493.06 11579,-2466.04 11590.76,-2461.19 11601.43,-2452.85 11610.45,-2443.87"/>
<polygon fill="#993333" stroke="black" points="11612.65,-2446.58 11616.94,-2436.89 11607.54,-2441.79 11612.65,-2446.58"/>
</g>
<!-- ahriman_core_database_operations_logs_operations -->
<g id="node63" class="node">
<title>ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="10913" cy="-2405.26" rx="59.57" ry="42.78"/>
<text text-anchor="middle" x="10913" y="-2422.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10913" y="-2411.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10913" y="-2401.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="10913" y="-2390.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="10913" y="-2380.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logs_operations</text>
</g>
<!-- ahriman_core_database_operations_logs_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge262" class="edge">
<title>ahriman_core_database_operations_logs_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10971.71,-2413.47C11076.24,-2427.61 11301.65,-2456.05 11493,-2466.04 11531.17,-2468.04 11543.67,-2480.64 11579,-2466.04 11590.76,-2461.19 11601.43,-2452.85 11610.45,-2443.87"/>
<polygon fill="#913030" stroke="black" points="11612.65,-2446.58 11616.94,-2436.89 11607.54,-2441.79 11612.65,-2446.58"/>
</g>
<!-- ahriman_core_database_operations_operations -->
<g id="node64" class="node">
<title>ahriman_core_database_operations_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="9992" cy="-2405.26" rx="45.25" ry="42.78"/>
<text text-anchor="middle" x="9992" y="-2422.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9992" y="-2411.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9992" y="-2401.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="9992" y="-2390.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="9992" y="-2380.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations</text>
</g>
<!-- ahriman_core_database_operations_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge263" class="edge">
<title>ahriman_core_database_operations_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10037.22,-2409.59C10165.1,-2421.56 10540.38,-2455.02 10853,-2466.04 10933.62,-2468.89 11504.45,-2496.85 11579,-2466.04 11590.76,-2461.19 11601.43,-2452.85 11610.45,-2443.87"/>
<polygon fill="#b03a3a" stroke="black" points="11612.65,-2446.58 11616.94,-2436.89 11607.54,-2441.79 11612.65,-2446.58"/>
</g>
<!-- ahriman_core_database_operations_package_operations -->
<g id="node65" class="node">
<title>ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="10988" cy="-3209.39" rx="72.83" ry="42.78"/>
<text text-anchor="middle" x="10988" y="-3226.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10988" y="-3215.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10988" y="-3205.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="10988" y="-3194.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="10988" y="-3184.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_operations</text>
</g>
<!-- ahriman_core_database_operations_package_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge264" class="edge">
<title>ahriman_core_database_operations_package_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11059.59,-3200.34C11147.96,-3189.05 11291.45,-3165.85 11331,-3130.61 11451.04,-3023.65 11380.58,-2933.87 11451,-2789.33 11459.32,-2772.26 11466.55,-2770.79 11474,-2753.33 11505.83,-2678.69 11482.99,-2649.57 11517,-2575.91 11540.24,-2525.58 11579.39,-2475.06 11607.28,-2442.41"/>
<polygon fill="#822b2b" stroke="black" points="11610.58,-2444.95 11614.47,-2435.09 11605.28,-2440.37 11610.58,-2444.95"/>
</g>
<!-- ahriman_core_database_operations_patch_operations -->
<g id="node66" class="node">
<title>ahriman_core_database_operations_patch_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="7785" cy="-2405.26" rx="63.82" ry="42.78"/>
<text text-anchor="middle" x="7785" y="-2422.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7785" y="-2411.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7785" y="-2401.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">database.</text>
<text text-anchor="middle" x="7785" y="-2390.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">operations.</text>
<text text-anchor="middle" x="7785" y="-2380.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">patch_operations</text>
</g>
<!-- ahriman_core_database_operations_patch_operations&#45;&gt;ahriman_core_database_operations -->
<g id="edge265" class="edge">
<title>ahriman_core_database_operations_patch_operations&#45;&gt;ahriman_core_database_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7847.14,-2416.07C7935.61,-2430.85 8103.11,-2456.62 8247,-2466.04 8339.36,-2472.09 11493.46,-2501.39 11579,-2466.04 11590.76,-2461.19 11601.43,-2452.85 11610.45,-2443.87"/>
<polygon fill="#993333" stroke="black" points="11612.65,-2446.58 11616.94,-2436.89 11607.54,-2441.79 11612.65,-2446.58"/>
</g>
<!-- ahriman_core_database_sqlite&#45;&gt;ahriman_core_database -->
<g id="edge266" class="edge">
<title>ahriman_core_database_sqlite&#45;&gt;ahriman_core_database</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11604.72,-2265.66C11587.4,-2257.76 11566.29,-2248.47 11547,-2240.92 11492.42,-2219.57 11428.37,-2198.38 11386.13,-2184.92"/>
<polygon fill="#993333" stroke="black" points="11387.47,-2181.36 11376.88,-2181.67 11385.36,-2188.03 11387.47,-2181.36"/>
</g>
<!-- ahriman_core_exceptions -->
<g id="node68" class="node">
<title>ahriman_core_exceptions</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="5813" cy="-4678.99" rx="44.19" ry="27.93"/>
<text text-anchor="middle" x="5813" y="-4685.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5813" y="-4674.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5813" y="-4664.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">exceptions</text>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge267" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5769.19,-4674.19C5692.3,-4666.75 5537.18,-4648.02 5495,-4615.05 5065.19,-4279.1 4929.39,-4004.37 5048,-3471.89 5143.62,-3042.62 5255.36,-2960.88 5468,-2575.91 5491.46,-2533.43 5491.38,-2516.99 5527,-2484.04 5551.82,-2461.09 5571.64,-2473.39 5594,-2448.04 5620.96,-2417.48 5601.8,-2394.51 5627,-2362.48 5644.38,-2340.39 5658.92,-2346.15 5679,-2326.48 5816.95,-2191.41 5867,-2127.94 5867,-1934.87 5867,-1934.87 5867,-1934.87 5867,-1498.61 5867,-1404.64 5808.74,-1360.91 5867,-1287.18"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge268" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5857.34,-4677.83C6387.18,-4675.88 11498.94,-4656.07 12167,-4615.05 12237.98,-4610.7 12735.31,-4564.87 12803,-4543.05 13443.09,-4336.78 13572.88,-4190.16 14123,-3803.34 14255.88,-3709.91 14253.94,-3636.86 14399,-3563.75 15322.75,-3098.2 15839.86,-3674.45 16671,-3058.61 16801.37,-2962.01 16980.73,-2567.49 16999,-2406.26"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_search -->
<g id="edge269" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5768.7,-4676.12C5607.78,-4669.17 5054.52,-4643.7 4880,-4615.05 3461.53,-4382.26 3115.76,-4178.4 1834,-3527.75 1754.26,-3487.28 1730.42,-3483.92 1655,-3435.89 1490.34,-3331.03 1482.81,-3253.49 1308,-3166.61 868.45,-2948.16 530.91,-3260.44 247,-2860.04 231.17,-2837.72 196.78,-3003.72 290,-2240.92 302.48,-2138.83 294.64,-2109.94 328,-2012.65 452.86,-1648.54 529.17,-1572.89 740,-1250.83 761.74,-1217.62 778.95,-1216.77 795,-1180.47"/>
<path fill="none" stroke="black" d="M795,-1178.47C838.53,-1081 888.26,-1071.77 909,-967.05"/>
<path fill="none" stroke="black" d="M909,-965.05C923.28,-861.53 989.55,-851.69 1085,-809.14 1595.31,-581.64 1806.53,-850.67 2334,-666.43 2338.19,-664.97 2342.38,-663.14 2346.49,-661.1"/>
<polygon fill="#f91010" stroke="black" points="2347.75,-663.86 2354.87,-656.01 2344.41,-657.7 2347.75,-663.86"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_users -->
<g id="edge270" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5857.34,-4677.8C6429.92,-4675.39 12361.18,-4649.61 12725,-4615.05 13105.92,-4578.87 13195.35,-4515.2 13553,-4379.19 13637.5,-4347.06 14229.29,-4122.89 14313,-4088.76 14570.95,-3983.59 14626.84,-3936.26 14888,-3839.34 15685.23,-3543.47 15983.23,-3695.32 16709,-3252.17 16883.06,-3145.89 16915.91,-3100.12 17056,-2951.9 17200.96,-2798.53 17198.37,-2726.71 17346,-2575.91 17391.52,-2529.41 17408.25,-2523.49 17460,-2484.04 17649.51,-2339.57 17717.03,-2329.05 17895,-2170.57"/>
<path fill="none" stroke="black" d="M17895,-2168.57C17958.09,-2073.34 17994.34,-2048.85 18002,-1934.87"/>
<path fill="none" stroke="black" d="M18002,-1932.87C18003.43,-1910.91 18003.4,-1886.47 18002.93,-1866.03"/>
<polygon fill="#f91010" stroke="black" points="18006.4,-1866.03 18002.62,-1856.13 17999.4,-1866.22 18006.4,-1866.03"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge271" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5768.82,-4676.2C5581.1,-4668.55 4848.81,-4637.81 4619,-4615.05 4005.03,-4554.26 3839.1,-4565.71 3251,-4379.19 3153.64,-4348.31 2501.64,-4051 2415,-3996.9 1972.58,-3720.64 1869.44,-3628.22 1508,-3252.17 1405.93,-3145.97 1436.16,-3060.51 1308,-2987.9 1243.43,-2951.32 1049.45,-2962.52 976,-2951.9 749.36,-2919.12 670.93,-2968.05 469,-2860.04 154.21,-2691.66 480.55,-2129.93 578.86,-1974.84"/>
<polygon fill="#f91010" stroke="black" points="582.31,-1976.95 584.73,-1966.64 576.4,-1973.19 582.31,-1976.95"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_application_lock -->
<g id="edge272" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5857.37,-4677.77C6424.17,-4674.95 12236.94,-4645.36 12594,-4615.05 12619.01,-4612.93 13015.98,-4550.33 13040,-4543.05 13109.96,-4521.87 14175.3,-4036.09 14237,-3996.9 14349.2,-3925.62 14364.53,-3890.38 14465,-3803.34 14586.51,-3698.07 14593.86,-3638.86 14736,-3563.75 14793.57,-3533.34 14817.92,-3552.83 14878,-3527.75 14995.34,-3478.77 15006.46,-3430.88 15123,-3380.03 15241.37,-3328.39 16120.17,-3106.76 16240,-3058.61 16334.58,-3020.61 16374.31,-3027.2 16443,-2951.9 16472.78,-2919.26 16466.42,-2901.74 16481,-2860.04 16533.99,-2708.51 16512.87,-2658.33 16581,-2512.97"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge273" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5800.79,-4651.93C5783.88,-4611.56 5759.61,-4533.7 5799,-4487.19 5861.91,-4412.93 5940.36,-4513.66 6015,-4451.19 6122.64,-4361.11 6052.17,-4276.02 6121,-4153.69"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge274" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5768.93,-4674.74C5729.63,-4669.24 5674.23,-4654.5 5647,-4615.05 5637.91,-4601.89 5641.99,-4594.25 5647,-4579.05 5697.54,-4425.85 5767.36,-4417.25 5863,-4287.33 6020.38,-4073.56 6016.87,-3950.34 6258,-3839.34 6377.92,-3784.13 6728.68,-3853 6851,-3803.34 6925.98,-3772.89 6989,-3765.47 6989,-3684.55 6989,-3684.55 6989,-3684.55 6989,-3498.82 6989,-3230.85 6893.4,-3151.29 6975,-2896.04 6992.73,-2840.58 7016.23,-2836.03 7051,-2789.33 7063.1,-2773.07 7072.42,-2772.5 7079,-2753.33 7089.2,-2723.6 7096.41,-2708.78 7079,-2682.62 7056.04,-2648.12 7030.78,-2663.63 6993,-2646.62 6893.55,-2601.83 6863.08,-2599.91 6772,-2539.91 6756.76,-2529.86 6751.29,-2528.05 6741,-2512.97"/>
<path fill="none" stroke="black" d="M6741,-2510.97C6715.56,-2472.01 6722.03,-2448.76 6741,-2406.26"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge275" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5769.39,-4673.53C5692.34,-4664.61 5537.57,-4641.56 5509,-4598.05"/>
<path fill="none" stroke="black" d="M5509,-4596.05C5481.8,-4554.64 5504.64,-4532.68 5485,-4487.19 5456.22,-4420.56 5393,-4424.84 5393,-4352.26 5393,-4352.26 5393,-4352.26 5393,-4250.98 5393,-4120.28 5279,-4110.6 5279,-3979.9 5279,-3979.9 5279,-3979.9 5279,-3881.12 5279,-3684.85 5067.15,-3662.73 5113,-3471.89 5184.31,-3175.09 5306.96,-3141.54 5425,-2860.04 5487.89,-2710.05 5434.09,-2635.54 5541,-2512.97"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge276" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12077,-4151.69C12017.79,-3943.95 12799,-3716.84 12799,-3500.82 12799,-3500.82 12799,-3500.82 12799,-3406.96 12799,-3127.12 12663.94,-3084.28 12557,-2825.68"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge277" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5857.6,-4678.15C6228.14,-4679.38 8835.11,-4685.18 10950,-4615.05 11246.05,-4605.24 11996.98,-4627.17 12281,-4543.05 12421.1,-4501.57 12441.92,-4456.35 12566,-4379.19 12762.78,-4256.83 12814.73,-4229.26 12999,-4088.76 13133.92,-3985.89 13154.53,-3944.09 13288,-3839.34 13343.37,-3795.88 13357.39,-3784.91 13417,-3747.48 13610.5,-3625.97 14150.3,-3407.35 14318,-3252.17 14470.94,-3110.65 14495.44,-3052.63 14575,-2860.04 14691.99,-2576.82 14577,-2477 14577,-2170.57 14577,-2170.57 14577,-2170.57 14577,-2054.43 14577,-1988.85 14573.81,-1912.98 14571.46,-1865.92"/>
<polygon fill="#f91010" stroke="black" points="14574.92,-1865.98 14570.92,-1856.17 14567.93,-1866.34 14574.92,-1865.98"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge278" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5857.4,-4678.11C6319.77,-4679.31 10247.84,-4687.32 10760,-4615.05 10788.29,-4611.06 10793.45,-4599.23 10822,-4598.05"/>
<path fill="none" stroke="black" d="M10822,-4596.05C10867.04,-4594.2 10877.16,-4583.77 10922,-4579.05 11116.21,-4558.65 11611.71,-4594.81 11800,-4543.05 11971.96,-4495.79 12113.73,-4526.22 12153,-4352.26"/>
<path fill="none" stroke="black" d="M12153,-4350.26C12154.08,-4318.9 12133.05,-4316.3 12121,-4287.33 12096.98,-4229.6 12090.99,-4214.64 12077,-4153.69"/>
<path fill="none" stroke="black" d="M12077,-4151.69C12043.67,-4066.33 11963,-4071.53 11963,-3979.9 11963,-3979.9 11963,-3979.9 11963,-3498.82 11963,-2938.84 12062.47,-2774.01 11891,-2240.92 11856.86,-2134.79 11854.07,-2101.71 11787,-2012.65 11773.48,-1994.7 11755.14,-1978.03 11738.47,-1964.77"/>
<polygon fill="#f91010" stroke="black" points="11740.98,-1961.52 11730.94,-1958.16 11736.7,-1967.05 11740.98,-1961.52"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_configuration_configuration -->
<g id="edge279" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10260,-4350.26C10267.22,-4334.22 10268.56,-4315.12 10267.62,-4298.11"/>
<polygon fill="#f91010" stroke="black" points="10271.03,-4297.96 10266.7,-4288.29 10264.06,-4298.55 10271.03,-4297.96"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge280" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5768.67,-4675.99C5635.07,-4669.65 5237.8,-4648.43 5113,-4615.05 5011.78,-4587.98 4936.3,-4614.04 4899,-4516.12"/>
<path fill="none" stroke="black" d="M4899,-4514.12C4886.71,-4503.83 4885.91,-4498.94 4875,-4487.19 4668.47,-4264.94 4589.34,-4233.97 4400,-3996.9 4376.15,-3967.04 4369.91,-3959.17 4353,-3924.9 4226.26,-3668.08 4139,-3603.49 4139,-3317.1 4139,-3317.1 4139,-3317.1 4139,-3111.61 4139,-3029.24 4207.56,-3032.2 4277,-2987.9 4311.24,-2966.05 4337.12,-2984.76 4361,-2951.9 4418.58,-2872.67 4370.47,-2606.04 4401,-2512.97"/>
<path fill="none" stroke="black" d="M4401,-2510.97C4418.1,-2456.07 4473.16,-2463.64 4477,-2406.26"/>
<path fill="none" stroke="black" d="M4477,-2404.26C4480.54,-2351.24 4457.88,-2334.28 4477,-2284.7"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge281" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5768.65,-4677.87C5643.36,-4676.89 5289.36,-4669.24 5189,-4615.05 5088.39,-4560.73 5114.86,-4488.37 5027,-4415.19 5001.33,-4393.81 4981.63,-4405.48 4961,-4379.19 4814.03,-4191.98 4716.81,-3580.04 4686,-3344.03 4620.31,-2840.92 4697.39,-2662.31 4980,-2240.92 5017.06,-2185.66 5028.4,-2169.19 5085,-2134.21 5129.12,-2106.95 5156.65,-2131.99 5196,-2098.21 5228.29,-2070.49 5205.36,-2038.72 5239,-2012.65 5284.85,-1977.13 5446.81,-1952.81 5536.72,-1941.72"/>
<polygon fill="#f91010" stroke="black" points="5537.08,-1945.08 5546.58,-1940.4 5536.23,-1938.13 5537.08,-1945.08"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_report_report -->
<g id="edge282" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10027,-4596.05C10043.01,-4564.34 10039.47,-4549.39 10027,-4516.12"/>
<path fill="none" stroke="black" d="M10027,-4514.12C9983.37,-4397.76 9799,-4476.53 9799,-4352.26 9799,-4352.26 9799,-4352.26 9799,-4059.83 9799,-3977.17 9716.11,-3994.16 9671,-3924.9 9631.97,-3864.97 9609,-3847.93 9609,-3776.41 9609,-3776.41 9609,-3776.41 9609,-3590.68 9609,-3470.74 9275.07,-3328.2 9162,-3288.17 9066.95,-3254.52 9009.15,-3323.62 8938,-3252.17 8758.65,-3072.05 8848.22,-2933.98 8886,-2682.62 8905.1,-2555.54 8972.4,-2534.76 8971,-2406.26"/>
<path fill="none" stroke="black" d="M8971,-2404.26C8961.32,-2333.28 8927.14,-2256.7 8904.06,-2211.24"/>
<polygon fill="#f91010" stroke="black" points="8906.73,-2209.76 8899.04,-2202.48 8900.5,-2212.97 8906.73,-2209.76"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge283" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12153,-4350.26C12211.98,-3781.43 12787.04,-3890.69 12955,-3344.03 12962.29,-3320.3 12959.42,-3312.6 12955,-3288.17 12909.83,-3038.44 12816.79,-2999.47 12755,-2753.33 12678.9,-2450.2 12774.92,-2347.47 12661,-2056.43"/>
<path fill="none" stroke="black" d="M12661,-2054.43C12641.28,-2017.82 12630.96,-2011.96 12609,-1976.65 12587.87,-1942.68 12543.49,-1852.37 12519,-1820.74"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge284" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10027,-4514.12C9969.47,-4401.92 10208.28,-4467.26 10260,-4352.26"/>
<path fill="none" stroke="black" d="M10260,-4350.26C10273.05,-4313.23 10221.5,-4318.79 10198,-4287.33 10187.56,-4273.35 10188.89,-4267.35 10179,-4252.98"/>
<path fill="none" stroke="black" d="M10179,-4250.98C10074.68,-4099.39 9989,-4067.13 9989,-3883.12 9989,-3883.12 9989,-3883.12 9989,-3682.55 9989,-3301.37 9814.58,-3238.4 9647,-2896.04 9588.08,-2775.66 9481.12,-2730.08 9545,-2612.26"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_status_watcher -->
<g id="edge285" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5857.34,-4677.99C6323.22,-4677.93 10314.06,-4675.66 10836,-4615.05 10909.26,-4606.55 10924.81,-4588.16 10998,-4579.05 11066.67,-4570.51 12182.31,-4576.3 12243,-4543.05 12269.33,-4528.63 12259.7,-4508.36 12281,-4487.19 12342.12,-4426.46 12373.18,-4431.03 12442,-4379.19 12492.6,-4341.08 12504,-4329.82 12551,-4287.33 12796.18,-4065.68 13407.52,-3506.18 13619,-3252.17 13721.6,-3128.94 13761.57,-3101.61 13819,-2951.9 13893.61,-2757.41 13903.77,-2684.47 13847,-2484.04 13810.85,-2356.4 13313.63,-1563.86 13226,-1464.25 13209.08,-1445.02 13196.33,-1448.77 13181,-1428.25 13171.13,-1415.04 13175.86,-1407.8 13167,-1393.9"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge286" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5768.84,-4675.98C5603.27,-4668.29 5024.81,-4639.88 4946,-4615.05 4930.91,-4610.3 4470.74,-4331.17 4457,-4323.33 4427.98,-4306.77 4416.37,-4309.07 4391,-4287.33 4011.04,-3961.79 4063,-3710.74 4063,-3210.39 4063,-3210.39 4063,-3210.39 4063,-3111.61 4063,-3044.14 4094.54,-3024.84 4151,-2987.9 4216.35,-2945.14 4269.75,-3009.03 4323,-2951.9 4394.54,-2875.13 4364.15,-2586.46 4387,-2484.04 4411.65,-2373.55 4424.07,-2347.23 4463,-2240.92 4480.7,-2192.59 4466.7,-2164.93 4508,-2134.21 4628.17,-2044.86 4718.01,-2180.69 4843,-2098.21 4879.39,-2074.2 4858.53,-2041.75 4891,-2012.65 4909.01,-1996.52 4962.11,-1974.75 5006.5,-1958.35"/>
<polygon fill="#f91010" stroke="black" points="5007.5,-1961.34 5015.69,-1954.62 5005.1,-1954.76 5007.5,-1961.34"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge287" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4899,-4514.12C4801.03,-4201.75 4519,-4210.49 4519,-3883.12 4519,-3883.12 4519,-3883.12 4519,-3590.68 4519,-3402.1 4433.03,-3340.92 4505,-3166.61 4575.68,-2995.41 4950.01,-2693.63 5093,-2575.91 5171.86,-2510.97 5199.2,-2505 5284,-2448.04 5289.25,-2444.52 5294.74,-2440.83 5300.2,-2437.15"/>
<polygon fill="#f91010" stroke="black" points="5301.95,-2439.51 5308.29,-2431.03 5298.04,-2433.71 5301.95,-2439.51"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_upload_upload -->
<g id="edge288" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5509,-4596.05C5504.76,-4586.97 5621,-4263 5621,-4252.98 5621,-4252.98 5621,-4252.98 5621,-4151.69 5621,-3836.16 5929.48,-3890.66 6091,-3619.62 6148.92,-3522.43 6131.18,-3483.47 6177,-3380.03 6235.21,-3248.63 6227.88,-3196.74 6329,-3094.61 6352.51,-3070.87 6372.45,-3083.27 6395,-3058.61 6431.49,-3018.7 6616.39,-2658.89 6589,-2612.26"/>
<path fill="none" stroke="black" d="M6589,-2610.26C6567.63,-2577.78 6551.08,-2576.15 6537,-2539.91 6526.14,-2511.93 6522.66,-2478.33 6521.88,-2451.82"/>
<polygon fill="#f91010" stroke="black" points="6525.37,-2451.87 6521.7,-2441.93 6518.37,-2451.99 6525.37,-2451.87"/>
</g>
<!-- ahriman_core_util -->
<g id="node135" class="node">
<title>ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c70505" stroke="black" cx="7416" cy="-4351.26" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="7416" y="-4357.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7416" y="-4347.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="7416" y="-4336.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">util</text>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_core_util -->
<g id="edge289" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5845.83,-4659.94C5938.95,-4610.04 6214.18,-4471.42 6463,-4434.19"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_migration_result -->
<g id="edge290" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_migration_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10746,-4596.05C10774.48,-4593.81 10779.83,-4583.83 10808,-4579.05 11122.32,-4525.8 11504.09,-4517.29 11659.77,-4516.16"/>
<polygon fill="#f91010" stroke="black" points="11659.6,-4519.66 11669.58,-4516.09 11659.56,-4512.66 11659.6,-4519.66"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_package -->
<g id="edge291" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5813.09,-4650.71C5814.84,-4608.3 5824.99,-4527.27 5875,-4487.19 5941.01,-4434.28 6191.64,-4508.37 6254,-4451.19 6332.12,-4379.56 6247.32,-4310.25 6297,-4216.62 6392.71,-4036.25 6545.67,-4075.89 6613,-3883.12"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_repository_paths -->
<g id="edge292" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_repository_paths</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5857.4,-4678.03C6287.64,-4678.38 9722.12,-4678.56 10746,-4598.05"/>
<path fill="none" stroke="black" d="M10746,-4596.05C10771.79,-4594.03 10830.46,-4565.18 10872.77,-4542.71"/>
<polygon fill="#f91010" stroke="black" points="10874.17,-4545.4 10881.33,-4537.6 10870.87,-4539.23 10874.17,-4545.4"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_models_result -->
<g id="edge293" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5857.33,-4677.73C6306.27,-4675.07 10014.06,-4651.51 10027,-4598.05"/>
<path fill="none" stroke="black" d="M10027,-4596.05C10041.74,-4535.14 9821.24,-4502.33 9785,-4451.19 9723.46,-4364.38 9761.13,-4320.26 9737,-4216.62 9727.43,-4175.52 9728.61,-4163.96 9713,-4124.76 9682.26,-4047.56 9668.65,-4030.32 9623,-3960.9 9611.86,-3943.96 9606.88,-3941.32 9595,-3924.9 9509.51,-3806.72 9345.52,-3467.77 9229,-3380.03 9080.92,-3268.52 9002.35,-3325.27 8832,-3252.17 8780.13,-3229.91 8637.82,-3179.14 8609,-3130.61 8600.83,-3116.85 8603.81,-3109.74 8609,-3094.61 8615.58,-3075.44 8630.03,-3077.64 8637,-3058.61 8675.01,-2954.84 8664.9,-2821.16 8656.74,-2756.84"/>
<polygon fill="#f91010" stroke="black" points="8660.09,-2756.48 8655.3,-2747.03 8653.15,-2757.4 8660.09,-2756.48"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge294" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5857.66,-4677.96C6325.6,-4677.68 10337.25,-4673.55 11532,-4615.05 11900.5,-4597.01 11998.62,-4622.1 12359,-4543.05 12662.64,-4476.46 12755.61,-4465.99 13010,-4287.33 13141.02,-4195.32 13142.79,-4136.33 13265,-4032.9 13485.16,-3846.57 13556.84,-3821.19 13793,-3655.62 14077.51,-3456.15 14911.27,-3062.42 15070,-2753.33 15080.42,-2733.03 15125.83,-2519.44 15038,-2012.65 15028.36,-1957.01 15029.02,-1940.13 15001,-1891.09 14982.04,-1857.91 14587.18,-1408.85 14498,-1357.54 14437.82,-1322.92 14400.09,-1365.06 14346,-1321.54 14318.83,-1299.68 14333.71,-1278.12 14312,-1250.83 14296.05,-1230.79 14278.1,-1237.91 14267,-1214.83 14253.39,-1186.5 14252.17,-1171.83 14267,-1144.12 14280.61,-1118.69 14305.3,-1132.31 14321,-1108.12 14355.62,-1054.77 14301.68,-1013.62 14345,-967.05"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_package -->
<g id="edge295" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10822,-4596.05C10831.78,-4595.66 10827.22,-4583.38 10836,-4579.05 10945.82,-4525.01 11818.09,-4572.09 11937,-4543.05 12214.94,-4475.19 12256.91,-4372.64 12469,-4180.62 12529.32,-4126.01 13458.97,-3205.83 13490,-3130.61 13565.99,-2946.4 13521.89,-2875.54 13472,-2682.62 13420.06,-2481.76 13412.09,-2427.32 13321,-2240.92 13137.02,-1864.44 12900.24,-1843.36 12843,-1428.25 12812.63,-1208 12739.49,-1089.6 12895,-930.7 12931.67,-893.22 13081.89,-869.04 13160.51,-858.69"/>
<polygon fill="#f91010" stroke="black" points="13160.64,-862.07 13170.11,-857.32 13159.75,-855.13 13160.64,-862.07"/>
</g>
<!-- ahriman_core_exceptions&#45;&gt;ahriman_web_web -->
<g id="edge296" class="edge">
<title>ahriman_core_exceptions&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10179,-4250.98C10170.29,-4235.86 10186.33,-4229.59 10198,-4216.62 10311.93,-4090 10398.02,-4123.48 10512,-3996.9 10640.27,-3854.45 10673.03,-3805.21 10721,-3619.62 10779.43,-3393.57 10651.19,-3322.26 10703,-3094.61 10759.75,-2845.26 10820.75,-2795.38 10952,-2575.91 11022.43,-2458.13 11091.46,-2456.95 11134,-2326.48 11208.92,-2096.7 11010.59,-2012.3 11091,-1784.38 11193.73,-1493.19 10938.17,-1751.17 11999,-1073.76"/>
<path fill="none" stroke="black" d="M11999,-1071.76C12099.69,-981.44 12460.47,-936.27 12567,-852.92"/>
<path fill="none" stroke="black" d="M12567,-850.92C12584.75,-835.27 12583.88,-826.46 12600,-809.14 12631.58,-775.2 12632.34,-751.21 12677,-738.78"/>
</g>
<!-- ahriman_core_formatters -->
<g id="node69" class="node">
<title>ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#950303" stroke="black" cx="1864" cy="-2511.97" rx="43.13" ry="27.93"/>
<text text-anchor="middle" x="1864" y="-2518.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1864" y="-2507.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1864" y="-2497.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters</text>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_application_application -->
<g id="edge297" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2703,-2404.26C3393.56,-2299.05 3610.49,-2456.86 4262,-2204.92 4313.11,-2185.16 4311.6,-2153.2 4363,-2134.21 4440.7,-2105.52 4672.35,-2153.54 4734,-2098.21 4803.97,-2035.42 4746.15,-1979.9 4777,-1891.09 4864.01,-1640.61 4847.28,-1535.35 5044,-1357.54 5307.48,-1119.4 5443.92,-1149.02 5791,-1073.76"/>
<path fill="none" stroke="black" d="M5791,-1071.76C5971.72,-1003.26 9034.34,-971.9 9493.57,-967.58"/>
<polygon fill="#950303" stroke="black" points="9493.27,-971.07 9503.24,-967.48 9493.21,-964.07 9493.27,-971.07"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_dump -->
<g id="edge298" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_dump</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1907.35,-2508.8C2056.7,-2499.76 2533.44,-2457.06 2399,-2284.7"/>
<path fill="none" stroke="black" d="M2399,-2282.7C2106,-1736.57 1123.78,-2667.95 1023,-2056.43"/>
<path fill="none" stroke="black" d="M1023,-2054.43C949.41,-1991.11 800.77,-1309.88 781,-1214.83 770.14,-1162.61 710.96,-791.51 719,-738.78"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge299" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2399,-850.92C2394.24,-801.31 2361.74,-771.88 2399,-738.78"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_remove_unknown -->
<g id="edge300" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_remove_unknown</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1023,-2054.43C1006.88,-1951.83 1023,-1924.6 1023,-1820.74 1023,-1820.74 1023,-1820.74 1023,-850.92 1023,-732.27 1916.8,-657.2 2184.88,-637.36"/>
<polygon fill="#950303" stroke="black" points="2184.95,-640.79 2194.67,-636.56 2184.44,-633.81 2184.95,-640.79"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_search -->
<g id="edge301" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2399,-2282.7C2337.62,-2203.05 2399,-2157 2399,-2056.43 2399,-2056.43 2399,-2056.43 2399,-1071.76 2399,-974.5 2407.01,-949.85 2399,-852.92"/>
<path fill="none" stroke="black" d="M2399,-850.92C2393.98,-798.54 2322.47,-774.62 2361,-738.78"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge302" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2399,-2282.7C2366.55,-2240.75 2475,-2109.48 2475,-2056.43 2475,-2056.43 2475,-2056.43 2475,-1712.03 2475,-1630.01 2508.53,-1614.88 2527,-1534.96 2541.32,-1473 2551,-1457.49 2551,-1393.9 2551,-1393.9 2551,-1393.9 2551,-1071.76 2551,-989.74 2587.64,-975.27 2603,-894.7 2617.37,-819.33 2623.21,-730.1 2625.53,-677.45"/>
<polygon fill="#950303" stroke="black" points="2629.06,-677.92 2625.97,-667.78 2622.06,-677.63 2629.06,-677.92"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_shell -->
<g id="edge303" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_shell</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1820.77,-2510C1635.99,-2504.71 922,-2472.13 922,-2284.7 922,-2284.7 922,-2284.7 922,-2168.57 922,-1762.46 681,-1693.29 681,-1287.18 681,-1287.18 681,-1287.18 681,-1178.47 681,-976.59 567,-940.66 567,-738.78 567,-738.78 567,-738.78 567,-530.79 567,-471.08 595.94,-407.38 618.1,-367.35"/>
<polygon fill="#950303" stroke="black" points="621.55,-369.37 623.43,-358.95 615.46,-365.93 621.55,-369.37"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_status -->
<g id="edge304" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1907.33,-2508.98C2020.25,-2503.31 2321.12,-2485.06 2413,-2448.04 2523.98,-2403.33 2627,-2404.35 2627,-2284.7 2627,-2284.7 2627,-2284.7 2627,-1605.32 2627,-1316.08 2754,-1256.29 2754,-967.05 2754,-967.05 2754,-967.05 2754,-850.92 2754,-790.98 2754,-721.8 2754,-677.53"/>
<polygon fill="#950303" stroke="black" points="2757.5,-677.56 2754,-667.56 2750.5,-677.56 2757.5,-677.56"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge305" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1906.97,-2508.83C2012.35,-2503.13 2291.78,-2485.46 2522,-2448.04 2603.49,-2434.8 2621.44,-2419.04 2703,-2406.26"/>
<path fill="none" stroke="black" d="M2703,-2404.26C2724.53,-2400.89 2723.13,-2034.1 2727,-2012.65 2783.16,-1701.21 2820.43,-1613.89 3006,-1357.54 3238.93,-1035.77 3263.38,-889.13 3614,-702.43 3704.94,-654 3741.81,-685.79 3843,-666.43 3875.4,-660.23 3911.41,-652.14 3940.25,-645.37"/>
<polygon fill="#950303" stroke="black" points="3941,-648.55 3949.93,-642.85 3939.39,-641.74 3941,-648.55"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_unsafe_commands -->
<g id="edge306" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_unsafe_commands</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M846,-2404.26C817.88,-2380.7 831.72,-2276.3 822,-2240.92 776.59,-2075.71 745.17,-2039.77 660,-1891.09 587.1,-1763.83 498.79,-1614.6 456.28,-1543.06"/>
<polygon fill="#950303" stroke="black" points="458.95,-1541.71 450.83,-1534.9 452.94,-1545.29 458.95,-1541.71"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_users -->
<g id="edge307" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1907.45,-2510.8C2649.64,-2507.87 12655.12,-2467.96 12951,-2448.04 13246.56,-2428.15 13316.66,-2385.36 13612,-2362.48 14229.03,-2314.7 14387.65,-2382.34 15004,-2326.48 16205.07,-2217.65 17650.32,-1900.04 17946.45,-1833.18"/>
<polygon fill="#950303" stroke="black" points="17946.91,-1836.44 17955.89,-1830.82 17945.37,-1829.61 17946.91,-1836.44"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge308" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1820.66,-2511.1C1657.44,-2511.13 1080.34,-2506.95 908,-2448.04 876.56,-2437.3 871.71,-2427.32 846,-2406.26"/>
<path fill="none" stroke="black" d="M846,-2404.26C718.07,-2299.51 806.48,-2193.5 714,-2056.43"/>
<path fill="none" stroke="black" d="M714,-2054.43C691.72,-2024.35 663.09,-1993.18 640.77,-1970.21"/>
<polygon fill="#950303" stroke="black" points="643.66,-1968.14 634.16,-1963.45 638.66,-1973.04 643.66,-1968.14"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge309" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1907.39,-2511.02C2499.55,-2511.65 8959.21,-2516.93 9350,-2448.04 9499.77,-2421.64 9934.2,-2250.41 10082.61,-2190.91"/>
<polygon fill="#950303" stroke="black" points="10083.4,-2193.96 10091.38,-2186.99 10080.8,-2187.46 10083.4,-2193.96"/>
</g>
<!-- ahriman_core_formatters&#45;&gt;ahriman_core_report_console -->
<g id="edge310" class="edge">
<title>ahriman_core_formatters&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1907.34,-2510.88C2427.39,-2509.66 7454.98,-2496.62 7598,-2448.04 7657.98,-2427.67 7652.55,-2384.36 7712,-2362.48 7834.65,-2317.36 8168.66,-2335.99 8299,-2326.48 8462.41,-2314.56 8655.94,-2297.27 8744.45,-2289.19"/>
<polygon fill="#950303" stroke="black" points="8744.58,-2292.6 8754.22,-2288.2 8743.94,-2285.63 8744.58,-2292.6"/>
</g>
<!-- ahriman_core_formatters_aur_printer -->
<g id="node70" class="node">
<title>ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="2214" cy="-2611.26" rx="45.25" ry="35.36"/>
<text text-anchor="middle" x="2214" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2214" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2214" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2214" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aur_printer</text>
</g>
<!-- ahriman_core_formatters_aur_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge311" class="edge">
<title>ahriman_core_formatters_aur_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2181.01,-2586.69C2174.29,-2582.64 2167.1,-2578.81 2160,-2575.91 2078.97,-2542.78 1978.02,-2526.12 1917.41,-2518.52"/>
<polygon fill="#913030" stroke="black" points="1917.92,-2514.93 1907.58,-2517.2 1917.08,-2521.88 1917.92,-2514.93"/>
</g>
<!-- ahriman_core_formatters_build_printer -->
<g id="node71" class="node">
<title>ahriman_core_formatters_build_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="2464" cy="-2611.26" rx="48.44" ry="35.36"/>
<text text-anchor="middle" x="2464" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2464" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2464" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2464" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_printer</text>
</g>
<!-- ahriman_core_formatters_build_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge312" class="edge">
<title>ahriman_core_formatters_build_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2428.93,-2586.35C2421.62,-2582.28 2413.76,-2578.52 2406,-2575.91 2316.32,-2545.67 2036.46,-2524.3 1917.92,-2516.37"/>
<polygon fill="#a13535" stroke="black" points="1918.17,-2512.81 1907.96,-2515.65 1917.71,-2519.8 1918.17,-2512.81"/>
</g>
<!-- ahriman_core_formatters_configuration_paths_printer -->
<g id="node72" class="node">
<title>ahriman_core_formatters_configuration_paths_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="920" cy="-2611.26" rx="94.05" ry="35.36"/>
<text text-anchor="middle" x="920" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="920" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="920" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="920" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration_paths_printer</text>
</g>
<!-- ahriman_core_formatters_configuration_paths_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge313" class="edge">
<title>ahriman_core_formatters_configuration_paths_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M985.84,-2585.63C998.05,-2581.83 1010.8,-2578.36 1023,-2575.91 1315.5,-2517.12 1675.2,-2512.05 1809.79,-2512.42"/>
<polygon fill="#a13535" stroke="black" points="1809.59,-2515.93 1819.6,-2512.47 1809.62,-2508.93 1809.59,-2515.93"/>
</g>
<!-- ahriman_core_formatters_configuration_printer -->
<g id="node73" class="node">
<title>ahriman_core_formatters_configuration_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="1105" cy="-2611.26" rx="73.36" ry="35.36"/>
<text text-anchor="middle" x="1105" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1105" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1105" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="1105" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">configuration_printer</text>
</g>
<!-- ahriman_core_formatters_configuration_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge314" class="edge">
<title>ahriman_core_formatters_configuration_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1156.68,-2585.83C1166.57,-2581.96 1176.97,-2578.41 1187,-2575.91 1413.33,-2519.39 1693.67,-2512.63 1809.75,-2512.48"/>
<polygon fill="#a13535" stroke="black" points="1809.47,-2515.98 1819.47,-2512.49 1809.47,-2508.98 1809.47,-2515.98"/>
</g>
<!-- ahriman_core_formatters_package_printer -->
<g id="node74" class="node">
<title>ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="2337" cy="-2611.26" rx="60.1" ry="35.36"/>
<text text-anchor="middle" x="2337" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2337" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2337" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2337" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_printer</text>
</g>
<!-- ahriman_core_formatters_package_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge315" class="edge">
<title>ahriman_core_formatters_package_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2294.05,-2586.36C2285.6,-2582.38 2276.67,-2578.67 2268,-2575.91 2146.39,-2537.19 1996.32,-2521.81 1917.76,-2516.09"/>
<polygon fill="#913030" stroke="black" points="1918.38,-2512.56 1908.16,-2515.35 1917.89,-2519.54 1918.38,-2512.56"/>
</g>
<!-- ahriman_core_formatters_patch_printer -->
<g id="node75" class="node">
<title>ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="1630" cy="-2611.26" rx="51.09" ry="35.36"/>
<text text-anchor="middle" x="1630" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1630" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1630" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="1630" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">patch_printer</text>
</g>
<!-- ahriman_core_formatters_patch_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge316" class="edge">
<title>ahriman_core_formatters_patch_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1667.89,-2587.26C1675.11,-2583.25 1682.7,-2579.28 1690,-2575.91 1731.13,-2556.87 1779.76,-2539.7 1815.15,-2528.13"/>
<polygon fill="#993333" stroke="black" points="1815.78,-2531.28 1824.22,-2524.86 1813.63,-2524.62 1815.78,-2531.28"/>
</g>
<!-- ahriman_core_formatters_printer -->
<g id="node76" class="node">
<title>ahriman_core_formatters_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="1385" cy="-2611.26" rx="45.25" ry="35.36"/>
<text text-anchor="middle" x="1385" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1385" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1385" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="1385" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">printer</text>
</g>
<!-- ahriman_core_formatters_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge317" class="edge">
<title>ahriman_core_formatters_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1417.9,-2586.7C1424.93,-2582.54 1432.5,-2578.67 1440,-2575.91 1566.85,-2529.19 1727.16,-2517.09 1809.58,-2514"/>
<polygon fill="#b03a3a" stroke="black" points="1809.57,-2517.46 1819.44,-2513.62 1809.33,-2510.47 1809.57,-2517.46"/>
</g>
<!-- ahriman_core_formatters_status_printer -->
<g id="node77" class="node">
<title>ahriman_core_formatters_status_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="2584" cy="-2611.26" rx="53.21" ry="35.36"/>
<text text-anchor="middle" x="2584" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2584" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2584" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2584" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status_printer</text>
</g>
<!-- ahriman_core_formatters_status_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge318" class="edge">
<title>ahriman_core_formatters_status_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2545.76,-2586.25C2537.83,-2582.19 2529.34,-2578.46 2521,-2575.91 2408.58,-2541.45 2054.16,-2521.8 1918.01,-2515.35"/>
<polygon fill="#a13535" stroke="black" points="1918.2,-2511.81 1908.05,-2514.84 1917.88,-2518.8 1918.2,-2511.81"/>
</g>
<!-- ahriman_core_formatters_string_printer -->
<g id="node78" class="node">
<title>ahriman_core_formatters_string_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="2100" cy="-2611.26" rx="51.09" ry="35.36"/>
<text text-anchor="middle" x="2100" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="2100" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="2100" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="2100" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">string_printer</text>
</g>
<!-- ahriman_core_formatters_string_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge319" class="edge">
<title>ahriman_core_formatters_string_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2062.12,-2587.24C2054.9,-2583.23 2047.3,-2579.27 2040,-2575.91 1998.29,-2556.69 1948.9,-2539.49 1913.08,-2527.94"/>
<polygon fill="#b03a3a" stroke="black" points="1914.48,-2524.4 1903.89,-2524.69 1912.35,-2531.07 1914.48,-2524.4"/>
</g>
<!-- ahriman_core_formatters_tree_printer -->
<g id="node79" class="node">
<title>ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="1745" cy="-2611.26" rx="45.79" ry="35.36"/>
<text text-anchor="middle" x="1745" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1745" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1745" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="1745" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">tree_printer</text>
</g>
<!-- ahriman_core_formatters_tree_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge320" class="edge">
<title>ahriman_core_formatters_tree_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1775.96,-2584.95C1792.26,-2571.63 1812.31,-2555.23 1829.15,-2541.46"/>
<polygon fill="#993333" stroke="black" points="1831.11,-2543.57 1836.64,-2534.53 1826.68,-2538.15 1831.11,-2543.57"/>
</g>
<!-- ahriman_core_formatters_update_printer -->
<g id="node80" class="node">
<title>ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="1864" cy="-2611.26" rx="54.8" ry="35.36"/>
<text text-anchor="middle" x="1864" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1864" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1864" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="1864" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update_printer</text>
</g>
<!-- ahriman_core_formatters_update_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge321" class="edge">
<title>ahriman_core_formatters_update_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1864,-2575.41C1864,-2567.56 1864,-2559.18 1864,-2551.19"/>
<polygon fill="#993333" stroke="black" points="1867.5,-2551.26 1864,-2541.26 1860.5,-2551.26 1867.5,-2551.26"/>
</g>
<!-- ahriman_core_formatters_user_printer -->
<g id="node81" class="node">
<title>ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="1984" cy="-2611.26" rx="47.38" ry="35.36"/>
<text text-anchor="middle" x="1984" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1984" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1984" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="1984" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user_printer</text>
</g>
<!-- ahriman_core_formatters_user_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge322" class="edge">
<title>ahriman_core_formatters_user_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1952.47,-2584.7C1936.03,-2571.37 1915.88,-2555.04 1898.96,-2541.32"/>
<polygon fill="#993333" stroke="black" points="1901.42,-2538 1891.45,-2534.42 1897.01,-2543.44 1901.42,-2538"/>
</g>
<!-- ahriman_core_formatters_validation_printer -->
<g id="node82" class="node">
<title>ahriman_core_formatters_validation_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="1259" cy="-2611.26" rx="62.76" ry="35.36"/>
<text text-anchor="middle" x="1259" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1259" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1259" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="1259" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">validation_printer</text>
</g>
<!-- ahriman_core_formatters_validation_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge323" class="edge">
<title>ahriman_core_formatters_validation_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1303.82,-2586.12C1312.63,-2582.17 1321.95,-2578.52 1331,-2575.91 1501.01,-2526.77 1712.14,-2515.9 1809.79,-2513.57"/>
<polygon fill="#a13535" stroke="black" points="1809.65,-2517.05 1819.57,-2513.33 1809.49,-2510.05 1809.65,-2517.05"/>
</g>
<!-- ahriman_core_formatters_version_printer -->
<g id="node83" class="node">
<title>ahriman_core_formatters_version_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#a13535" stroke="black" cx="1505" cy="-2611.26" rx="56.39" ry="35.36"/>
<text text-anchor="middle" x="1505" y="-2622.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1505" y="-2612.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="1505" y="-2601.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">formatters.</text>
<text text-anchor="middle" x="1505" y="-2591.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">version_printer</text>
</g>
<!-- ahriman_core_formatters_version_printer&#45;&gt;ahriman_core_formatters -->
<g id="edge324" class="edge">
<title>ahriman_core_formatters_version_printer&#45;&gt;ahriman_core_formatters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1545.83,-2586.51C1553.68,-2582.57 1561.96,-2578.83 1570,-2575.91 1651.52,-2546.28 1751.07,-2528.6 1810.91,-2519.84"/>
<polygon fill="#a13535" stroke="black" points="1811.2,-2523.19 1820.6,-2518.31 1810.21,-2516.26 1811.2,-2523.19"/>
</g>
<!-- ahriman_core_gitremote -->
<g id="node84" class="node">
<title>ahriman_core_gitremote</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b62020" stroke="black" cx="5323" cy="-1713.03" rx="39.95" ry="27.93"/>
<text text-anchor="middle" x="5323" y="-1719.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5323" y="-1708.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5323" y="-1698.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">gitremote</text>
</g>
<!-- ahriman_core_gitremote_remote_pull&#45;&gt;ahriman_core_gitremote_remote_pull_trigger -->
<g id="edge325" class="edge">
<title>ahriman_core_gitremote_remote_pull&#45;&gt;ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4609.25,-2159.39C4704.31,-2140.12 4925.55,-2095.26 5042.1,-2071.62"/>
<polygon fill="#732626" stroke="black" points="5042.6,-2074.89 5051.7,-2069.47 5041.21,-2068.03 5042.6,-2074.89"/>
</g>
<!-- ahriman_core_gitremote_remote_pull_trigger&#45;&gt;ahriman_core_gitremote -->
<g id="edge326" class="edge">
<title>ahriman_core_gitremote_remote_pull_trigger&#45;&gt;ahriman_core_gitremote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5137.13,-2021.17C5176.3,-1956.44 5262.44,-1814.1 5302.17,-1748.45"/>
<polygon fill="#993333" stroke="black" points="5305.5,-1750.71 5307.68,-1740.34 5299.51,-1747.08 5305.5,-1750.71"/>
</g>
<!-- ahriman_core_gitremote_remote_push&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge327" class="edge">
<title>ahriman_core_gitremote_remote_push&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5602.62,-1898.31C5603.98,-1888.19 5605.48,-1876.96 5606.91,-1866.26"/>
<polygon fill="#732626" stroke="black" points="5610.51,-1866.75 5608.37,-1856.38 5603.57,-1865.82 5610.51,-1866.75"/>
</g>
<!-- ahriman_core_gitremote_remote_push_trigger&#45;&gt;ahriman_core_gitremote -->
<g id="edge328" class="edge">
<title>ahriman_core_gitremote_remote_push_trigger&#45;&gt;ahriman_core_gitremote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5554.66,-1797.67C5499.69,-1777.83 5418.47,-1748.5 5368.24,-1730.36"/>
<polygon fill="#732626" stroke="black" points="5369.61,-1726.77 5359.01,-1726.67 5367.23,-1733.36 5369.61,-1726.77"/>
</g>
<!-- ahriman_core_log -->
<g id="node89" class="node">
<title>ahriman_core_log</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="9999" cy="-2611.26" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="9999" y="-2617.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9999" y="-2607.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9999" y="-2596.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log</text>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge329" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9960.81,-2610.79C9803.42,-2612.44 9189.96,-2613.51 8693,-2539.91 8589.8,-2524.62 8568.34,-2498.37 8465,-2484.04 8352.56,-2468.46 7538.35,-2511.16 7444,-2448.04 7427.05,-2436.7 7438.6,-2421.47 7425,-2406.26"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge330" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10033.02,-2598.63C10058.54,-2590.52 10094.52,-2580.39 10127,-2575.91 10790.76,-2484.34 12475.41,-2607.89 13142,-2539.91 13554.54,-2497.83 13645.65,-2406.36 14058,-2362.48 14826.71,-2280.69 15025.75,-2379.28 15797,-2326.48 15926.69,-2317.61 16840.43,-2206.53 17078.43,-2177.48"/>
<polygon fill="#d10505" stroke="black" points="17078.75,-2180.85 17088.25,-2176.16 17077.9,-2173.9 17078.75,-2180.85"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_application_lock -->
<g id="edge331" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10033.02,-2598.62C10058.54,-2590.5 10094.52,-2580.36 10127,-2575.91 10504.37,-2524.13 13174.23,-2550.12 13555,-2539.91 14783.1,-2506.95 16283.75,-2426.4 16592.76,-2409.43"/>
<polygon fill="#d10505" stroke="black" points="16592.88,-2412.88 16602.67,-2408.83 16592.49,-2405.89 16592.88,-2412.88"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge332" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9960.78,-2609.84C9783.63,-2607.63 9041.44,-2595.15 8817,-2539.91 8758.31,-2525.46 8751.29,-2500.05 8693,-2484.04 8555.84,-2446.38 8511.94,-2486.49 8375,-2448.04 8358.83,-2443.5 8341.92,-2436.36 8327.18,-2429.26"/>
<polygon fill="#d10505" stroke="black" points="8328.88,-2425.69 8318.36,-2424.38 8325.76,-2431.96 8328.88,-2425.69"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge333" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9961.04,-2608.56C9786.6,-2600.63 9066.13,-2566.53 8969,-2539.91 8800.04,-2493.59 8782.26,-2420.65 8617,-2362.48 8507.21,-2323.84 8371.78,-2301.13 8300.75,-2291.02"/>
<polygon fill="#d10505" stroke="black" points="8301.3,-2287.43 8290.91,-2289.51 8300.33,-2294.36 8301.3,-2287.43"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge334" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10033.32,-2598.77C10058.84,-2590.79 10094.69,-2580.75 10127,-2575.91 10573.84,-2508.91 10691.91,-2565.99 11143,-2539.91 11652.23,-2510.45 11783.71,-2530.99 12287,-2448.04 12328.01,-2441.28 12373.76,-2429.44 12406.83,-2420.08"/>
<polygon fill="#d10505" stroke="black" points="12407.45,-2423.26 12416.1,-2417.14 12405.52,-2416.53 12407.45,-2423.26"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_auth_auth -->
<g id="edge335" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10033.32,-2598.77C10058.84,-2590.79 10094.69,-2580.75 10127,-2575.91 10573.84,-2508.91 10691.91,-2565.99 11143,-2539.91 11652.23,-2510.45 11808.15,-2623.78 12287,-2448.04 12348.15,-2425.6 12344.14,-2382.89 12406,-2362.48 12474.54,-2339.88 14950.3,-2374.71 15004,-2326.48 15055.94,-2279.84 15010.85,-2239.31 15023,-2170.57"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge336" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9960.78,-2609.36C9752.77,-2604.38 8735.7,-2579.02 7905,-2539.91 7494.93,-2520.6 7393.13,-2502.25 6983,-2484.04 6699.83,-2471.47 5988.86,-2486.28 5708,-2448.04 5668.55,-2442.67 5624.94,-2431.77 5591.91,-2422.44"/>
<polygon fill="#d10505" stroke="black" points="5593.15,-2418.87 5582.58,-2419.48 5591.22,-2425.6 5593.15,-2418.87"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge337" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10027,-2510.97C10056.82,-2475.91 10082.02,-2493.79 10127,-2484.04 10222.97,-2463.25 10249.96,-2472.76 10345,-2448.04 10453.79,-2419.76 10473.26,-2386.81 10583,-2362.48 10754.67,-2324.43 10803.97,-2357.82 10977,-2326.48 11178.32,-2290.02 11230.74,-2280.17 11421,-2204.92 11546.18,-2155.41 11635.88,-2181.77 11685,-2056.43"/>
<path fill="none" stroke="black" d="M11685,-2054.43C11692.61,-2030.73 11695.51,-2003.11 11696.44,-1980.4"/>
<polygon fill="#d10505" stroke="black" points="11699.96,-1980.78 11696.76,-1970.68 11692.97,-1980.57 11699.96,-1980.78"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_database_migrations -->
<g id="edge338" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10033.28,-2598.61C10110.19,-2573.01 10302.77,-2511.93 10469,-2484.04 10694.41,-2446.23 10754.04,-2464.64 10982,-2448.04 11165.41,-2434.69 11382.9,-2418.06 11481.99,-2410.43"/>
<polygon fill="#d10505" stroke="black" points="11482.2,-2413.85 11491.91,-2409.59 11481.67,-2406.87 11482.2,-2413.85"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_database_operations_operations -->
<g id="edge339" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_database_operations_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10000.8,-2583.07C10003.51,-2561.81 10010.26,-2532.66 10027,-2512.97"/>
<path fill="none" stroke="black" d="M10027,-2510.97C10041.69,-2493.71 10035.33,-2470.04 10024.25,-2449.58"/>
<polygon fill="#d10505" stroke="black" points="10026.78,-2447.98 10018.69,-2441.14 10020.74,-2451.53 10026.78,-2447.98"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge340" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9960.87,-2609.46C9766.61,-2605.24 8867.58,-2584.13 8133,-2539.91 7832.52,-2521.82 7758.57,-2500.51 7458,-2484.04 7160.78,-2467.76 6412.55,-2497.33 6119,-2448.04 5994.44,-2427.13 5972.21,-2385.39 5848,-2362.48 5714.46,-2337.86 5362.71,-2380.21 5238,-2326.48 5187.02,-2304.52 5197.43,-2264.13 5147,-2240.92 5012.17,-2178.88 4962.32,-2222.99 4815,-2204.92 4748.3,-2196.74 4671.81,-2186.09 4620.97,-2178.83"/>
<polygon fill="#d10505" stroke="black" points="4621.61,-2175.24 4611.21,-2177.29 4620.61,-2182.17 4621.61,-2175.24"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge341" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9960.99,-2609.33C9802.26,-2605.21 9176.85,-2586.74 8665,-2539.91 8473.96,-2522.43 8428.12,-2500.65 8237,-2484.04 8145.48,-2476.09 7496.38,-2481.95 7411,-2448.04 7135.89,-2338.79 7181.24,-2124.07 6907,-2012.65 6877.76,-2000.77 5916.34,-1951.08 5660.18,-1938.03"/>
<polygon fill="#d10505" stroke="black" points="5660.4,-1934.48 5650.23,-1937.47 5660.04,-1941.47 5660.4,-1934.48"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_report_report -->
<g id="edge342" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9962.96,-2601.98C9873.43,-2581.45 9633.62,-2526.81 9433,-2484.04 9354.49,-2467.31 9329.08,-2481.26 9256,-2448.04 9117.99,-2385.32 9107.86,-2329.73 8985,-2240.92 8964.34,-2225.99 8940.9,-2209.91 8921.6,-2196.9"/>
<polygon fill="#d10505" stroke="black" points="8923.74,-2193.45 8913.49,-2190.78 8919.84,-2199.26 8923.74,-2193.45"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge343" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10026.23,-2591.34C10068.3,-2563.11 10152.54,-2510.45 10232,-2484.04 10336.86,-2449.19 10370.02,-2471.49 10478,-2448.04 10611.41,-2419.08 10638.45,-2385.59 10773,-2362.48 11045.91,-2315.62 11128.26,-2400.84 11395,-2326.48 11473.43,-2304.62 11479.17,-2264.85 11557,-2240.92 11626.24,-2219.63 11827.24,-2253.48 11881,-2204.92 11931.1,-2159.67 11900.31,-2122.74 11913,-2056.43"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge344" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9969.76,-2592.91C9942.41,-2575.5 9901.86,-2546.51 9875,-2512.97"/>
</g>
<!-- ahriman_core_spawn -->
<g id="node111" class="node">
<title>ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b62020" stroke="black" cx="13095" cy="-2511.97" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="13095" y="-2518.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13095" y="-2507.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13095" y="-2497.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">spawn</text>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_spawn -->
<g id="edge345" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10033.29,-2598.57C10058.8,-2590.49 10094.64,-2580.41 10127,-2575.91 10397.75,-2538.19 12313.79,-2549.14 12587,-2539.91 12755.83,-2534.2 12955.96,-2521.98 13046.37,-2516.17"/>
<polygon fill="#d10505" stroke="black" points="13046.35,-2519.62 13056.1,-2515.48 13045.9,-2512.63 13046.35,-2519.62"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_status_watcher -->
<g id="edge346" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10033.78,-2599.77C10059.38,-2592.34 10095.13,-2582.54 10127,-2575.91 10503.15,-2497.56 10602.62,-2508.88 10982,-2448.04 10986.94,-2447.25 11687.19,-2327.86 11692,-2326.48 11829.95,-2287.14 11860.53,-2264.55 11991,-2204.92 12194.25,-2112.03 12255.55,-2104.26 12439,-1976.65 12504.47,-1931.11 12521.26,-1917.44 12571,-1855.09 12729.93,-1655.88 12656.37,-1515.94 12856,-1357.54 12910.55,-1314.26 12991.28,-1297.56 13042.5,-1291.15"/>
<polygon fill="#d10505" stroke="black" points="13042.74,-1294.53 13052.27,-1289.9 13041.93,-1287.58 13042.74,-1294.53"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_status_web_client -->
<g id="edge347" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10033.66,-2599.15C10059.2,-2591.41 10094.93,-2581.5 10127,-2575.91 10369.08,-2533.68 10983.83,-2500.69 11229,-2484.04 11533.61,-2463.36 11611.18,-2478.14 11915,-2448.04 11996.63,-2439.96 12090.62,-2425.16 12147.91,-2415.52"/>
<polygon fill="#d10505" stroke="black" points="12148.24,-2418.85 12157.51,-2413.73 12147.07,-2411.95 12148.24,-2418.85"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge348" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9960.78,-2609.16C9801.19,-2604.61 9172.18,-2586.91 8655,-2575.91 7713.74,-2555.88 7476.28,-2604.02 6537,-2539.91 6328.89,-2525.7 6278.88,-2501.24 6071,-2484.04 5983.76,-2476.83 5365.09,-2481.02 5284,-2448.04 5278.82,-2445.94 5273.84,-2443.01 5269.17,-2439.66"/>
<polygon fill="#d10505" stroke="black" points="5271.63,-2436.34 5261.64,-2432.82 5267.25,-2441.81 5271.63,-2436.34"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge349" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9960.78,-2609.23C9801.18,-2604.92 9172.15,-2588.08 8655,-2575.91 7911.92,-2558.41 7725.38,-2576.59 6983,-2539.91 6661.54,-2524.02 6582.23,-2503.91 6261,-2484.04 5915.96,-2462.71 5824.71,-2506.58 5484,-2448.04 5456.58,-2443.33 5426.97,-2434.84 5402.23,-2426.74"/>
<polygon fill="#d10505" stroke="black" points="5403.53,-2423.15 5392.94,-2423.3 5401.32,-2429.79 5403.53,-2423.15"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_core_upload_upload -->
<g id="edge350" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9960.79,-2609.14C9791.05,-2604 9088.44,-2581.21 8513,-2539.91 8254.69,-2521.36 8191.46,-2500.33 7933,-2484.04 7397.82,-2450.32 7259.64,-2510.07 6727,-2448.04 6672.61,-2441.71 6611.17,-2428.25 6570.06,-2418.31"/>
<polygon fill="#d10505" stroke="black" points="6571.09,-2414.71 6560.55,-2415.73 6569.43,-2421.51 6571.09,-2414.71"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_models_package -->
<g id="edge351" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9984.44,-2637.37C9936.4,-2718.4 9774.93,-2976.58 9582,-3130.61 9485.76,-3207.45 9451.72,-3219.44 9333,-3252.17 8678.58,-3432.57 8486.77,-3315.69 7811,-3380.03 7397.11,-3419.44 6897.85,-3475.68 6743.08,-3493.32"/>
<polygon fill="#d10505" stroke="black" points="6743.08,-3489.91 6733.54,-3494.52 6743.87,-3496.86 6743.08,-3489.91"/>
</g>
<!-- ahriman_core_log&#45;&gt;ahriman_web_web -->
<g id="edge352" class="edge">
<title>ahriman_core_log&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10027,-2510.97C10128.67,-2392.68 10194.54,-2403.61 10345,-2362.48 10424.9,-2340.65 10660.33,-2387.82 10716,-2326.48 10741.56,-2298.33 10718.36,-2278.88 10716,-2240.92 10708.65,-2122.79 10690.35,-2094.79 10683,-1976.65 10673.73,-1827.54 10696.81,-1790.4 10711,-1641.67 10744.4,-1291.62 10773,-1204.56 10773,-852.92 10773,-852.92 10773,-852.92 10773,-736.78 10773,-459.08 12992.9,-610.04 13266,-559.72 13279.69,-557.19 13294.26,-553.12 13307.39,-548.89"/>
<polygon fill="#d10505" stroke="black" points="13308.19,-551.98 13316.57,-545.5 13305.98,-545.34 13308.19,-551.98"/>
</g>
<!-- ahriman_core_log_filtered_access_logger -->
<g id="node90" class="node">
<title>ahriman_core_log_filtered_access_logger</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="13553" cy="-1072.76" rx="80.26" ry="35.36"/>
<text text-anchor="middle" x="13553" y="-1084.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13553" y="-1073.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13553" y="-1063.26" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="13553" y="-1052.76" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">filtered_access_logger</text>
</g>
<!-- ahriman_core_log_filtered_access_logger&#45;&gt;ahriman_web_web -->
<g id="edge353" class="edge">
<title>ahriman_core_log_filtered_access_logger&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13566.64,-1037.54C13592.72,-965.86 13640.11,-798.65 13558,-702.43 13484.46,-616.25 13274.46,-738.6 13313,-632.07"/>
</g>
<!-- ahriman_core_log_http_log_handler&#45;&gt;ahriman_core_log_log -->
<g id="edge354" class="edge">
<title>ahriman_core_log_http_log_handler&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11534.05,-2813.37C11481.77,-2802.81 11404.28,-2783.58 11342,-2753.33 11338.82,-2751.78 11335.63,-2750.02 11332.49,-2748.12"/>
<polygon fill="#a13535" stroke="black" points="11334.59,-2744.66 11324.3,-2742.13 11330.77,-2750.52 11334.59,-2744.66"/>
</g>
<!-- ahriman_core_log_journal_handler -->
<g id="node92" class="node">
<title>ahriman_core_log_journal_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ac4949" stroke="black" cx="11408" cy="-2717.97" rx="57.45" ry="35.36"/>
<text text-anchor="middle" x="11408" y="-2729.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11408" y="-2718.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11408" y="-2708.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="11408" y="-2697.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">journal_handler</text>
</g>
<!-- ahriman_core_log_lazy_logging -->
<g id="node93" class="node">
<title>ahriman_core_log_lazy_logging</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="10049" cy="-2717.97" rx="50.03" ry="35.36"/>
<text text-anchor="middle" x="10049" y="-2729.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10049" y="-2718.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="10049" y="-2708.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log.</text>
<text text-anchor="middle" x="10049" y="-2697.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">lazy_logging</text>
</g>
<!-- ahriman_core_log_lazy_logging&#45;&gt;ahriman_core_log -->
<g id="edge355" class="edge">
<title>ahriman_core_log_lazy_logging&#45;&gt;ahriman_core_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10033.32,-2684.13C10027.82,-2672.62 10021.63,-2659.65 10016.03,-2647.93"/>
<polygon fill="#c24747" stroke="black" points="10018.76,-2646.53 10011.3,-2639.01 10012.45,-2649.55 10018.76,-2646.53"/>
</g>
<!-- ahriman_core_log_log&#45;&gt;ahriman_core_log -->
<g id="edge356" class="edge">
<title>ahriman_core_log_log&#45;&gt;ahriman_core_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11256.82,-2715.71C11081.45,-2709.76 10352.2,-2683.23 10127,-2646.62 10098.91,-2642.05 10068.08,-2633.87 10043.72,-2626.64"/>
<polygon fill="#822b2b" stroke="black" points="10044.94,-2623.06 10034.36,-2623.51 10042.92,-2629.76 10044.94,-2623.06"/>
</g>
<!-- ahriman_core_report -->
<g id="node95" class="node">
<title>ahriman_core_report</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="8641" cy="-1933.87" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="8641" y="-1940.12" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8641" y="-1929.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="8641" y="-1919.12" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report</text>
</g>
<!-- ahriman_core_report_console&#45;&gt;ahriman_core_report_report -->
<g id="edge357" class="edge">
<title>ahriman_core_report_console&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8821.85,-2246.36C8831.84,-2233.77 8843.04,-2219.66 8853.04,-2207.05"/>
<polygon fill="#822b2b" stroke="black" points="8818.7,-2243.69 8815.23,-2253.7 8824.19,-2248.04 8818.7,-2243.69"/>
<polygon fill="#822b2b" stroke="black" points="8856.27,-2209.62 8859.75,-2199.61 8850.79,-2205.26 8856.27,-2209.62"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_email -->
<g id="edge360" class="edge">
<title>ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9311.6,-2164.73C9184.59,-2155.4 8854.57,-2129.94 8580,-2098.21 8492.63,-2088.12 8391.17,-2073 8332.89,-2063.99"/>
<polygon fill="#8b1818" stroke="black" points="8333.59,-2060.4 8323.18,-2062.32 8332.52,-2067.32 8333.59,-2060.4"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_html -->
<g id="edge361" class="edge">
<title>ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9330.3,-2142.28C9307.57,-2125.06 9277.88,-2102.56 9254.59,-2084.91"/>
<polygon fill="#8b1818" stroke="black" points="9257.09,-2081.66 9247.01,-2078.41 9252.86,-2087.24 9257.09,-2081.66"/>
</g>
<!-- ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_telegram -->
<g id="edge362" class="edge">
<title>ahriman_core_report_jinja_template&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9317.15,-2152.96C9277.32,-2139.57 9219.36,-2119.17 9170,-2098.21 9155.87,-2092.21 9140.75,-2085.04 9127.23,-2078.33"/>
<polygon fill="#8b1818" stroke="black" points="9129.22,-2074.91 9118.71,-2073.56 9126.08,-2081.17 9129.22,-2074.91"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_email -->
<g id="edge364" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8834.03,-2159.56C8722.12,-2138.54 8444.83,-2086.45 8332.95,-2065.44"/>
<polygon fill="#910707" stroke="black" points="8833.18,-2163.15 8843.65,-2161.55 8834.47,-2156.27 8833.18,-2163.15"/>
<polygon fill="#910707" stroke="black" points="8333.81,-2061.85 8323.33,-2063.45 8332.51,-2068.73 8333.81,-2061.85"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_html -->
<g id="edge365" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8929.36,-2157.97C8980.27,-2145.96 9063.15,-2124.57 9132,-2098.21 9146.33,-2092.73 9161.52,-2085.69 9175.02,-2078.95"/>
<polygon fill="#910707" stroke="black" points="8928.63,-2154.78 8919.69,-2160.47 8930.23,-2161.6 8928.63,-2154.78"/>
<polygon fill="#910707" stroke="black" points="9176.19,-2081.78 9183.52,-2074.13 9173.02,-2075.54 9176.19,-2081.78"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge366" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8848.24,-2152.86C8807.96,-2134.12 8740.19,-2102.59 8693.16,-2080.7"/>
<polygon fill="#910707" stroke="black" points="8695,-2077.24 8684.46,-2076.19 8692.05,-2083.58 8695,-2077.24"/>
</g>
<!-- ahriman_core_report_report&#45;&gt;ahriman_core_report_telegram -->
<g id="edge367" class="edge">
<title>ahriman_core_report_report&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8923.48,-2145.66C8958.41,-2126.36 9008.15,-2098.88 9043.18,-2079.53"/>
<polygon fill="#910707" stroke="black" points="8922.23,-2142.9 8915.17,-2150.8 8925.61,-2149.03 8922.23,-2142.9"/>
<polygon fill="#910707" stroke="black" points="9044.59,-2082.2 9051.65,-2074.3 9041.2,-2076.08 9044.59,-2082.2"/>
</g>
<!-- ahriman_core_report_report_trigger&#45;&gt;ahriman_core_report -->
<g id="edge368" class="edge">
<title>ahriman_core_report_report_trigger&#45;&gt;ahriman_core_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8641,-2019.85C8641,-2005.23 8641,-1988.15 8641,-1973.16"/>
<polygon fill="#822b2b" stroke="black" points="8644.5,-1973.17 8641,-1963.17 8637.5,-1973.17 8644.5,-1973.17"/>
</g>
<!-- ahriman_core_repository -->
<g id="node103" class="node">
<title>ahriman_core_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="11755" cy="-1499.61" rx="42.07" ry="27.93"/>
<text text-anchor="middle" x="11755" y="-1505.86" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11755" y="-1495.36" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11755" y="-1484.86" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository</text>
</g>
<!-- ahriman_core_repository&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge370" class="edge">
<title>ahriman_core_repository&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11714.02,-1492.74C11449.92,-1454.97 9987.22,-1245.73 9616.45,-1192.7"/>
<polygon fill="#db0505" stroke="black" points="9617.19,-1189.13 9606.8,-1191.17 9616.2,-1196.05 9617.19,-1189.13"/>
</g>
<!-- ahriman_core_repository&#45;&gt;ahriman_core_status_watcher -->
<g id="edge371" class="edge">
<title>ahriman_core_repository&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11797.22,-1496.91C11855,-1492.71 11959.76,-1478.19 12032,-1428.25 12047.32,-1417.66 12038.26,-1399.56 12056,-1393.9"/>
<path fill="none" stroke="black" d="M12056,-1391.9C12243.6,-1332.02 12862.63,-1298.17 13041.93,-1289.46"/>
<polygon fill="#db0505" stroke="black" points="13042.03,-1292.91 13051.85,-1288.93 13041.7,-1285.92 13042.03,-1292.91"/>
</g>
<!-- ahriman_core_repository_cleaner -->
<g id="node104" class="node">
<title>ahriman_core_repository_cleaner</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b42d2d" stroke="black" cx="11913" cy="-1819.74" rx="43.66" ry="35.36"/>
<text text-anchor="middle" x="11913" y="-1831.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="11913" y="-1820.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="11913" y="-1810.24" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">repository.</text>
<text text-anchor="middle" x="11913" y="-1799.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">cleaner</text>
</g>
<!-- ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_executor -->
<g id="edge372" class="edge">
<title>ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11879.49,-1796.53C11855.61,-1780.71 11823.32,-1759.3 11797.61,-1742.26"/>
<polygon fill="#b42d2d" stroke="black" points="11799.73,-1738.81 11789.46,-1736.2 11795.86,-1744.64 11799.73,-1738.81"/>
</g>
<!-- ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge373" class="edge">
<title>ahriman_core_repository_cleaner&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11913,-1784.16C11913,-1776.21 11913,-1767.64 11913,-1759.31"/>
<polygon fill="#b42d2d" stroke="black" points="11916.5,-1759.57 11913,-1749.57 11909.5,-1759.57 11916.5,-1759.57"/>
</g>
<!-- ahriman_core_repository_executor&#45;&gt;ahriman_core_repository_repository -->
<g id="edge374" class="edge">
<title>ahriman_core_repository_executor&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11755,-1677.45C11755,-1669.5 11755,-1660.93 11755,-1652.59"/>
<polygon fill="#732626" stroke="black" points="11758.5,-1652.86 11755,-1642.86 11751.5,-1652.86 11758.5,-1652.86"/>
</g>
<!-- ahriman_core_repository_repository&#45;&gt;ahriman_core_repository -->
<g id="edge375" class="edge">
<title>ahriman_core_repository_repository&#45;&gt;ahriman_core_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11755,-1570.74C11755,-1560.5 11755,-1549.24 11755,-1538.79"/>
<polygon fill="#732626" stroke="black" points="11758.5,-1538.85 11755,-1528.85 11751.5,-1538.85 11758.5,-1538.85"/>
</g>
<!-- ahriman_core_repository_repository_properties&#45;&gt;ahriman_core_repository_cleaner -->
<g id="edge376" class="edge">
<title>ahriman_core_repository_repository_properties&#45;&gt;ahriman_core_repository_cleaner</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11913,-1898.31C11913,-1888.19 11913,-1876.96 11913,-1866.26"/>
<polygon fill="#732626" stroke="black" points="11916.5,-1866.38 11913,-1856.38 11909.5,-1866.38 11916.5,-1866.38"/>
</g>
<!-- ahriman_core_repository_update_handler&#45;&gt;ahriman_core_repository_repository -->
<g id="edge377" class="edge">
<title>ahriman_core_repository_update_handler&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11874.35,-1686.41C11851.02,-1670.95 11821.27,-1651.24 11797.31,-1635.36"/>
<polygon fill="#7a2828" stroke="black" points="11799.7,-1632.08 11789.44,-1629.48 11795.84,-1637.92 11799.7,-1632.08"/>
</g>
<!-- ahriman_core_sign -->
<g id="node109" class="node">
<title>ahriman_core_sign</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f31616" stroke="black" cx="9303" cy="-2405.26" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="9303" y="-2411.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9303" y="-2401.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="9303" y="-2390.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sign</text>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge378" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9283,-2282.7C9285.73,-2252.81 9305.19,-2225.47 9324.47,-2205.28"/>
<polygon fill="#f31616" stroke="black" points="9326.51,-2208.18 9331.09,-2198.62 9321.56,-2203.24 9326.51,-2208.18"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_repository_repository -->
<g id="edge379" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9340.3,-2398.76C9404.31,-2389.55 9539.26,-2371.18 9654,-2362.48 9714.69,-2357.88 10695.24,-2355.02 10749,-2326.48 10777.58,-2311.31 11072.12,-1881.37 11091,-1855.09 11124.99,-1807.82 11133.44,-1795.96 11167,-1748.38 11177.74,-1733.16 11174.96,-1723.49 11191,-1714.03"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge380" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9340.04,-2398.72C9403.93,-2389.4 9539.08,-2370.83 9654,-2362.48 9955.76,-2340.58 10715.87,-2371.82 11015,-2326.48 11153.78,-2305.45 11180.85,-2265.73 11319,-2240.92 11416.43,-2223.43 11673.05,-2246.25 11763,-2204.92 11763.67,-2204.62 11912.85,-2057.15 11913,-2056.43"/>
<path fill="none" stroke="black" d="M11913,-2054.43C11917.62,-2030.28 11917.97,-2002.87 11917,-1980.4"/>
<polygon fill="#f31616" stroke="black" points="11920.45,-1980.27 11916.41,-1970.47 11913.46,-1980.64 11920.45,-1980.27"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge381" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9294.6,-2377.82C9287.89,-2353.69 9280.06,-2316.98 9283,-2284.7"/>
<path fill="none" stroke="black" d="M9283,-2282.7C9288.46,-2222.79 9303.51,-2058.02 9264,-2012.65 9092.16,-1815.35 8948.07,-1919.74 8688,-1891.09 8339.2,-1852.68 5880.67,-1868.1 5530,-1855.09 5356.37,-1848.66 5152.14,-1833.92 5049.3,-1826"/>
<polygon fill="#f31616" stroke="black" points="5049.71,-1822.45 5039.47,-1825.17 5049.17,-1829.43 5049.71,-1822.45"/>
</g>
<!-- ahriman_core_sign&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge382" class="edge">
<title>ahriman_core_sign&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9285.67,-2379.91C9260.4,-2343.43 9213.38,-2271.74 9185,-2204.92 9167.67,-2164.13 9167.13,-2039.67 9132,-2012.65 9089.14,-1979.69 5292.63,-1983.59 5239,-1976.65 5207.03,-1972.52 5172.34,-1964.32 5143.05,-1956.27"/>
<polygon fill="#f31616" stroke="black" points="5144.1,-1952.65 5133.53,-1953.32 5142.21,-1959.39 5144.1,-1952.65"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge383" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9672.99,-2381.07C9665.32,-2374.9 9656.92,-2368.33 9649,-2362.48 9567.57,-2302.42 9469.02,-2237.48 9412.02,-2200.64"/>
<polygon fill="#a50808" stroke="black" points="9414.2,-2197.23 9403.9,-2194.75 9410.4,-2203.11 9414.2,-2197.23"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository -->
<g id="edge384" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9732.77,-2385.71C9749.51,-2376.93 9770.73,-2367.33 9791,-2362.48 9902.81,-2335.75 10721.25,-2375.99 10825,-2326.48 10927.15,-2277.74 10898.72,-2198.33 10992,-2134.21 11030.58,-2107.69 11059.49,-2132.84 11091,-2098.21 11120.69,-2065.59 11153.85,-1737.81 11191,-1714.03"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge385" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9737.71,-2396.04C9784.09,-2386.07 9866.5,-2369.68 9938,-2362.48 10090.73,-2347.12 11173.06,-2374.04 11319,-2326.48 11382.66,-2305.74 11380.04,-2263.72 11443,-2240.92 11526.09,-2210.85 11766.05,-2254.79 11839,-2204.92 11899.88,-2163.32 11897.89,-2128.6 11913,-2056.43"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge386" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9692.94,-2370.47C9683.9,-2336.29 9667.26,-2282.69 9643,-2240.92 9611.54,-2186.78 9597.58,-2176.06 9551,-2134.21 9343.07,-1947.43 9247.31,-1933.24 8971,-1891.09 8593.02,-1833.44 5912.1,-1869.08 5530,-1855.09 5356.37,-1848.74 5152.14,-1833.97 5049.3,-1826.02"/>
<polygon fill="#a50808" stroke="black" points="5049.71,-1822.47 5039.47,-1825.18 5049.17,-1829.45 5049.71,-1822.47"/>
</g>
<!-- ahriman_core_sign_gpg&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge387" class="edge">
<title>ahriman_core_sign_gpg&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9684.62,-2373.07C9654.75,-2318.65 9586.73,-2205.36 9503,-2134.21 9412.19,-2057.05 9379.76,-2040.95 9264,-2012.65 9046.78,-1959.56 5460.78,-2005.3 5239,-1976.65 5207.03,-1972.52 5172.34,-1964.32 5143.05,-1956.28"/>
<polygon fill="#a50808" stroke="black" points="5144.1,-1952.65 5133.53,-1953.33 5142.21,-1959.39 5144.1,-1952.65"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_application_handlers_web -->
<g id="edge388" class="edge">
<title>ahriman_core_spawn&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13061.11,-2498.77C12981.85,-2470.68 12777.75,-2400.89 12602,-2362.48 12217.57,-2278.48 12116.11,-2284.26 11725,-2240.92 11677.02,-2235.61 11329.02,-2235.91 11292,-2204.92 11230.32,-2153.29 11217.46,-1933.39 11199,-1855.09 11187.89,-1807.96 11182.59,-1796.48 11177,-1748.38 11158.8,-1591.83 11167,-1551.51 11167,-1393.9 11167,-1393.9 11167,-1393.9 11167,-1285.18 11167,-571.63 11981.72,-914.61 12663,-702.43 12925.95,-620.53 13079.51,-762.37 13266,-559.72 13304.41,-517.97 13253,-480.34 13285,-433.5"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_web_views_base -->
<g id="edge389" class="edge">
<title>ahriman_core_spawn&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13013,-2404.26C13020.65,-2386.24 13011.21,-2374.06 13027,-2362.48 13116.75,-2296.67 14924.87,-2363.02 15030,-2326.48 15247.43,-2250.92 15242.77,-2127.94 15442,-2012.65 15562.61,-1942.87 15595.06,-1921.72 15731,-1891.09 15904.17,-1852.07 16369.85,-1933.72 16529,-1855.09 16630.66,-1804.87 16761.75,-1525.77 16857,-1464.25 16955.32,-1400.75 17268.58,-1389.33 17364,-1321.54 17379.18,-1310.75 17373.78,-1299.21 17388,-1287.18"/>
<path fill="none" stroke="black" d="M17388,-1285.18C17393.57,-1279.08 17410.65,-1222.98 17412,-1214.83 17417.14,-1183.83 17431.89,-1168.45 17412,-1144.12 17312.4,-1022.29 17210.63,-1133.38 17065,-1073.76"/>
</g>
<!-- ahriman_core_spawn&#45;&gt;ahriman_web_web -->
<g id="edge390" class="edge">
<title>ahriman_core_spawn&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13065.69,-2494C13036.58,-2474.74 12998.25,-2441.39 13013,-2406.26"/>
<path fill="none" stroke="black" d="M13013,-2404.26C13021.29,-2384.52 13002.25,-2379.31 12989,-2362.48 12974.61,-2344.2 12965.3,-2344.84 12951,-2326.48 12924.2,-2292.09 12925.01,-2278.56 12903,-2240.92 12874.97,-2192.99 12869.93,-2179.65 12838,-2134.21 12826.19,-2117.4 12820.51,-2115.23 12809,-2098.21 12784.57,-2062.1 12785.12,-2048.98 12761,-2012.65 12749.79,-1995.77 12744.21,-1993.54 12733,-1976.65 12708.88,-1940.33 12709.12,-1927.42 12685,-1891.09 12673.79,-1874.21 12668.92,-1871.49 12657,-1855.09 12634.66,-1824.37 12637.13,-1809.91 12609,-1784.38 12584.26,-1761.93 12567.74,-1770.84 12543,-1748.38 12514.87,-1722.86 12527.52,-1697.3 12495,-1677.67 12372.09,-1603.49 12304.46,-1701.59 12174,-1641.67 12132.07,-1622.42 12137.15,-1595.37 12098,-1570.96 12060.04,-1547.29 12029.35,-1571.82 12004,-1534.96 11968.29,-1483.05 12012.78,-1456.68 12018,-1393.9"/>
<path fill="none" stroke="black" d="M12018,-1391.9C12014.32,-1297.62 11990.49,-1274.43 11999,-1180.47"/>
</g>
<!-- ahriman_core_status -->
<g id="node112" class="node">
<title>ahriman_core_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="13093" cy="-3023.25" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="13093" y="-3029.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13093" y="-3019" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="13093" y="-3008.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status</text>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_application_lock -->
<g id="edge391" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13131.27,-3022.15C13393.25,-3021.28 14917.33,-3013.6 15113,-2951.9 15156.47,-2938.19 15156.79,-2913.23 15199,-2896.04 15274.56,-2865.27 15300.37,-2881.81 15379,-2860.04 15442.42,-2842.48 16373.57,-2506.2 16600.44,-2424.19"/>
<polygon fill="#f91010" stroke="black" points="16601.49,-2427.17 16609.71,-2420.48 16599.11,-2420.58 16601.49,-2427.17"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_core_log_http_log_handler -->
<g id="edge392" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13055.55,-3017.35C12857.16,-2991.35 11928.16,-2869.6 11663.52,-2834.92"/>
<polygon fill="#f91010" stroke="black" points="11664.27,-2831.36 11653.9,-2833.53 11663.36,-2838.3 11664.27,-2831.36"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge393" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13068.09,-3001.71C12972.98,-2922.75 12635.05,-2637 12573,-2512.97"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_web_views_base -->
<g id="edge394" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13131.27,-3022.7C13281.25,-3023.88 13843.02,-3023.01 14298,-2951.9 14648.03,-2897.19 14765.64,-2934.66 15070,-2753.33 15390.54,-2562.35 15379.1,-2403.86 15637,-2134.21 15690.56,-2078.21 15695.2,-2051.93 15762,-2012.65 15924.01,-1917.4 15982.46,-1926.67 16167,-1891.09 16255.07,-1874.11 16487.99,-1893.58 16569,-1855.09 16608.66,-1836.25 16607.14,-1815.62 16638,-1784.38 16653.9,-1768.29 16658.86,-1765.2 16674,-1748.38 16701.18,-1718.2 16868.85,-1484.6 16904,-1464.25 16991.26,-1413.73 17031.44,-1457.28 17128,-1428.25 17238.24,-1395.11 17275.43,-1395.07 17364,-1321.54 17378.33,-1309.64 17377.85,-1302.8 17388,-1287.18"/>
</g>
<!-- ahriman_core_status&#45;&gt;ahriman_web_web -->
<g id="edge395" class="edge">
<title>ahriman_core_status&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13103.38,-2996.08C13121.62,-2948.62 13158.81,-2844.78 13173,-2753.33 13185.09,-2675.4 13188.53,-2653.59 13175,-2575.91 13167.56,-2533.17 13171.23,-2516.1 13142,-2484.04 13116.55,-2456.13 13091.45,-2475.01 13065,-2448.04 13035.86,-2418.34 13051.85,-2395.86 13027,-2362.48 13012.32,-2342.77 13000.24,-2345.78 12985,-2326.48 12958.49,-2292.93 12962.09,-2278.12 12941,-2240.92 12882.07,-2136.98 12865.57,-2111.87 12799,-2012.65 12788,-1996.26 12783.77,-1993.19 12773,-1976.65 12748.97,-1939.74 12746.91,-1928.08 12723,-1891.09 12691.39,-1842.2 12690.56,-1823.02 12647,-1784.38 12622,-1762.21 12605.74,-1770.84 12581,-1748.38 12552.87,-1722.86 12563.38,-1700.48 12533,-1677.67 12491.53,-1646.53 12469.51,-1662.47 12422,-1641.67 12229.05,-1557.19 12021.41,-1604.5 12018,-1393.9"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_application_lock -->
<g id="edge396" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12290.96,-3020.41C12405.13,-3014.92 12755.42,-2998.37 13046,-2987.9 13602.31,-2967.85 13743.81,-3004.48 14298,-2951.9 14435.49,-2938.85 15392.78,-2793.22 15525,-2753.33 15597.88,-2731.34 15610.43,-2711.15 15681,-2682.62 15942.98,-2576.7 16010.78,-2552.29 16285,-2484.04 16365.02,-2464.13 16386.35,-2465.22 16467,-2448.04 16510.8,-2438.71 16560.32,-2427.36 16596.79,-2418.84"/>
<polygon fill="#9c1111" stroke="black" points="16597.25,-2422.1 16606.19,-2416.41 16595.65,-2415.28 16597.25,-2422.1"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_log_http_log_handler -->
<g id="edge397" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_core_log_http_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12217.05,-3011.55C12110.34,-2979.77 11794.41,-2885.67 11657.49,-2844.89"/>
<polygon fill="#9c1111" stroke="black" points="11658.74,-2841.31 11648.16,-2841.81 11656.74,-2848.02 11658.74,-2841.31"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge398" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12261.05,-2988.45C12263.44,-2976.93 12265.75,-2963.91 12267,-2951.9 12279.55,-2831.29 12354.01,-2496.49 12273,-2406.26"/>
<path fill="none" stroke="black" d="M12273,-2404.26C12259.37,-2389.09 12266.62,-2378.51 12254,-2362.48 12237.94,-2342.08 12220.19,-2349.41 12208,-2326.48 12175.39,-2265.14 12213.82,-2237.97 12197,-2170.57"/>
<path fill="none" stroke="black" d="M12197,-2168.57C12170.01,-2092.77 12165.95,-2065.18 12105,-2012.65 12072.63,-1984.75 12028.94,-1966 11991.42,-1953.91"/>
<polygon fill="#9c1111" stroke="black" points="11992.6,-1950.3 11982.01,-1950.67 11990.52,-1956.98 11992.6,-1950.3"/>
</g>
<!-- ahriman_core_status_client&#45;&gt;ahriman_core_status_web_client -->
<g id="edge399" class="edge">
<title>ahriman_core_status_client&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12253,-2976.51C12253,-2936.67 12253,-2877.35 12253,-2825.68 12253,-2825.68 12253,-2825.68 12253,-2716.97 12253,-2620.95 12228.54,-2510.49 12213.17,-2450.56"/>
<polygon fill="#9c1111" stroke="black" points="12249.5,-2976.46 12253,-2986.46 12256.5,-2976.46 12249.5,-2976.46"/>
<polygon fill="#9c1111" stroke="black" points="12216.32,-2449.77 12210.42,-2440.98 12209.55,-2451.54 12216.32,-2449.77"/>
</g>
<!-- ahriman_core_status_watcher&#45;&gt;ahriman_web_views_base -->
<g id="edge400" class="edge">
<title>ahriman_core_status_watcher&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13128.97,-1283.41C13361.35,-1272.57 14581.78,-1215.6 14584,-1214.83 14712.42,-1170.4 14719.88,-1112.7 14833,-1037.41 14858.26,-1020.6 14865.45,-1017.77 14891,-1001.41 14895.06,-998.81 14899.27,-996.08 14903.47,-993.33"/>
<polygon fill="#7a1e1e" stroke="black" points="14905.13,-995.78 14911.57,-987.36 14901.29,-989.92 14905.13,-995.78"/>
</g>
<!-- ahriman_core_status_watcher&#45;&gt;ahriman_web_web -->
<g id="edge401" class="edge">
<title>ahriman_core_status_watcher&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13057.31,-1269.43C13032.75,-1256.88 12999.59,-1237.67 12975,-1214.83 12906.21,-1150.93 12637.11,-747.98 12677,-738.78"/>
</g>
<!-- ahriman_core_support -->
<g id="node116" class="node">
<title>ahriman_core_support</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="4699" cy="-1713.03" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="4699" y="-1719.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4699" y="-1708.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4699" y="-1698.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support</text>
</g>
<!-- ahriman_core_support_keyring_trigger&#45;&gt;ahriman_core_support -->
<g id="edge403" class="edge">
<title>ahriman_core_support_keyring_trigger&#45;&gt;ahriman_core_support</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4935.14,-1801.09C4881.31,-1781.25 4794.62,-1749.28 4742.6,-1730.1"/>
<polygon fill="#732626" stroke="black" points="4743.96,-1726.5 4733.36,-1726.33 4741.54,-1733.07 4743.96,-1726.5"/>
</g>
<!-- ahriman_core_support_mirrorlist_trigger&#45;&gt;ahriman_core_support -->
<g id="edge404" class="edge">
<title>ahriman_core_support_mirrorlist_trigger&#45;&gt;ahriman_core_support</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4644.83,-1786.75C4654.36,-1773.95 4665.33,-1759.22 4674.9,-1746.38"/>
<polygon fill="#8a2e2e" stroke="black" points="4678.09,-1748.95 4681.26,-1738.84 4672.48,-1744.77 4678.09,-1748.95"/>
</g>
<!-- ahriman_core_support_package_creator&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge405" class="edge">
<title>ahriman_core_support_package_creator&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4586.49,-1917.6C4616.25,-1909.52 4653.56,-1899.54 4687,-1891.09 4767.19,-1870.83 4860.04,-1849.03 4920.05,-1835.16"/>
<polygon fill="#7a1e1e" stroke="black" points="4920.53,-1838.41 4929.49,-1832.75 4918.96,-1831.59 4920.53,-1838.41"/>
</g>
<!-- ahriman_core_support_package_creator&#45;&gt;ahriman_core_support_mirrorlist_trigger -->
<g id="edge406" class="edge">
<title>ahriman_core_support_package_creator&#45;&gt;ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4556.31,-1901.34C4566.46,-1888.69 4578.28,-1873.97 4589.01,-1860.6"/>
<polygon fill="#7a1e1e" stroke="black" points="4592.35,-1863.03 4595.88,-1853.04 4586.89,-1858.64 4592.35,-1863.03"/>
</g>
<!-- ahriman_core_support_pkgbuild -->
<g id="node120" class="node">
<title>ahriman_core_support_pkgbuild</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f31616" stroke="black" cx="4687" cy="-2055.43" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="4687" y="-2066.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4687" y="-2056.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4687" y="-2045.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="4687" y="-2035.43" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild</text>
</g>
<!-- ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge407" class="edge">
<title>ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4701,-1932.87C4736.62,-1853.01 4844.6,-1829.57 4916.13,-1822.96"/>
<polygon fill="#f31616" stroke="black" points="4916.17,-1826.38 4925.84,-1822.07 4915.59,-1819.41 4916.17,-1826.38"/>
</g>
<!-- ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_mirrorlist_trigger -->
<g id="edge408" class="edge">
<title>ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4685.67,-2019.76C4685.99,-1995.08 4689.04,-1961.69 4701,-1934.87"/>
<path fill="none" stroke="black" d="M4701,-1932.87C4713.82,-1904.13 4692.31,-1875.3 4668.38,-1854.07"/>
<polygon fill="#f31616" stroke="black" points="4671.12,-1850.95 4661.22,-1847.17 4666.6,-1856.3 4671.12,-1850.95"/>
</g>
<!-- ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge409" class="edge">
<title>ahriman_core_support_pkgbuild&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4658.02,-2032.23C4635.07,-2014.63 4602.58,-1989.73 4576.21,-1969.52"/>
<polygon fill="#f31616" stroke="black" points="4578.59,-1966.17 4568.52,-1962.86 4574.33,-1971.72 4578.59,-1966.17"/>
</g>
<!-- ahriman_core_support_pkgbuild_keyring_generator&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge410" class="edge">
<title>ahriman_core_support_pkgbuild_keyring_generator&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5043.7,-1895.53C5034.38,-1884.05 5024.1,-1871.38 5014.69,-1859.79"/>
<polygon fill="#7a2828" stroke="black" points="5017.04,-1858.12 5008.02,-1852.57 5011.6,-1862.54 5017.04,-1858.12"/>
</g>
<!-- ahriman_core_support_pkgbuild_mirrorlist_generator&#45;&gt;ahriman_core_support_mirrorlist_trigger -->
<g id="edge411" class="edge">
<title>ahriman_core_support_pkgbuild_mirrorlist_generator&#45;&gt;ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4315.12,-2023.71C4273.42,-1995.09 4221.69,-1954.04 4236,-1934.87"/>
</g>
<!-- ahriman_core_support_pkgbuild_pkgbuild_generator -->
<g id="node123" class="node">
<title>ahriman_core_support_pkgbuild_pkgbuild_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b62020" stroke="black" cx="4206" cy="-2055.43" rx="68.59" ry="42.78"/>
<text text-anchor="middle" x="4206" y="-2072.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4206" y="-2061.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="4206" y="-2051.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">support.</text>
<text text-anchor="middle" x="4206" y="-2040.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild.</text>
<text text-anchor="middle" x="4206" y="-2030.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild_generator</text>
</g>
<!-- ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge412" class="edge">
<title>ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4256.1,-2025.84C4265.24,-2021.13 4274.8,-2016.53 4284,-2012.65 4343.38,-1987.66 4413.68,-1966.27 4464.07,-1952.29"/>
<polygon fill="#b62020" stroke="black" points="4464.79,-1955.45 4473.51,-1949.42 4462.94,-1948.7 4464.79,-1955.45"/>
</g>
<!-- ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator -->
<g id="edge413" class="edge">
<title>ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_pkgbuild_keyring_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4254.24,-2024.84C4263.82,-2020.06 4274,-2015.69 4284,-2012.65 4317.89,-2002.36 4807.06,-1958.42 4998.23,-1941.53"/>
<polygon fill="#b62020" stroke="black" points="4998.37,-1944.94 5008.02,-1940.57 4997.75,-1937.97 4998.37,-1944.94"/>
</g>
<!-- ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator -->
<g id="edge414" class="edge">
<title>ahriman_core_support_pkgbuild_pkgbuild_generator&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4274.99,-2055.43C4277.19,-2055.43 4279.38,-2055.43 4281.57,-2055.43"/>
<polygon fill="#b62020" stroke="black" points="4281.53,-2058.93 4291.53,-2055.43 4281.53,-2051.93 4281.53,-2058.93"/>
</g>
<!-- ahriman_core_tree -->
<g id="node124" class="node">
<title>ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b62020" stroke="black" cx="5441" cy="-3316.1" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="5441" y="-3322.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5441" y="-3311.85" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5441" y="-3301.35" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">tree</text>
</g>
<!-- ahriman_core_tree&#45;&gt;ahriman_application_application_application -->
<g id="edge415" class="edge">
<title>ahriman_core_tree&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5447.61,-3288.33C5475.76,-3175.14 5589.58,-2724.93 5708,-2362.48 5731.22,-2291.41 5741.35,-2275.16 5767,-2204.92 5809.25,-2089.25 5829,-2058.02 5829,-1934.87 5829,-1934.87 5829,-1934.87 5829,-1498.61 5829,-1356.21 5728.82,-1308.58 5791,-1180.47"/>
</g>
<!-- ahriman_core_tree&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge416" class="edge">
<title>ahriman_core_tree&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5474.91,-3303.07C5635.47,-3245.88 6334.84,-2994.26 6894,-2753.33 7149.47,-2643.25 7197.61,-2579.19 7459,-2484.04 7518.97,-2462.22 7550.48,-2490.64 7598,-2448.04 7709.07,-2348.47 7608.52,-2236.6 7717,-2134.21 7931.81,-1931.47 8071.99,-2031.83 8351,-1934.87"/>
<path fill="none" stroke="black" d="M8351,-1932.87C8456.3,-1902.53 8485.39,-1905.67 8594,-1891.09 8754.87,-1869.51 9201.18,-1930.22 9321,-1820.74"/>
<path fill="none" stroke="black" d="M9321,-1818.74C9371.98,-1772.16 9631.88,-1355.34 9643,-1287.18"/>
<path fill="none" stroke="black" d="M9643,-1285.18C9649.29,-1221.9 9647.71,-1200.86 9619,-1144.12 9613.13,-1132.51 9604.69,-1121.56 9595.74,-1111.9"/>
<polygon fill="#b62020" stroke="black" points="9598.63,-1109.83 9589.14,-1105.11 9593.62,-1114.71 9598.63,-1109.83"/>
</g>
<!-- ahriman_core_tree&#45;&gt;ahriman_application_handlers_structure -->
<g id="edge417" class="edge">
<title>ahriman_core_tree&#45;&gt;ahriman_application_handlers_structure</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5418.74,-3293.22C5371.76,-3248.37 5257.19,-3145.92 5141,-3094.61 4920.4,-2997.18 4848.33,-3017.48 4609,-2987.9 4526.2,-2977.67 3928.37,-2998.25 3859,-2951.9 3734.26,-2868.56 3772.23,-2785.29 3715,-2646.62 3538.16,-2218.15 3628,-2070.84 3628,-1607.32 3628,-1607.32 3628,-1607.32 3628,-1391.9 3628,-1297.93 3612.01,-1273.07 3628,-1180.47"/>
</g>
<!-- ahriman_core_triggers -->
<g id="node125" class="node">
<title>ahriman_core_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d10505" stroke="black" cx="5285" cy="-2283.7" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="5285" y="-2289.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="5285" y="-2279.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="5285" y="-2268.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">triggers</text>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_application_handlers_validate -->
<g id="edge418" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_application_handlers_validate</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5262.51,-2260.83C5253.88,-2253.52 5243.56,-2245.95 5233,-2240.92 5198.93,-2224.71 4603.72,-2112.99 4569,-2098.21 4506.37,-2071.57 4506.89,-2033.19 4442,-2012.65 4253.86,-1953.1 1126.79,-1937.16 662.45,-1935.11"/>
<polygon fill="#d10505" stroke="black" points="662.68,-1931.61 652.67,-1935.07 662.65,-1938.61 662.68,-1931.61"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_pull_trigger -->
<g id="edge419" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_pull_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5279.35,-2255.76C5274.02,-2232.63 5265.05,-2198.66 5253,-2170.57"/>
<path fill="none" stroke="black" d="M5253,-2168.57C5237.85,-2133.27 5204.87,-2105.63 5175.17,-2086.62"/>
<polygon fill="#d10505" stroke="black" points="5177.43,-2083.29 5167.09,-2081 5173.75,-2089.24 5177.43,-2083.29"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge420" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5253,-2054.43C5246.18,-2001.74 5225.03,-1980.05 5253,-1934.87"/>
<path fill="none" stroke="black" d="M5253,-1932.87C5282.69,-1884.93 5435.47,-1850.73 5532.22,-1833.49"/>
<polygon fill="#d10505" stroke="black" points="5532.61,-1836.8 5541.85,-1831.62 5531.4,-1829.9 5532.61,-1836.8"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge421" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5322.78,-2279.57C5411.58,-2272.25 5640.51,-2253.7 5832,-2240.92 6942.45,-2166.83 7224.17,-2204.57 8332,-2098.21 8418.16,-2089.94 8517.24,-2075.7 8579.49,-2066.18"/>
<polygon fill="#d10505" stroke="black" points="8579.94,-2069.5 8589.29,-2064.52 8578.87,-2062.58 8579.94,-2069.5"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge422" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5322.75,-2278.91C5411.47,-2270.19 5640.25,-2248.86 5832,-2240.92 5986.2,-2234.54 11237.64,-2239.72 11388,-2204.92 11458.63,-2188.58 11466.01,-2156.49 11535,-2134.21 11621.78,-2106.19 11662.4,-2150.67 11737,-2098.21 11754.52,-2085.9 11743.37,-2068.59 11761,-2056.43"/>
<path fill="none" stroke="black" d="M11761,-2054.43C11799.54,-2029.55 11840.25,-1997.16 11869.83,-1972.37"/>
<polygon fill="#d10505" stroke="black" points="11871.47,-1974.72 11876.86,-1965.6 11866.96,-1969.37 11871.47,-1974.72"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge423" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5253,-2168.57C5233.35,-2122.77 5260.52,-2105.7 5253,-2056.43"/>
<path fill="none" stroke="black" d="M5253,-2054.43C5239.98,-1969.12 5213.94,-1946.77 5148,-1891.09 5118.14,-1865.88 5077.89,-1848.47 5044.63,-1837.28"/>
<polygon fill="#d10505" stroke="black" points="5046.14,-1833.77 5035.55,-1834.01 5043.97,-1840.43 5046.14,-1833.77"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_support_mirrorlist_trigger -->
<g id="edge424" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_support_mirrorlist_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5261.92,-2261.26C5253.32,-2254.08 5243.16,-2246.48 5233,-2240.92 5102.6,-2169.55 5060.84,-2167.7 4916,-2134.21 4855.74,-2120.28 4682.37,-2143.27 4640,-2098.21 4609.5,-2065.79 4613.08,-1936.12 4617.47,-1866.12"/>
<polygon fill="#d10505" stroke="black" points="4621.01,-1866.63 4618.18,-1856.42 4614.02,-1866.17 4621.01,-1866.63"/>
</g>
<!-- ahriman_core_triggers&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge425" class="edge">
<title>ahriman_core_triggers&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5321.54,-2275.87C5492.5,-2243.9 6214.17,-2108.95 6432.3,-2068.16"/>
<polygon fill="#d10505" stroke="black" points="6432.72,-2071.45 6441.91,-2066.17 6431.44,-2064.57 6432.72,-2071.45"/>
</g>
<!-- ahriman_core_triggers_trigger&#45;&gt;ahriman_core_triggers -->
<g id="edge426" class="edge">
<title>ahriman_core_triggers_trigger&#45;&gt;ahriman_core_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5250.12,-2371.59C5256.4,-2355.94 5263.95,-2337.14 5270.41,-2321.04"/>
<polygon fill="#8a2e2e" stroke="black" points="5274,-2322.49 5274.48,-2311.91 5267.51,-2319.88 5274,-2322.49"/>
</g>
<!-- ahriman_core_triggers_trigger_loader&#45;&gt;ahriman_core_triggers -->
<g id="edge427" class="edge">
<title>ahriman_core_triggers_trigger_loader&#45;&gt;ahriman_core_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5329.17,-2371.28C5321.05,-2355.36 5311.3,-2336.26 5303.03,-2320.05"/>
<polygon fill="#822b2b" stroke="black" points="5305.76,-2318.7 5298.1,-2311.38 5299.53,-2321.88 5305.76,-2318.7"/>
</g>
<!-- ahriman_core_upload -->
<g id="node128" class="node">
<title>ahriman_core_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db0505" stroke="black" cx="6495" cy="-1933.87" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="6495" y="-1940.12" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6495" y="-1929.62" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">core.</text>
<text text-anchor="middle" x="6495" y="-1919.12" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload</text>
</g>
<!-- ahriman_core_upload_github&#45;&gt;ahriman_core_upload_upload -->
<g id="edge428" class="edge">
<title>ahriman_core_upload_github&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8028.52,-2175.52C7968.7,-2183.21 7847.89,-2197.88 7745,-2204.92 7678.85,-2209.46 6602.17,-2197.57 6552,-2240.92 6518.98,-2269.46 6514.89,-2321.45 6517.05,-2359.12"/>
<polygon fill="#822b2b" stroke="black" points="6513.61,-2359.12 6517.85,-2368.83 6520.59,-2358.59 6513.61,-2359.12"/>
</g>
<!-- ahriman_core_upload_http_upload&#45;&gt;ahriman_core_upload_github -->
<g id="edge429" class="edge">
<title>ahriman_core_upload_http_upload&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8066,-2248.14C8066,-2238.02 8066,-2226.79 8066,-2216.09"/>
<polygon fill="#913030" stroke="black" points="8069.5,-2216.21 8066,-2206.21 8062.5,-2216.21 8069.5,-2216.21"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge432" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6560.89,-2402.56C6788.89,-2392.26 7969.73,-2338.43 8005,-2326.48 8012.27,-2324.02 8019.48,-2320.43 8026.25,-2316.37"/>
<polygon fill="#8a0f0f" stroke="black" points="8027.67,-2318.97 8034.18,-2310.61 8023.88,-2313.09 8027.67,-2318.97"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge433" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6477.03,-2389.08C6407.5,-2366.12 6276.37,-2322.81 6206.9,-2299.86"/>
<polygon fill="#8a0f0f" stroke="black" points="6475.71,-2392.66 6486.3,-2392.47 6477.9,-2386.01 6475.71,-2392.66"/>
<polygon fill="#8a0f0f" stroke="black" points="6208.29,-2296.31 6197.7,-2296.5 6206.1,-2302.95 6208.29,-2296.31"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge434" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6547.63,-2365.51C6556.17,-2352.09 6565.73,-2337.04 6574.27,-2323.61"/>
<polygon fill="#8a0f0f" stroke="black" points="6544.39,-2363.09 6541.98,-2373.4 6550.3,-2366.84 6544.39,-2363.09"/>
<polygon fill="#8a0f0f" stroke="black" points="6577.59,-2325.92 6580,-2315.6 6571.68,-2322.16 6577.59,-2325.92"/>
</g>
<!-- ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge435" class="edge">
<title>ahriman_core_upload_upload&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6518.95,-2369.7C6511.38,-2305.23 6495.78,-2172.91 6495,-2170.57"/>
<path fill="none" stroke="black" d="M6495,-2168.57C6487.56,-2147.48 6486.8,-2122.75 6488.22,-2101.88"/>
<polygon fill="#8a0f0f" stroke="black" points="6491.78,-2102.31 6489.17,-2092.04 6484.8,-2101.7 6491.78,-2102.31"/>
</g>
<!-- ahriman_core_upload_upload_trigger&#45;&gt;ahriman_core_upload -->
<g id="edge436" class="edge">
<title>ahriman_core_upload_upload_trigger&#45;&gt;ahriman_core_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6495,-2019.85C6495,-2005.23 6495,-1988.15 6495,-1973.16"/>
<polygon fill="#822b2b" stroke="black" points="6498.5,-1973.17 6495,-1963.17 6491.5,-1973.17 6498.5,-1973.17"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_ahriman -->
<g id="edge437" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7377.93,-4349.55C7176.11,-4345.63 6229.41,-4325.49 5939,-4287.33 5167.54,-4185.98 3270.01,-3738.46 2521,-3527.75 2204.46,-3438.71 2140.33,-3366.62 1821,-3288.17 1718.39,-3262.96 1677.48,-3305.05 1586,-3252.17 1508.37,-3207.3 1530.32,-3150.24 1460,-3094.61 1430.69,-3071.42 1411.09,-3084.36 1384,-3058.61 1358.14,-3034.03 1375.35,-3008.18 1346,-2987.9 1323.78,-2972.54 404.73,-2874.64 382,-2860.04 93.86,-2674.94 114,-1824.04 114,-1820.74 114,-1820.74 114,-1820.74 114,-1498.61 114,-1404.64 97.81,-1379.75 114,-1287.18"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge438" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9025,-4250.98C9025.9,-4227.88 7391.89,-4091.93 7369,-4088.76 7267.02,-4074.63 6536.39,-3990.45 6457,-3924.9 6425.57,-3898.95 6456.57,-3863.84 6424,-3839.34 6350.55,-3784.09 6081.05,-3863.99 6012,-3803.34 5830.59,-3643.99 5943,-2960.43 5943,-2718.97 5943,-2718.97 5943,-2718.97 5943,-2610.26 5943,-2483.18 5969.5,-2453.28 5978,-2326.48 5986.03,-2206.72 5981,-2176.46 5981,-2056.43 5981,-2056.43 5981,-2056.43 5981,-1712.03 5981,-1646.08 6003.82,-1632.7 6027,-1570.96 6038.95,-1539.14 6051.49,-1534.15 6057,-1500.61"/>
<path fill="none" stroke="black" d="M6057,-1498.61C6065.9,-1405.06 6046.21,-1380.53 6057,-1287.18"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_application_lock -->
<g id="edge439" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7454.18,-4350.03C7775.65,-4347.99 10025.59,-4332.19 10322,-4287.33 10728.35,-4225.83 10812.2,-4132.2 11211,-4032.9 11878.08,-3866.79 12055.22,-3870.59 12724,-3711.48 13286.07,-3577.75 13410.74,-3472.82 13981,-3380.03 14224.98,-3340.33 14296.14,-3403.75 14536,-3344.03 14594.65,-3329.43 14602.44,-3306.63 14660,-3288.17 14737.69,-3263.26 14761.99,-3276.07 14840,-3252.17 14934.01,-3223.37 14948.67,-3190.65 15044,-3166.61 15074.04,-3159.03 16124.54,-3068.2 16154,-3058.61 16242.79,-3029.69 16272.88,-3021.62 16335,-2951.9 16375.83,-2906.08 16367.32,-2882.3 16391,-2825.68"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge440" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8395,-3881.12C8356.72,-3860.07 8395,-3728.23 8395,-3684.55 8395,-3684.55 8395,-3684.55 8395,-3498.82 8395,-3418.06 8408.75,-3396.69 8395,-3317.1"/>
<path fill="none" stroke="black" d="M8395,-3315.1C8387.85,-3279.53 8358.16,-3285.13 8343,-3252.17 8316.89,-3195.39 8319,-3176.11 8319,-3113.61 8319,-3113.61 8319,-3113.61 8319,-3022.25 8319,-3011.98 8243.83,-2770.44 8213,-2682.62 8186.2,-2606.28 8125.15,-2590.87 8147,-2512.97"/>
<path fill="none" stroke="black" d="M8147,-2510.97C8152.23,-2487.47 8204.93,-2452.39 8243.66,-2429.42"/>
<polygon fill="#c70505" stroke="black" points="8244.81,-2432.21 8251.67,-2424.14 8241.27,-2426.17 8244.81,-2432.21"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge441" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9025,-4250.98C9028.32,-4148.68 7284.65,-4199.19 7184,-4180.62 6835.6,-4116.36 6739.62,-4095.28 6429,-3924.9 6424.24,-3922.28 6419.47,-3919.23 6414.87,-3915.97"/>
<polygon fill="#c70505" stroke="black" points="6417.36,-3912.72 6407.25,-3909.54 6413.17,-3918.33 6417.36,-3912.72"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge442" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9025,-4151.69C8936.21,-4028.35 7834.54,-3821.78 7730,-3711.48 7595.57,-3569.63 7699.08,-3462.62 7611,-3288.17 7601.86,-3270.08 7592.26,-3270.2 7583,-3252.17 7557.26,-3202.05 7562.63,-3184.75 7547,-3130.61 7489.63,-2931.89 7569.25,-2826.84 7421,-2682.62 7374.02,-2636.92 7339.5,-2669.27 7278,-2646.62 7211.47,-2622.11 7202.75,-2596.82 7135,-2575.91 6997.34,-2533.4 6903.52,-2628.18 6817,-2512.97"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge443" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7454.1,-4350.41C7696.93,-4351.15 9031.14,-4352.18 9433,-4287.33 9541.94,-4269.75 9562.92,-4238.86 9671,-4216.62 9805.13,-4189.02 9842.92,-4208.47 9977,-4180.62 10006.1,-4174.58 11996.81,-3569.36 12026,-3563.75 12116.25,-3546.42 12360.49,-3577.14 12438,-3527.75 12440.48,-3526.17 12489.63,-3438.5 12491,-3435.89 12579.73,-3267.52 12715.46,-3182.01 12609,-3024.25"/>
<path fill="none" stroke="black" d="M12609,-3022.25C12558.69,-2947.18 12588.31,-2910.45 12557,-2825.68"/>
<path fill="none" stroke="black" d="M12557,-2823.68C12538.08,-2777.93 12534.08,-2766.13 12519,-2718.97"/>
<path fill="none" stroke="black" d="M12519,-2716.97C12489.44,-2624.5 12469.32,-2512.28 12459.64,-2451.2"/>
<polygon fill="#c70505" stroke="black" points="12462.96,-2450.75 12457.96,-2441.41 12456.04,-2451.83 12462.96,-2450.75"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge444" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7377.98,-4349.45C7228.62,-4345.97 6682.2,-4330.48 6515,-4287.33 6442.86,-4268.71 6435.03,-4235.66 6363,-4216.62 6172.88,-4166.36 6107.43,-4246.1 5922,-4180.62 5853.57,-4156.46 5839.67,-4138.69 5787,-4088.76 5685.86,-3992.89 5709.15,-3922.06 5597,-3839.34 5464.06,-3741.28 5385.88,-3802.46 5248,-3711.48 5154.39,-3649.7 5121.4,-3629.86 5075,-3527.75 4903.31,-3149.91 4927.67,-2862.19 5259,-2612.26"/>
<path fill="none" stroke="black" d="M5259,-2610.26C5336.81,-2545.47 5389.15,-2580.05 5465,-2512.97"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge445" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9025,-4250.98C9030.77,-4106.09 9169.3,-4159.77 9324,-4088.76 9377.1,-4064.39 9387.51,-4051.17 9443,-4032.9 9520.49,-4007.38 9546.45,-4025.12 9623,-3996.9 9684.61,-3974.18 9694.95,-3957.4 9752,-3924.9 10099.99,-3726.63 10172.11,-3649.67 10531,-3471.89 10762.81,-3357.06 10828.02,-3343.65 11070,-3252.17 11285.94,-3170.54 11381,-3213.69 11552,-3058.61 11575.94,-3036.9 11898.9,-2443.69 11901,-2406.26"/>
<path fill="none" stroke="black" d="M11901,-2404.26C11906.61,-2295.19 11866.53,-2271.58 11825,-2170.57"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge446" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9205,-3977.9C9251.61,-3832.86 9377.8,-3894.31 9500,-3803.34 9741.62,-3623.47 9734.59,-3555.5 10607,-2682.62 10655.15,-2634.44 10666.67,-2621.8 10717,-2575.91 10735.17,-2559.34 10740.38,-2555.96 10759,-2539.91 10795.54,-2508.39 10836.83,-2472.54 10867.46,-2445.92"/>
<polygon fill="#c70505" stroke="black" points="10869.15,-2448.21 10874.4,-2439.01 10864.56,-2442.93 10869.15,-2448.21"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge447" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7377.81,-4349.5C7196.49,-4345.71 6421.33,-4327.39 6183,-4287.33 6071.66,-4268.62 6049.4,-4240.26 5939,-4216.62 5826.65,-4192.57 5794.23,-4209.42 5683,-4180.62 5604.32,-4160.25 3023.69,-3168.9 2952,-3130.61 2719.84,-3006.59 2706.54,-2900.6 2468,-2789.33 2411.34,-2762.89 2384.76,-2786.88 2332,-2753.33 2292.15,-2727.98 2258.96,-2684.84 2238.04,-2652.92"/>
<polygon fill="#c70505" stroke="black" points="2240.55,-2651.35 2232.2,-2644.82 2234.66,-2655.13 2240.55,-2651.35"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge448" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7377.72,-4350.48C7212.2,-4351.02 6557.62,-4349.13 6363,-4287.33 6306.17,-4269.29 6305.6,-4235.36 6249,-4216.62 6068.2,-4156.77 6000.79,-4246.24 5822,-4180.62 5779.85,-4165.15 5198.98,-3739.62 5164,-3711.48 5069.19,-3635.2 5039.86,-3620.43 4961,-3527.75 4799.98,-3338.54 4777.6,-3275.83 4657,-3058.61 4591.99,-2941.51 4374.34,-2644.23 4401,-2512.97"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_report_email -->
<g id="edge449" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8205,-3774.41C8132.97,-3737.88 8205,-3673.45 8205,-3592.68 8205,-3592.68 8205,-3592.68 8205,-3498.82 8205,-3418.06 8230.53,-3393.72 8205,-3317.1"/>
<path fill="none" stroke="black" d="M8205,-3315.1C8192.91,-3283.98 8177.92,-3282.51 8164,-3252.17 8047.13,-2997.43 8054.88,-2918.79 7988,-2646.62 7948.85,-2487.27 7937.54,-2447.24 7915,-2284.7"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge450" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8987,-3977.9C8660.01,-3811.97 9481,-3683.78 9481,-3317.1 9481,-3317.1 9481,-3317.1 9481,-3022.25 9481,-2726.43 9445.96,-2653.53 9393,-2362.48 9386.65,-2327.57 9381.75,-2319.54 9375,-2284.7"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_report_telegram -->
<g id="edge451" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9101,-4059.83C9120.52,-4004.9 9171.65,-4027.71 9205,-3979.9"/>
<path fill="none" stroke="black" d="M9205,-3977.9C9240.76,-3926.64 9194.11,-3891.19 9229,-3839.34 9258.97,-3794.79 9396.54,-3749.94 9434,-3711.48 9525.19,-3617.86 9480.14,-3917.6 9797,-3058.61 9813.76,-3013.18 9814.09,-3000.07 9819,-2951.9 9822.51,-2917.5 9808.53,-2562.99 9792,-2484.04 9780.23,-2427.81 9782.74,-2408.25 9748,-2362.48 9741.4,-2353.79 9438.14,-2138.25 9428,-2134.21 9320.44,-2091.36 9280.68,-2132.18 9170,-2098.21 9155.2,-2093.67 9139.79,-2086.82 9126.22,-2079.97"/>
<polygon fill="#c70505" stroke="black" points="9128.18,-2076.53 9117.7,-2075.02 9124.95,-2082.74 9128.18,-2076.53"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_repository_executor -->
<g id="edge452" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9025,-4250.98C9025.65,-4234.5 9026.03,-4226.8 9039,-4216.62 9124.52,-4149.46 9188.9,-4238.43 9281,-4180.62 9306.43,-4164.66 9296.04,-4144.12 9319,-4124.76 9348.5,-4099.89 9364.6,-4108.08 9398,-4088.76 9434.91,-4067.4 9436.74,-4049.55 9476,-4032.9 9557.94,-3998.15 9587.84,-4022.78 9673,-3996.9 9907.67,-3925.59 11498.62,-3233.07 11671,-3058.61 11859.44,-2867.89 11908.02,-2798.45 11979,-2539.91 12041.93,-2310.66 12034.57,-2200.59 11889,-2012.65 11869.49,-1987.46 11846.44,-2001.9 11827,-1976.65 11777.38,-1912.21 11761.94,-1815.78 11757.14,-1759.46"/>
<polygon fill="#c70505" stroke="black" points="11760.58,-1759.45 11756.32,-1749.75 11753.6,-1759.99 11760.58,-1759.45"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_repository_repository -->
<g id="edge453" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7454.04,-4350.19C7724.69,-4349.56 9354.27,-4343.42 9566,-4287.33 9630.71,-4270.19 9634.87,-4235.83 9699,-4216.62 9863.21,-4167.43 9914.05,-4209.56 10083,-4180.62 10444.31,-4118.73 10538.23,-4104.45 10883,-3979.9"/>
<path fill="none" stroke="black" d="M10883,-3977.9C11633.22,-3786.33 11869.27,-3865.53 12566,-3527.75 12627.4,-3497.99 12650.33,-3492.11 12689,-3435.89 12767.37,-3321.97 12741.4,-3268.68 12749,-3130.61 12755.62,-3010.42 12758.33,-2980.38 12761,-2860.04 12768.16,-2536.86 12711.87,-2062.53 12709,-2056.43"/>
<path fill="none" stroke="black" d="M12709,-2054.43C12689.17,-2014.92 12669.94,-2014.45 12647,-1976.65 12625.41,-1941.08 12633.01,-1925.07 12609,-1891.09 12595.57,-1872.09 12584.13,-1874.3 12571,-1855.09 12561.69,-1841.48 12568.91,-1832.14 12557,-1820.74"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge454" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9101,-4059.83C9132.5,-3966.42 9067.85,-3919.65 9125,-3839.34 9201.98,-3731.16 9304.4,-3808.54 9395,-3711.48 9466.5,-3634.88 9445.83,-3729.91 9724,-2753.33 9725.67,-2747.46 9774.29,-2545.96 9775,-2539.91 9777.91,-2515.25 9784.21,-2507.1 9775,-2484.04 9767.41,-2465.06 9752.74,-2448.07 9738.45,-2434.84"/>
<polygon fill="#c70505" stroke="black" points="9741.41,-2432.9 9731.6,-2428.89 9736.77,-2438.14 9741.41,-2432.9"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_status_web_client -->
<g id="edge455" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9025,-4250.98C9025.53,-4234.5 9025.93,-4226.68 9039,-4216.62 9138.44,-4140.11 9202.52,-4227.26 9319,-4180.62 9357.92,-4165.04 9357.17,-4142.82 9395,-4124.76 9710.17,-3974.26 9831.29,-4056.04 10155,-3924.9 10226.85,-3895.79 10236.46,-3871.48 10307,-3839.34 10350.37,-3819.58 10365.84,-3825.56 10408,-3803.34 10445.4,-3783.63 10449.3,-3770.12 10485,-3747.48 10556.53,-3702.1 10575.34,-3691.67 10652,-3655.62 10762.38,-3603.7 11568.18,-3314.56 11673,-3252.17 11788.1,-3183.66 11819.75,-3162.74 11904,-3058.61 12076.6,-2845.27 12083.17,-2764.46 12193,-2512.97"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator -->
<g id="edge456" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7377.88,-4349.95C7202.02,-4348.24 6468.07,-4338.14 6245,-4287.33 6165.21,-4269.16 6154.3,-4236.82 6075,-4216.62 5926.46,-4178.79 5876.59,-4231.51 5732,-4180.62 5633.01,-4145.78 5421.07,-3984.94 5335,-3924.9 5116.34,-3772.35 5075.39,-3715.25 4856,-3563.75 4667.05,-3433.28 4617.55,-3403.5 4419,-3288.17 4319.7,-3230.49 4293.42,-3218.54 4191,-3166.61 4092.89,-3116.87 3803.53,-3045.03 3745,-2951.9 3546.31,-2635.74 3999.92,-2223.92 4155.8,-2096.05"/>
<polygon fill="#c70505" stroke="black" points="4157.34,-2098.49 4162.87,-2089.46 4152.91,-2093.07 4157.34,-2098.49"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_tree -->
<g id="edge457" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7377.82,-4350.66C7235.26,-4351.62 6734.92,-4350.35 6591,-4287.33 6548.74,-4268.83 6557.34,-4234.94 6515,-4216.62 6406.05,-4169.47 6081.38,-4245.55 5982,-4180.62 5838.79,-4087.05 5939.53,-3943.73 5804,-3839.34 5746.6,-3795.12 5707.08,-3840.7 5645,-3803.34 5616.95,-3786.46 5625.3,-3763.93 5597,-3747.48 5524.58,-3705.38 5483.3,-3755.44 5412,-3711.48 5368.08,-3684.4 5357.67,-3668.45 5341,-3619.62 5307.48,-3521.43 5376.75,-3404.73 5416.19,-3349.35"/>
<polygon fill="#c70505" stroke="black" points="5419.44,-3351.84 5422.48,-3341.69 5413.77,-3347.73 5419.44,-3351.84"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_github -->
<g id="edge458" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8395,-3315.1C8375.61,-3202.59 8405.89,-3172.73 8409,-3058.61 8409.86,-3027.19 8410.94,-3019.27 8409,-2987.9 8400.54,-2851.43 8397.81,-2816.69 8371,-2682.62 8367.74,-2666.33 8363.24,-2663.07 8361,-2646.62 8351.24,-2575.02 8348.58,-2555.22 8361,-2484.04 8367.32,-2447.85 8384.35,-2442.71 8389,-2406.26"/>
<path fill="none" stroke="black" d="M8389,-2404.26C8390.22,-2371.62 8367.49,-2295.62 8299,-2240.92 8245.17,-2197.93 8165.4,-2181.17 8114.56,-2174.66"/>
<polygon fill="#c70505" stroke="black" points="8115.21,-2171.09 8104.86,-2173.38 8114.38,-2178.04 8115.21,-2171.09"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge459" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8205,-3315.1C8152.33,-3131.01 8158.49,-3079.89 8105,-2896.04 8072.24,-2783.45 8056.85,-2757.6 8019,-2646.62 8002.84,-2599.24 7991.11,-2589.3 7983,-2539.91 7978.98,-2515.41 7976.28,-2507.94 7983,-2484.04 7988.08,-2465.99 7996.79,-2464.9 8005,-2448.04 8024.01,-2408.99 8040.87,-2362.41 8052.02,-2329"/>
<polygon fill="#c70505" stroke="black" points="8055.63,-2330.24 8055.44,-2319.65 8048.98,-2328.05 8055.63,-2330.24"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge460" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9025,-4250.98C9030.02,-4094.02 7775.88,-4114.71 7621,-4088.76 7360.66,-4045.14 7302.32,-3998.18 7041,-3960.9 6981.36,-3952.39 6550.2,-3958.2 6500,-3924.9 6464.54,-3901.37 6489.1,-3867.28 6457,-3839.34 6295.56,-3698.83 6001,-3898.57 6001,-3684.55 6001,-3684.55 6001,-3684.55 6001,-3208.39 6001,-3156.71 5994.15,-3136.07 6025,-3094.61 6044.95,-3067.8 6071.45,-3085.71 6091,-3058.61 6152.54,-2973.3 6133,-2930.87 6133,-2825.68 6133,-2825.68 6133,-2825.68 6133,-2716.97 6133,-2626.31 6150.64,-2601.91 6133,-2512.97"/>
<path fill="none" stroke="black" d="M6133,-2510.97C6123.36,-2465.45 6113.91,-2448.71 6133,-2406.26"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge461" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7635,-4059.83C7564.04,-4026.18 7635,-3961.66 7635,-3883.12 7635,-3883.12 7635,-3883.12 7635,-3682.55 7635,-3281.79 7481.59,-3175.14 7194,-2896.04 7082.22,-2787.56 7049.21,-2763.36 6916,-2682.62 6906.44,-2676.82 6555.02,-2523.41 6551,-2512.97"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_aur_package -->
<g id="edge462" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7379.56,-4343.2C7264.37,-4321.14 6897.57,-4252.78 6591,-4216.62 6376.78,-4191.35 6316.85,-4230.54 6107,-4180.62 6101.36,-4179.28 6095.57,-4177.51 6089.88,-4175.51"/>
<polygon fill="#c70505" stroke="black" points="6091.41,-4171.97 6080.82,-4171.72 6088.95,-4178.52 6091.41,-4171.97"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_build_status -->
<g id="edge463" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_build_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7454.08,-4349.8C7683.01,-4346.9 8878.71,-4329.9 9243,-4287.33 9401.49,-4268.81 9437.47,-4242.05 9595,-4216.62 9724.96,-4195.64 9762.19,-4215.98 9889,-4180.62 10043.4,-4137.57 10071.08,-4096.98 10218,-4032.9 10744.45,-3803.26 10893.9,-3782.78 11454,-3655.62 11779.6,-3581.69 12176.96,-3527.05 12323.33,-3508.09"/>
<polygon fill="#c70505" stroke="black" points="12323.37,-3511.49 12332.84,-3506.74 12322.48,-3504.54 12323.37,-3511.49"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_counters -->
<g id="edge464" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7454.28,-4349.85C7715.37,-4346.96 9237.42,-4328.56 9699,-4287.33 9907.65,-4268.7 9957.07,-4242.05 10165,-4216.62 10336.47,-4195.65 10383.72,-4219.63 10552,-4180.62 10599.03,-4169.72 12130.13,-3575.34 12177,-3563.75 12304.8,-3532.16 12354.93,-3589.87 12471,-3527.75 12499.86,-3512.31 12494.2,-3493.26 12519,-3471.89 12537.34,-3456.08 12560.04,-3441.47 12579.16,-3430.32"/>
<polygon fill="#c70505" stroke="black" points="12580.57,-3432.97 12587.52,-3424.97 12577.1,-3426.89 12580.57,-3432.97"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_internal_status -->
<g id="edge465" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7454,-4350.3C7667.64,-4350.31 8720.85,-4347.27 9039,-4287.33 9133.3,-4269.57 9150.86,-4243.43 9243,-4216.62 9309.66,-4197.23 9327.46,-4196.67 9395,-4180.62 9737.72,-4099.2 9840.14,-4130.71 10166,-3996.9 10319.4,-3933.9 10347.16,-3895.55 10485,-3803.34 10519.84,-3780.03 10522.9,-3764.96 10561,-3747.48 10899.79,-3592 12076.8,-3378.68 12363.61,-3328.15"/>
<polygon fill="#c70505" stroke="black" points="12363.99,-3331.46 12373.23,-3326.28 12362.78,-3324.57 12363.99,-3331.46"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package -->
<g id="edge466" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9025,-4250.98C9026.39,-4207.76 9050.26,-4188.78 9025,-4153.69"/>
<path fill="none" stroke="black" d="M9025,-4151.69C8934.58,-4026.08 7774.29,-4129.3 7635,-4061.83"/>
<path fill="none" stroke="black" d="M7635,-4059.83C7393.05,-3942.63 7348.17,-3884.72 7117,-3747.48 6976.46,-3664.04 6808.52,-3566.53 6733.97,-3523.36"/>
<polygon fill="#c70505" stroke="black" points="6735.91,-3519.86 6725.5,-3517.88 6732.4,-3525.92 6735.91,-3519.86"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package_description -->
<g id="edge467" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9025,-4151.69C9005.79,-4125 9097.31,-4096.12 9167.16,-4078.5"/>
<polygon fill="#c70505" stroke="black" points="9167.87,-4081.68 9176.73,-4075.88 9166.18,-4074.89 9167.87,-4081.68"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_package_source -->
<g id="edge468" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_package_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9025,-4151.69C8994.44,-4109.24 9084.28,-4111.39 9101,-4061.83"/>
<path fill="none" stroke="black" d="M9101,-4059.83C9116.6,-4013.58 9050.91,-4024.99 9011,-3996.9 9000.31,-3989.38 8998.66,-3985.81 8987,-3979.9"/>
<path fill="none" stroke="black" d="M8987,-3977.9C8749.38,-3857.32 8628.49,-4011.5 8395,-3883.12"/>
<path fill="none" stroke="black" d="M8395,-3881.12C8310.51,-3834.66 8291,-3820.01 8205,-3776.41"/>
<path fill="none" stroke="black" d="M8205,-3774.41C8097.21,-3719.75 7956.66,-3698.13 7872.93,-3689.72"/>
<polygon fill="#c70505" stroke="black" points="7873.3,-3686.14 7863.01,-3688.67 7872.62,-3693.11 7873.3,-3686.14"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_models_remote_source -->
<g id="edge469" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7453.79,-4348.23C7696.36,-4335.16 9024.67,-4263.14 9025,-4252.98"/>
<path fill="none" stroke="black" d="M9025,-4250.98C9026.89,-4192.14 6964.91,-4191.19 6907,-4180.62 6782.31,-4157.86 6756.45,-4131.17 6637,-4088.76 6336,-3981.88 6265.11,-3943.02 5963,-3839.34 5835.12,-3795.45 5803.93,-3781.2 5673,-3747.48 5581.12,-3723.81 5462.76,-3779.22 5469,-3684.55"/>
</g>
<!-- ahriman_core_util&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge470" class="edge">
<title>ahriman_core_util&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10883,-3977.9C11085.72,-3927.51 11144.99,-3964.97 11350,-3924.9 12206.19,-3757.53 12486.97,-3763.22 13194,-3252.17 13237.7,-3220.59 13239.59,-3202.3 13280,-3166.61 13299.46,-3149.42 13306.28,-3147.49 13326,-3130.61 13361.59,-3100.14 13377.97,-3098.21 13403,-3058.61 13517.66,-2877.21 13498.67,-2761.54 13391,-2575.91 13286.27,-2395.35 13222.3,-2376.21 13103,-2204.92 13081.84,-2174.55 13086.22,-2159.3 13059,-2134.21 13033.27,-2110.51 13013.02,-2123.65 12989,-2098.21 12960.43,-2067.96 12974.55,-2046.95 12951,-2012.65 12938.19,-1994 12927.99,-1995.18 12915,-1976.65 12890.91,-1942.28 12897.42,-1926.58 12875,-1891.09 12842.17,-1839.12 12829.65,-1828.65 12787,-1784.38 12737.48,-1732.99 12722.26,-1722.84 12667,-1677.67 12646.35,-1660.8 12635.23,-1662.83 12619,-1641.67 12580.12,-1590.99 12417.11,-1170.84 12405,-1108.12 12399.04,-1077.26 12401.39,-1068.63 12405,-1037.41 12410.59,-989.02 12395.62,-965.21 12430,-930.7 12478.69,-881.82 12517.43,-921.51 12581,-894.7 12589.44,-891.14 12598.02,-886.54 12606.09,-881.71"/>
<polygon fill="#c70505" stroke="black" points="12607.64,-884.25 12614.27,-875.98 12603.93,-878.31 12607.64,-884.25"/>
</g>
<!-- ahriman_models -->
<g id="node136" class="node">
<title>ahriman_models</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="11804" cy="-4760.92" rx="49.54" ry="18"/>
<text text-anchor="middle" x="11804" y="-4756.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.models</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_ahriman -->
<g id="edge471" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11754.33,-4759.87C11164.16,-4759.21 5507.28,-4751.1 5165,-4679.99"/>
<path fill="none" stroke="black" d="M5165,-4677.99C4988.78,-4641.37 2098.69,-4665.75 1926,-4615.05 741.07,-4267.2 0,-3847.2 0,-2612.26 0,-2612.26 0,-2612.26 0,-2282.7 0,-1837.36 32.78,-1725.06 114,-1287.18"/>
<path fill="none" stroke="black" d="M114,-1285.18C119.26,-1191.37 114,-1167.73 114,-1073.76 114,-1073.76 114,-1073.76 114,-218.08 114,-89.14 8977.12,-33.98 9776.48,-29.26"/>
<polygon fill="#f91010" stroke="black" points="9776.42,-32.76 9786.4,-29.2 9776.38,-25.76 9776.42,-32.76"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application -->
<g id="edge472" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4101,-4596.05C3937.2,-4557.99 4374.6,-4587.82 4443,-4434.19"/>
<path fill="none" stroke="black" d="M4443,-4432.19C4451.04,-4400.19 4413.54,-4403.3 4391,-4379.19 4380.05,-4367.48 4376.69,-4365.03 4367,-4352.26"/>
<path fill="none" stroke="black" d="M4367,-4350.26C4279.9,-4235.54 4367,-4332.58 4367,-3592.68 4367,-3592.68 4367,-3592.68 4367,-3406.96 4367,-3137.79 4537,-3094.85 4537,-2825.68 4537,-2825.68 4537,-2825.68 4537,-2716.97 4537,-2451.85 4750.21,-2453.27 4843,-2204.92 4909.45,-2027.08 4815.38,-1944.12 4918,-1784.38 5173.01,-1387.45 5579.5,-1602.2 5791,-1180.47"/>
<path fill="none" stroke="black" d="M5791,-1178.47C5799.58,-1132.73 5747.04,-1089.05 5791,-1073.76"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge473" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4443,-4350.26C4448.21,-4290.67 4451.24,-4275.94 4459,-4216.62 4468.02,-4147.72 4481,-4131.32 4481,-4061.83 4481,-4061.83 4481,-4061.83 4481,-3977.9 4481,-3552.96 4675.48,-3483.4 4847,-3094.61 4849.27,-3089.47 5185.56,-2365.92 5190,-2362.48 5259.01,-2309.09 5308.36,-2371.68 5383,-2326.48 5655.03,-2161.75 5753,-2032.05 5753,-1714.03 5753,-1714.03 5753,-1714.03 5753,-1391.9 5753,-1222.37 5879.45,-1188.75 6043,-1144.12 6203.87,-1100.22 8776.15,-1078.35 9288.6,-1074.42"/>
<polygon fill="#f91010" stroke="black" points="9288.28,-1077.91 9298.25,-1074.33 9288.22,-1070.91 9288.28,-1077.91"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge474" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5013,-4432.19C5034.77,-4407.81 5042.34,-4403.68 5064,-4379.19 5162.07,-4268.29 5168.6,-4223.41 5279,-4124.76 5331.21,-4078.1 5348.93,-4072.02 5407,-4032.9 5456.7,-3999.41 5468.97,-3990.63 5521,-3960.9 5551.37,-3943.54 5560.67,-3942.33 5591,-3924.9 5652.26,-3889.69 5657.54,-3860.35 5725,-3839.34 5832.32,-3805.91 6651.37,-3877.31 6736,-3803.34 6830.96,-3720.34 6994.92,-2781 6916,-2682.62 6869.85,-2625.08 6810.83,-2693.63 6754,-2646.62 6655.27,-2564.93 6692.53,-2490.02 6705,-2362.48 6739.6,-2008.62 6969,-1962.87 6969,-1607.32 6969,-1607.32 6969,-1607.32 6969,-1498.61 6969,-1213.19 9333.79,-1495.4 9529,-1287.18"/>
<path fill="none" stroke="black" d="M9529,-1285.18C9542.99,-1269.17 9544.61,-1245.92 9542.25,-1225.4"/>
<polygon fill="#f91010" stroke="black" points="9545.58,-1225.03 9540.64,-1215.66 9538.66,-1226.07 9545.58,-1225.03"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge475" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C5130.22,-4670.76 5160.66,-4633.31 5165,-4598.05"/>
<path fill="none" stroke="black" d="M5165,-4596.05C5171,-4547.38 5161.78,-4531.4 5183,-4487.19 5225.34,-4398.99 5261.86,-4393.54 5330,-4323.33 5526.44,-4120.91 5605.11,-4102.8 5824,-3924.9 5869.13,-3888.22 5868.92,-3860.73 5923,-3839.34 6106.03,-3766.94 6635.13,-3897.45 6808,-3803.34 6814.86,-3799.61 7128.67,-3351.09 7132,-3344.03 7247.96,-3097.86 7256.9,-3023.03 7293,-2753.33 7297.17,-2722.18 7309.05,-2709.63 7293,-2682.62 7242.34,-2597.35 7187.35,-2616.83 7097,-2575.91 7054.73,-2556.76 7032.76,-2571.74 6999,-2539.91 6966.6,-2509.35 6968.08,-2491.64 6959,-2448.04 6930.55,-2311.47 6921.96,-2266.91 6965,-2134.21 7033.49,-1923.06 7171.46,-1926.72 7235,-1714.03"/>
<path fill="none" stroke="black" d="M7235,-1712.03C7250.61,-1619.37 7235,-1594.57 7235,-1500.61 7235,-1500.61 7235,-1500.61 7235,-1285.18 7235,-1036.74 9221.96,-1164.2 9464,-1108.12 9471.2,-1106.45 9478.6,-1104.29 9485.89,-1101.86"/>
<polygon fill="#f91010" stroke="black" points="9486.82,-1104.89 9495.09,-1098.28 9484.5,-1098.29 9486.82,-1104.89"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_add -->
<g id="edge476" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11012,-4596.05C11023.14,-4398.36 10959,-4351.7 10959,-4153.69 10959,-4153.69 10959,-4153.69 10959,-4059.83 10959,-3940.12 10834.62,-3106.48 10851,-2987.9 10860.78,-2917.06 11051.82,-2414.74 11003,-2362.48 10922.56,-2276.39 10563.44,-2403.2 10474,-2326.48 10420.09,-2280.25 10439,-2241.59 10439,-2170.57 10439,-2170.57 10439,-2170.57 10439,-1932.87 10439,-1690.44 10355,-1636.33 10355,-1393.9 10355,-1393.9 10355,-1393.9 10355,-1071.76 10355,-974.5 10350.33,-950.07 10355,-852.92"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge477" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16847,-4250.98C16838.66,-4234.32 16856.37,-4228.15 16871,-4216.62 17018.74,-4100.13 17181.46,-4230.4 17265,-4061.83"/>
<path fill="none" stroke="black" d="M17265,-4059.83C17279.3,-4019.54 17189,-3925.86 17189,-3883.12 17189,-3883.12 17189,-3883.12 17189,-2823.68 17189,-2583.97 17192.84,-2523.23 17169,-2284.7"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge478" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M418,-3208.39C366.26,-3144.98 418,-3106.09 418,-3024.25 418,-3024.25 418,-3024.25 418,-2823.68 418,-2684.56 380,-2652.1 380,-2512.97 380,-2512.97 380,-2512.97 380,-2168.57 380,-1893.72 848.97,-1303.34 1073,-1144.12 1563.45,-795.55 1885.05,-1122.4 2375,-773.14 2390.17,-762.33 2385.08,-751.15 2399,-738.78"/>
<path fill="none" stroke="black" d="M2399,-736.78C2409.66,-706.46 2434.68,-680.42 2457.14,-661.88"/>
<polygon fill="#f91010" stroke="black" points="2458.95,-664.12 2464.59,-655.15 2454.59,-658.65 2458.95,-664.12"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge479" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2771,-4151.69C2589.01,-3235.66 2931,-2990.37 2931,-2056.43 2931,-2056.43 2931,-2056.43 2931,-1932.87 2931,-1727.23 3096,-1706.25 3096,-1500.61 3096,-1500.61 3096,-1500.61 3096,-1391.9 3096,-1235.19 3248,-1230.47 3248,-1073.76 3248,-1073.76 3248,-1073.76 3248,-965.05 3248,-840.16 3251.1,-781.23 3348,-702.43 3405.75,-655.46 3625.31,-639.35 3730.78,-634.24"/>
<polygon fill="#f91010" stroke="black" points="3730.71,-637.7 3740.53,-633.74 3730.38,-630.71 3730.71,-637.7"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_search -->
<g id="edge480" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C4814.05,-4605.07 2278.17,-4716.89 1940,-4598.05"/>
<path fill="none" stroke="black" d="M1940,-4596.05C1927.67,-4591.72 1926.8,-4586.41 1916,-4579.05 1891.85,-4562.61 1881.22,-4564.14 1861,-4543.05 1678.34,-4352.53 1717.67,-4242.3 1557,-4032.9 1414.6,-3847.31 1374.63,-3799.26 1190,-3655.62 877.38,-3412.41 677.8,-3509.36 418,-3210.39"/>
<path fill="none" stroke="black" d="M418,-3208.39C316.61,-3082.44 239.69,-3092.58 160,-2951.9 83.36,-2816.6 76,-2767.76 76,-2612.26 76,-2612.26 76,-2612.26 76,-2282.7 76,-2074.63 152,-2028.82 152,-1820.74 152,-1820.74 152,-1820.74 152,-1498.61 152,-1208.6 902.65,-764.17 1186,-702.43 1435.39,-648.09 2089.78,-740.6 2334,-666.43 2338.24,-665.14 2342.48,-663.43 2346.61,-661.47"/>
<polygon fill="#f91010" stroke="black" points="2347.82,-664.26 2355.03,-656.5 2344.55,-658.07 2347.82,-664.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge481" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2771,-4432.19C2697.61,-4401.23 2790.18,-4330.28 2771,-4252.98"/>
<path fill="none" stroke="black" d="M2771,-4250.98C2758.29,-4173.84 2723.49,-4164.2 2703,-4088.76 2683.74,-4017.85 2686.85,-3998.15 2681,-3924.9 2633.25,-3327.05 2695.62,-3173.6 2646,-2575.91 2630.95,-2394.61 2589,-2352.49 2589,-2170.57 2589,-2170.57 2589,-2170.57 2589,-1391.9 2589,-1145.79 2695.38,-1098.16 2716,-852.92"/>
<path fill="none" stroke="black" d="M2716,-850.92C2715.05,-801.09 2741.51,-781.6 2716,-738.78"/>
<path fill="none" stroke="black" d="M2716,-736.78C2701.75,-712.86 2681.99,-688.98 2664.71,-670.08"/>
<polygon fill="#f91010" stroke="black" points="2667.6,-667.97 2658.23,-663.03 2662.47,-672.74 2667.6,-667.97"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge482" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18514,-3881.12C18505.13,-3644.21 19200.9,-3344.43 19255,-3113.61"/>
<path fill="none" stroke="black" d="M19255,-3111.61C19257.91,-3066.92 19179,-2969.75 19179,-2924.97 19179,-2924.97 19179,-2924.97 19179,-1712.03 19179,-1585.7 19176.86,-1268.36 19154,-1144.12 19125.61,-989.87 19118.08,-946.84 19043,-809.14 19013.84,-755.66 19004.96,-739.98 18957,-702.43 18927.54,-679.36 18889.29,-661.64 18858.66,-649.75"/>
<polygon fill="#f91010" stroke="black" points="18860.18,-646.21 18849.59,-645.95 18857.7,-652.76 18860.18,-646.21"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_status -->
<g id="edge483" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2771,-4250.98C2760.59,-4209.01 2781.04,-4195.75 2771,-4153.69"/>
<path fill="none" stroke="black" d="M2771,-4151.69C2751.62,-4070.48 2695,-4063.39 2695,-3979.9 2695,-3979.9 2695,-3979.9 2695,-3406.96 2695,-3131.59 2719.46,-3063.6 2744,-2789.33 2773.17,-2463.29 2817,-2383.78 2817,-2056.43 2817,-2056.43 2817,-2056.43 2817,-1932.87 2817,-1845.18 2819.01,-1228.17 2844,-1144.12 2887.09,-999.16 2968.56,-995.13 3020,-852.92"/>
<path fill="none" stroke="black" d="M3020,-850.92C3035.51,-741.44 2889.86,-675.94 2807.75,-648.01"/>
<polygon fill="#f91010" stroke="black" points="2808.93,-644.38 2798.34,-644.55 2806.73,-651.02 2808.93,-644.38"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge484" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M19255,-3111.61C19307.93,-2802.19 19292,-2720.18 19292,-2406.26 19292,-2406.26 19292,-2406.26 19292,-2282.7 19292,-1839.91 19331,-1729.98 19331,-1287.18 19331,-1287.18 19331,-1287.18 19331,-1071.76 19331,-896.53 19293.76,-845.79 19193,-702.43 19182.84,-687.96 19169.01,-674.67 19155.56,-663.63"/>
<polygon fill="#f91010" stroke="black" points="19158.28,-660.53 19148.27,-657.06 19153.93,-666.01 19158.28,-660.53"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge485" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11853.93,-4760.09C12134.73,-4760.75 13505.64,-4759.9 13539,-4679.99"/>
<path fill="none" stroke="black" d="M13539,-4677.99C13567.25,-4610.33 12950.72,-4628.44 12884,-4598.05"/>
<path fill="none" stroke="black" d="M12884,-4596.05C12871.38,-4590.31 12702.4,-4445.23 12694,-4434.19"/>
<path fill="none" stroke="black" d="M12694,-4432.19C12650.74,-4401.45 12630.39,-4409.75 12587,-4379.19 11952.04,-3932.13 12007.31,-3544.69 11329,-3166.61 11272.51,-3135.12 11244.63,-3161.85 11188,-3130.61 11147.26,-3108.13 11130.38,-3101.35 11112,-3058.61 10989.28,-2773.31 11408.13,-2565.39 11173,-2362.48 11078.09,-2280.58 10698.38,-2415.4 10610,-2326.48 10580.05,-2296.35 10524.5,-944.64 10513.81,-677.61"/>
<polygon fill="#f91010" stroke="black" points="10517.27,-677.64 10513.37,-667.78 10510.28,-677.92 10517.27,-677.64"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_update -->
<g id="edge486" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12884,-4596.05C12839.95,-4575.09 12890.62,-4531.4 12870,-4487.19 12504.76,-3704.34 11925.85,-3837.39 11552,-3058.61 11499.89,-2950.05 11494.42,-2906.55 11522,-2789.33 11560.81,-2624.37 11653.19,-2613 11692,-2448.04 11702.54,-2403.24 11723.2,-2274.76 11692,-2240.92 11625.05,-2168.31 11331.75,-2258.85 11249,-2204.92 11122.44,-2122.45 10925,-1758.38 10925,-1607.32 10925,-1607.32 10925,-1607.32 10925,-1391.9 10925,-1065.64 10824.85,-991.19 10673,-702.43 10667.34,-691.66 10660.24,-680.65 10653.19,-670.64"/>
<polygon fill="#f91010" stroke="black" points="10655.46,-668.8 10646.77,-662.75 10649.79,-672.9 10655.46,-668.8"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_handlers_users -->
<g id="edge487" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16923,-4350.26C16857.69,-3996.93 18376.51,-4393.8 18514,-4061.83"/>
<path fill="none" stroke="black" d="M18514,-4059.83C18524.11,-3980.81 18435.49,-3994.09 18396,-3924.9 18043.71,-3307.62 17827.16,-3113.75 17895,-2406.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_application_lock -->
<g id="edge488" class="edge">
<title>ahriman_models&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16923,-4432.19C16913.77,-4397.89 16929.46,-4387.2 16923,-4352.26"/>
<path fill="none" stroke="black" d="M16923,-4350.26C16913.03,-4296.31 16873.76,-4300.88 16847,-4252.98"/>
<path fill="none" stroke="black" d="M16847,-4250.98C16802.82,-4171.88 16771,-4152.43 16771,-4061.83 16771,-4061.83 16771,-4061.83 16771,-3111.61 16771,-2920.65 16784.33,-2869.89 16747,-2682.62 16729.29,-2593.74 16689.22,-2494.67 16666.52,-2442.68"/>
<polygon fill="#f91010" stroke="black" points="16669.32,-2441.36 16662.08,-2433.62 16662.91,-2444.19 16669.32,-2441.36"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core -->
<g id="edge489" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11804,-4742.57C11804,-4732.52 11804,-4719.61 11804,-4708.14"/>
<polygon fill="#f91010" stroke="black" points="11807.5,-4708.3 11804,-4698.3 11800.5,-4708.3 11807.5,-4708.3"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge490" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C5127.57,-4669.11 5438.16,-4536.14 5471,-4516.12"/>
<path fill="none" stroke="black" d="M5471,-4514.12C5518.98,-4495.62 5493.81,-4450.71 5531,-4415.19 5555.16,-4392.11 5569.08,-4397.55 5597,-4379.19 5678.34,-4325.71 6195.9,-3873.65 6287,-3839.34 6419.47,-3789.44 6784.27,-3831.49 6923,-3803.34 6995.17,-3788.69 7007.65,-3765.71 7079,-3747.48 7178.39,-3722.07 7220.36,-3766.41 7307,-3711.48 7332.36,-3695.4 7326.7,-3679.43 7345,-3655.62 7423.66,-3553.24 7458.3,-3539.74 7535,-3435.89 7685.78,-3231.75 7710.42,-3171.29 7838,-2951.9 7956.73,-2747.73 7908.04,-2634.62 8090,-2484.04 8130.93,-2450.17 8154.88,-2468.3 8204,-2448.04 8217.04,-2442.67 8230.83,-2435.97 8243.25,-2429.52"/>
<polygon fill="#f91010" stroke="black" points="8244.68,-2432.19 8251.89,-2424.43 8241.41,-2426 8244.68,-2432.19"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge491" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5471,-4514.12C5568.6,-4454.84 5889.71,-4519.79 5981,-4451.19 6026.3,-4417.15 6054.6,-4266.76 6081,-4216.62 6096.44,-4187.3 6103.28,-4181.69 6121,-4153.69"/>
<path fill="none" stroke="black" d="M6121,-4151.69C6146.86,-4096.27 6275.19,-3975.31 6339.76,-3916.52"/>
<polygon fill="#f91010" stroke="black" points="6341.63,-3919.64 6346.68,-3910.33 6336.93,-3914.46 6341.63,-3919.64"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge492" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4861,-4596.05C4827.86,-4559.5 4985.5,-4475.16 5013,-4434.19"/>
<path fill="none" stroke="black" d="M5013,-4432.19C5099.28,-4317.3 5018.76,-4233.22 5113,-4124.76 5207.74,-4015.72 5556.87,-3874.4 5697,-3839.34 5751.31,-3825.75 6661.71,-3840.01 6704,-3803.34 6766.68,-3748.98 6727.39,-3702.02 6737,-3619.62 6760.32,-3419.58 6708.25,-3364.23 6747,-3166.61 6771.85,-3039.87 6791.87,-3009.81 6853,-2896.04 6880.44,-2844.97 6883.77,-2826.8 6928,-2789.33 6956.21,-2765.43 6983.31,-2784.62 7003,-2753.33 7019.74,-2726.73 7019.34,-2709.46 7003,-2682.62 6931.2,-2564.66 6798.8,-2657.87 6727,-2539.91 6695.95,-2488.89 6716.66,-2460.8 6741,-2406.26"/>
<path fill="none" stroke="black" d="M6741,-2404.26C6749.37,-2376.99 6764.45,-2348.95 6778.08,-2326.88"/>
<polygon fill="#f91010" stroke="black" points="6781.43,-2329.13 6783.81,-2318.81 6775.51,-2325.39 6781.43,-2329.13"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge493" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4595,-4432.19C4600.36,-4377.74 4683.84,-4262.27 4714,-4216.62 4716.3,-4213.14 4899,-3984.07 4899,-3979.9 4899,-3979.9 4899,-3979.9 4899,-3406.96 4899,-3374.71 5041.2,-3145.06 5075,-3094.61 5236,-2854.33 5261.98,-2778.91 5468,-2575.91 5487.25,-2556.94 5497.01,-2558.09 5517,-2539.91 5528.86,-2529.12 5529.76,-2524.41 5541,-2512.97"/>
<path fill="none" stroke="black" d="M5541,-2510.97C5573.02,-2476.08 5591.46,-2479.35 5627,-2448.04 5666.29,-2413.43 5664.83,-2392.12 5708,-2362.48 5746.67,-2335.94 5795.8,-2316.07 5834.27,-2303.06"/>
<polygon fill="#f91010" stroke="black" points="5834.92,-2306.2 5843.32,-2299.74 5832.72,-2299.55 5834.92,-2306.2"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge494" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C5105.13,-4664.97 5215.96,-4620.59 5261,-4579.05 5450.92,-4403.88 5917.06,-3932.62 6158,-3839.34 6309.67,-3780.62 6735.75,-3857.81 6889,-3803.34 6928.5,-3789.3 6930.71,-3771.6 6965,-3747.48 7048.25,-3688.91 7073.07,-3680.02 7155,-3619.62 7354.09,-3472.83 7414.24,-3441.85 7573,-3252.17 7787.16,-2996.3 7773.45,-2885.05 7899,-2575.91 7915.82,-2534.48 7909.77,-2516.99 7940,-2484.04 7962.33,-2459.71 7979.22,-2468.68 8005,-2448.04 8044.7,-2416.25 8040.07,-2392.68 8081,-2362.48 8119.22,-2334.28 8169.29,-2313 8205.36,-2299.89"/>
<polygon fill="#f91010" stroke="black" points="8206.36,-2302.89 8214.61,-2296.24 8204.01,-2296.3 8206.36,-2302.89"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge495" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13539,-4596.05C13526.07,-4540.73 13502.96,-4534.83 13472,-4487.19 13413.31,-4396.89 13386.09,-4382.13 13335,-4287.33 13107.44,-3865.08 13158.54,-3708.25 12927,-3288.17 12795.52,-3049.63 12733.76,-3007.73 12571,-2789.33 12547.77,-2758.15 12535.64,-2754.12 12519,-2718.97"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_auth -->
<g id="edge496" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16610,-4432.19C16576.06,-4421.69 16624.36,-4384.76 16610,-4352.26"/>
<path fill="none" stroke="black" d="M16610,-4350.26C16484.13,-4065.35 16529.2,-3963.68 16391,-3684.55"/>
<path fill="none" stroke="black" d="M16391,-3682.55C16057.19,-3256.9 15658.9,-3499.86 15346,-3058.61 15303.21,-2998.27 15213,-2480.24 15213,-2406.26 15213,-2406.26 15213,-2406.26 15213,-2282.7 15213,-2183.75 15075.39,-1956.36 15001,-1891.09 14967.37,-1861.59 14940.43,-1884.83 14907,-1855.09 14894.12,-1843.64 14901.95,-1832.12 14889,-1820.74"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge497" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16923,-4596.05C16926.08,-4560.66 16941.39,-4546.52 16923,-4516.12"/>
<path fill="none" stroke="black" d="M16923,-4514.12C16848.66,-4391.29 16750.42,-4464.15 16610,-4434.19"/>
<path fill="none" stroke="black" d="M16610,-4432.19C16226.91,-4350.47 16027.97,-4552.26 15237,-3435.89 15135.43,-3292.54 15149.21,-3231.68 15119,-3058.61 15090.24,-2893.84 15132.73,-2847.21 15103,-2682.62 15080.04,-2555.5 15099.47,-2502.22 15013,-2406.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge498" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15817,-4677.99C15903.5,-4590.24 16912.31,-4720.8 16923,-4598.05"/>
<path fill="none" stroke="black" d="M16923,-4596.05C16939.29,-4409.02 15406.77,-4457.06 15251,-4352.26"/>
<path fill="none" stroke="black" d="M15251,-4350.26C14892.34,-4103.29 14979,-3844.43 14979,-3408.96 14979,-3408.96 14979,-3408.96 14979,-3208.39 14979,-2814.94 14947.57,-2682.01 14718,-2362.48 14702.02,-2340.25 14680.48,-2350.86 14668,-2326.48 14587.69,-2169.71 14792.74,-2099.09 14729,-1934.87"/>
<path fill="none" stroke="black" d="M14729,-1932.87C14703.3,-1887.85 14651.25,-1856.61 14613.48,-1838.76"/>
<polygon fill="#f91010" stroke="black" points="14615.28,-1835.27 14604.73,-1834.29 14612.36,-1841.63 14615.28,-1835.27"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge499" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4367,-4350.26C4301.56,-4261.35 4540.13,-3482.58 4581,-3380.03 4634.2,-3246.52 4650.44,-3212.25 4733,-3094.61 4919.07,-2829.46 4955.46,-2721.14 5245,-2575.91 5335.9,-2530.31 5388.82,-2580.35 5465,-2512.97"/>
<path fill="none" stroke="black" d="M5465,-2510.97C5476.08,-2500.55 5496.43,-2471.4 5512.99,-2446.49"/>
<polygon fill="#f91010" stroke="black" points="5516.3,-2448.82 5518.9,-2438.55 5510.46,-2444.97 5516.3,-2448.82"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge500" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13539,-4677.99C13544.06,-4666.83 13473.01,-4605.13 13463,-4598.05"/>
<path fill="none" stroke="black" d="M13463,-4596.05C13452.32,-4588.51 13450.87,-4584.53 13439,-4579.05 13379.88,-4551.78 13357.07,-4568.17 13297,-4543.05 13224.17,-4512.61 13208.13,-4498.57 13145,-4451.19 13073.98,-4397.9 12915.56,-4241.58 12851,-4180.62 12832.05,-4162.73 12188.54,-3551.13 12177,-3527.75 11931.89,-3031.17 12091,-2838.49 12091,-2284.7 12091,-2284.7 12091,-2284.7 12091,-2168.57 12091,-2089.82 11855.5,-1993.35 11748.18,-1953.48"/>
<polygon fill="#f91010" stroke="black" points="11749.49,-1949.86 11738.9,-1949.69 11747.07,-1956.43 11749.49,-1949.86"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_configuration_configuration -->
<g id="edge501" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11754.19,-4760.23C11570.1,-4760.79 10936.8,-4757.07 10898,-4679.99"/>
<path fill="none" stroke="black" d="M10898,-4677.99C10869.5,-4621.36 10824.46,-4647.49 10770,-4615.05 10587.99,-4506.65 10387.2,-4353.19 10301.96,-4286.3"/>
<polygon fill="#f91010" stroke="black" points="10304.37,-4282.96 10294.35,-4279.53 10300.05,-4288.46 10304.37,-4282.96"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_migrations -->
<g id="edge502" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13539,-4677.99C13548.1,-4657.48 13383.83,-4587.38 13363,-4579.05 13302.54,-4554.89 13279.24,-4572.15 13221,-4543.05 13162.79,-4513.98 13157.65,-4492.04 13107,-4451.19 13016.75,-4378.4 12994.2,-4360.19 12904,-4287.33 12845.32,-4239.93 12827.95,-4231.23 12772,-4180.62 12650.45,-4070.68 12374.5,-3766.7 12254,-3655.62 12188.84,-3595.55 12165.87,-3588.13 12101,-3527.75 11976.4,-3411.77 11921.4,-3398.84 11835,-3252.17 11675.45,-2981.34 11730.01,-2873.22 11628,-2575.91 11613.82,-2534.58 11613.88,-2522.42 11593,-2484.04 11585.47,-2470.2 11575.77,-2456.02 11566.51,-2443.62"/>
<polygon fill="#f91010" stroke="black" points="11568.73,-2441.76 11559.89,-2435.94 11563.17,-2446.01 11568.73,-2441.76"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge503" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14712,-4596.05C14642.29,-4578.29 14718.5,-4505.84 14712,-4434.19"/>
<path fill="none" stroke="black" d="M14712,-4432.19C14712.46,-4392.98 14465.68,-3812.77 14451,-3776.41"/>
<path fill="none" stroke="black" d="M14451,-3774.41C14362.12,-3559.2 14401.19,-3470.19 14256,-3288.17 14238.47,-3266.2 14218.71,-3276.12 14204,-3252.17 14171.47,-3199.2 14185,-3175.77 14185,-3113.61 14185,-3113.61 14185,-3113.61 14185,-3022.25 14185,-2965.53 14183.53,-2948.94 14204,-2896.04 14217.57,-2860.97 14259.24,-2862.37 14251,-2825.68"/>
<path fill="none" stroke="black" d="M14251,-2823.68C14240.42,-2781.18 14198.75,-2793.79 14182,-2753.33 14151.84,-2680.47 14177.25,-2654.67 14181,-2575.91 14182.33,-2547.84 14192.95,-2540.43 14187,-2512.97"/>
<path fill="none" stroke="black" d="M14187,-2510.97C14181.11,-2490.58 14170.48,-2469.92 14159.79,-2452.41"/>
<polygon fill="#f91010" stroke="black" points="14162.5,-2451.15 14154.21,-2444.55 14156.58,-2454.88 14162.5,-2451.15"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_build_operations -->
<g id="edge504" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_build_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C5053.77,-4654.18 4745.31,-4686.75 4657,-4615.05 4591.03,-4561.5 4595,-4519.17 4595,-4434.19"/>
<path fill="none" stroke="black" d="M4595,-4432.19C4587.43,-4121.78 4797.09,-3330.5 4999,-3094.61 5251.73,-2799.36 5404.41,-2818.88 5675,-2539.91 5701.02,-2513.08 5726.69,-2479.8 5745.89,-2453.16"/>
<polygon fill="#f91010" stroke="black" points="5749.18,-2455.57 5752.14,-2445.4 5743.48,-2451.51 5749.18,-2455.57"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge505" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10898,-4677.99C10855.93,-4632.61 11008.6,-4659.84 11012,-4598.05"/>
<path fill="none" stroke="black" d="M11012,-4596.05C11012.54,-4586.28 11006.3,-4584.25 10998,-4579.05 10940.26,-4542.9 10896.95,-4591.46 10849,-4543.05 10736.03,-4429.01 10770,-3976.13 10686,-3839.34 10672.96,-3818.1 10657.65,-3823.5 10643,-3803.34 10534.02,-3653.34 10507,-3594.37 10507,-3408.96 10507,-3408.96 10507,-3408.96 10507,-3315.1 10507,-3126.82 10491.59,-3067.67 10569,-2896.04 10611.86,-2801.01 10798.86,-2554.06 10877.72,-2451.72"/>
<polygon fill="#f91010" stroke="black" points="10881,-2454.2 10884.34,-2444.15 10875.46,-2449.93 10881,-2454.2"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge506" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12694,-4432.19C12525.3,-4179.01 11772.14,-3895.67 11530,-3711.48 11330.05,-3559.38 11118.5,-3346.39 11030.37,-3254.95"/>
<polygon fill="#f91010" stroke="black" points="11033.44,-3253.05 11023.98,-3248.27 11028.39,-3257.91 11033.44,-3253.05"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_database_operations_patch_operations -->
<g id="edge507" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_database_operations_patch_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C4937.59,-4625.84 9343,-4486.29 9343,-4252.98 9343,-4252.98 9343,-4252.98 9343,-4151.69 9343,-4098.22 9358.43,-4073.81 9324,-4032.9 9292.24,-3995.15 9264.55,-4015.85 9219,-3996.9 9152.2,-3969.11 9133.91,-3963.94 9073,-3924.9 8558.36,-3595.08 8465.04,-3442.93 8101,-2951.9 7974.31,-2781.01 7857.87,-2555.16 7809.13,-2456.26"/>
<polygon fill="#f91010" stroke="black" points="7811.89,-2454.96 7804.34,-2447.52 7805.61,-2458.04 7811.89,-2454.96"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge508" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2505,-4250.98C2399.46,-4109.01 2353,-4060.02 2353,-3883.12 2353,-3883.12 2353,-3883.12 2353,-3682.55 2353,-3281.3 2255.74,-2802.44 2223.93,-2656.57"/>
<polygon fill="#f91010" stroke="black" points="2227.23,-2656.26 2221.67,-2647.25 2220.39,-2657.76 2227.23,-2656.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_build_printer -->
<g id="edge509" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_build_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2505,-4250.98C2439.82,-4167.64 2467,-3882.2 2467,-3776.41 2467,-3776.41 2467,-3776.41 2467,-3498.82 2467,-3230.56 2422.81,-3163.97 2436,-2896.04 2440.16,-2811.44 2451.27,-2713.17 2458.18,-2657.28"/>
<polygon fill="#f91010" stroke="black" points="2461.73,-2658.05 2459.5,-2647.69 2454.79,-2657.18 2461.73,-2658.05"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_configuration_paths_printer -->
<g id="edge510" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_configuration_paths_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1940,-4596.05C1931.82,-4593.25 1887.13,-4550.66 1883,-4543.05 1859.57,-4499.89 1864,-4483.31 1864,-4434.19 1864,-4434.19 1864,-4434.19 1864,-4350.26 1864,-4115.29 1420.23,-3654.07 1333,-3435.89 1278.33,-3299.15 1256,-3260.88 1256,-3113.61 1256,-3113.61 1256,-3113.61 1256,-2823.68 1256,-2762.21 1092.87,-2683.76 993.95,-2641.83"/>
<polygon fill="#f91010" stroke="black" points="995.56,-2638.3 984.99,-2637.65 992.85,-2644.75 995.56,-2638.3"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_configuration_printer -->
<g id="edge511" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_configuration_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1940,-4596.05C1828.14,-4552.86 1923.74,-4165.8 1864,-4061.83"/>
<path fill="none" stroke="black" d="M1864,-4059.83C1830,-3996.2 1696.5,-3868.24 1665,-3803.34 1501.91,-3467.35 1608.37,-3331.5 1462,-2987.9 1399.18,-2840.44 1391.95,-2786.63 1270,-2682.62 1267.85,-2680.78 1215.18,-2658.45 1169.92,-2639.43"/>
<polygon fill="#f91010" stroke="black" points="1171.38,-2635.82 1160.8,-2635.18 1168.67,-2642.28 1171.38,-2635.82"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge512" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2581,-4350.26C2534.1,-4321.78 2540.17,-4295.09 2505,-4252.98"/>
<path fill="none" stroke="black" d="M2505,-4250.98C2472.46,-4212.01 2445.72,-4221.05 2415,-4180.62 2332.49,-4072.03 2239,-3729.07 2239,-3592.68 2239,-3592.68 2239,-3592.68 2239,-3315.1 2239,-3134.46 2353,-3105.61 2353,-2924.97 2353,-2924.97 2353,-2924.97 2353,-2823.68 2353,-2766.41 2347.09,-2700.65 2342.45,-2657.88"/>
<polygon fill="#f91010" stroke="black" points="2345.83,-2657.55 2341.25,-2647.99 2338.87,-2658.32 2345.83,-2657.55"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge513" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1864,-3682.55C1840.28,-3605.34 1864,-3581.59 1864,-3500.82 1864,-3500.82 1864,-3500.82 1864,-3022.25 1864,-2943.58 1814.82,-2742.68 1764,-2682.62 1740.38,-2654.69 1722.33,-2663.71 1690,-2646.62 1686.06,-2644.53 1682,-2642.33 1677.94,-2640.09"/>
<polygon fill="#f91010" stroke="black" points="1679.96,-2636.65 1669.52,-2634.82 1676.54,-2642.76 1679.96,-2636.65"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_printer -->
<g id="edge514" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C4714.42,-4571.16 4561.81,-4768.77 4125,-4615.05 4112.67,-4610.72 4113.72,-4601.08 4101,-4598.05"/>
<path fill="none" stroke="black" d="M4101,-4596.05C3754.21,-4513.66 3654.75,-4573.75 3303,-4516.12"/>
<path fill="none" stroke="black" d="M3303,-4514.12C2919.89,-4451.37 2797.01,-4531.68 2440,-4379.19 2071.17,-4221.66 1987.93,-4065.98 1864,-3684.55"/>
<path fill="none" stroke="black" d="M1864,-3682.55C1801.7,-3524.22 1806.8,-3477.48 1750,-3317.1"/>
<path fill="none" stroke="black" d="M1750,-3315.1C1650.93,-3035.37 1742.4,-2895.84 1536,-2682.62 1504.31,-2649.88 1480.86,-2666.79 1440,-2646.62 1436.19,-2644.74 1432.31,-2642.66 1428.46,-2640.5"/>
<polygon fill="#f91010" stroke="black" points="1430.42,-2637 1420.02,-2634.97 1426.88,-2643.04 1430.42,-2637"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_status_printer -->
<g id="edge515" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_status_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2581,-4350.26C2507,-4303.83 2581,-4241.06 2581,-4153.69 2581,-4153.69 2581,-4153.69 2581,-4059.83 2581,-3810.81 2543,-3749.84 2543,-3500.82 2543,-3500.82 2543,-3500.82 2543,-3406.96 2543,-3131.49 2350.38,-3026.21 2491,-2789.33 2508.06,-2760.59 2537.31,-2780.32 2557,-2753.33 2577.07,-2725.82 2583.41,-2687.52 2584.96,-2657.77"/>
<polygon fill="#f91010" stroke="black" points="2588.49,-2657.94 2585.34,-2647.82 2581.49,-2657.7 2588.49,-2657.94"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_tree_printer -->
<g id="edge516" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3303,-4514.12C3067.05,-4475.47 2996.16,-4514.63 2771,-4434.19"/>
<path fill="none" stroke="black" d="M2771,-4432.19C2682.78,-4400.68 2654.42,-4412.86 2567,-4379.19 2484.66,-4347.48 2461.98,-4339.74 2391,-4287.33 2236.42,-4173.19 2221.15,-4117.48 2087,-3979.9"/>
<path fill="none" stroke="black" d="M2087,-3977.9C1899.24,-3731.85 1973,-3446.16 1973,-3210.39 1973,-3210.39 1973,-3210.39 1973,-3111.61 1973,-2916.33 2016.22,-2820.57 1878,-2682.62 1850.98,-2655.64 1833.59,-2664.77 1800,-2646.62 1796.32,-2644.63 1792.54,-2642.49 1788.78,-2640.29"/>
<polygon fill="#f91010" stroke="black" points="1790.9,-2636.88 1780.52,-2634.74 1787.3,-2642.88 1790.9,-2636.88"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge517" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2087,-3977.9C2026.74,-3911.65 2087,-3865.96 2087,-3776.41 2087,-3776.41 2087,-3776.41 2087,-2823.68 2087,-2752.25 2062.63,-2730.91 2010,-2682.62 1980.67,-2655.71 1963.78,-2664.04 1928,-2646.62 1923.67,-2644.51 1919.22,-2642.27 1914.76,-2639.98"/>
<polygon fill="#f91010" stroke="black" points="1916.55,-2636.44 1906.07,-2634.92 1913.31,-2642.65 1916.55,-2636.44"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge518" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2771,-4432.19C2684.73,-4401.37 2659.3,-4399.82 2581,-4352.26"/>
<path fill="none" stroke="black" d="M2581,-4350.26C2252.32,-4150.64 2163,-3977.24 2163,-3592.68 2163,-3592.68 2163,-3592.68 2163,-3498.82 2163,-3135.02 2293.24,-2991.48 2101,-2682.62 2084.37,-2655.89 2066.97,-2662.85 2040,-2646.62 2036.57,-2644.55 2033.03,-2642.41 2029.48,-2640.25"/>
<polygon fill="#f91010" stroke="black" points="2031.45,-2636.75 2021.09,-2634.53 2027.81,-2642.72 2031.45,-2636.75"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_validation_printer -->
<g id="edge519" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_validation_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1864,-4059.83C1721.34,-3774.57 1687.01,-2906.65 1460,-2682.62 1417.63,-2640.8 1386.74,-2667.51 1331,-2646.62 1325.65,-2644.61 1320.16,-2642.36 1314.7,-2639.99"/>
<polygon fill="#f91010" stroke="black" points="1316.52,-2636.53 1305.97,-2635.64 1313.67,-2642.92 1316.52,-2636.53"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_formatters_version_printer -->
<g id="edge520" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_formatters_version_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1750,-3315.1C1721.49,-3230.21 1750,-3203.16 1750,-3113.61 1750,-3113.61 1750,-3113.61 1750,-2823.68 1750,-2755.2 1739.2,-2728.1 1688,-2682.62 1647.01,-2646.2 1620.69,-2667.52 1570,-2646.62 1565.38,-2644.71 1560.64,-2642.58 1555.95,-2640.34"/>
<polygon fill="#f91010" stroke="black" points="1557.91,-2636.92 1547.4,-2635.64 1554.82,-2643.2 1557.91,-2636.92"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge521" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3607,-3977.9C3637.8,-3893.81 3607,-3865.96 3607,-3776.41 3607,-3776.41 3607,-3776.41 3607,-3498.82 3607,-3213.69 3749.22,-3132.44 3995,-2987.9 4092.52,-2930.55 4172.87,-3037.37 4247,-2951.9 4263.27,-2933.14 4251.78,-2920.4 4247,-2896.04 4227.3,-2795.52 4214.14,-2769.57 4160,-2682.62 4148.69,-2664.44 4135.61,-2666.63 4128,-2646.62 4116.83,-2617.24 4114.68,-2604.37 4128,-2575.91 4128.33,-2575.19 4476.72,-2285.44 4477,-2284.7"/>
<path fill="none" stroke="black" d="M4477,-2282.7C4490.6,-2255.12 4511.62,-2227.78 4529.59,-2207"/>
<polygon fill="#f91010" stroke="black" points="4531.83,-2209.62 4535.82,-2199.81 4526.58,-2204.99 4531.83,-2209.62"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge522" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4101,-4350.26C4024.27,-4097.82 4253,-4040.25 4253,-3776.41 4253,-3776.41 4253,-3776.41 4253,-3682.55 4253,-3294.29 4423,-3213.93 4423,-2825.68 4423,-2825.68 4423,-2825.68 4423,-2716.97 4423,-2545.2 4470.9,-2497.58 4577,-2362.48 4656.43,-2261.34 4919.23,-2061.97 5038,-2012.65 5060.92,-2003.14 5397.09,-1960.12 5537.3,-1942.47"/>
<polygon fill="#f91010" stroke="black" points="5537.36,-1945.86 5546.85,-1941.14 5536.49,-1938.92 5537.36,-1945.86"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge523" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4101,-4596.05C3995.62,-4570.87 4134.94,-4455.16 4101,-4352.26"/>
<path fill="none" stroke="black" d="M4101,-4350.26C4063.92,-4233.07 4037.43,-4208.8 4011,-4088.76 3965.93,-3884.07 3973.68,-3828.94 3963,-3619.62 3948.49,-3335.22 3867.37,-3187.98 4070,-2987.9 4133.02,-2925.67 4204.11,-3015.25 4266,-2951.9 4384.25,-2830.85 4287.93,-2740.79 4326,-2575.91 4372.42,-2374.86 4305.41,-2259.96 4469,-2134.21 4588.07,-2042.68 4683.62,-2186.67 4805,-2098.21 4838.63,-2073.71 4817.33,-2045.4 4843,-2012.65 4897.45,-1943.21 4918.26,-1924.36 5000,-1891.09 5093.83,-1852.9 5383.63,-1832.74 5528.61,-1824.81"/>
<polygon fill="#f91010" stroke="black" points="5528.42,-1828.27 5538.21,-1824.24 5528.04,-1821.28 5528.42,-1828.27"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_log_log -->
<g id="edge524" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10898,-4677.99C10872.98,-4619.74 10976.92,-4655.17 11026,-4615.05 11266.49,-4418.5 11453,-4372.43 11453,-4061.83 11453,-4061.83 11453,-4061.83 11453,-3881.12 11453,-3616.01 11524.97,-3515.16 11388,-3288.17 11346.63,-3219.6 11320.33,-3212.93 11255,-3166.61 11227.42,-3147.06 11205.35,-3159.62 11188,-3130.61 11179.79,-3116.88 11183.99,-3110.1 11188,-3094.61 11192.59,-3076.89 11202.62,-3076.1 11208,-3058.61 11238.57,-2959.26 11159.71,-2903.16 11229,-2825.68"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_console -->
<g id="edge525" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9644,-4596.05C9658.67,-4582.39 9533,-3903.16 9533,-3883.12 9533,-3883.12 9533,-3883.12 9533,-3774.41 9533,-3563.97 9437.66,-3508.5 9271,-3380.03 9195.12,-3321.54 9167.07,-3317.92 9076,-3288.17 8995.96,-3262.03 8960.43,-3298.31 8890,-3252.17 8802.69,-3194.97 8787.95,-3158.29 8757,-3058.61 8747.68,-3028.6 8752.9,-3019.06 8757,-2987.9 8773.14,-2865.22 8846.34,-2841.48 8829,-2718.97"/>
<path fill="none" stroke="black" d="M8829,-2716.97C8805.47,-2629.41 8820.31,-2603.01 8831,-2512.97"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_email -->
<g id="edge526" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C5108.25,-4665.62 5092.75,-4610.65 5151,-4415.19 5195.06,-4267.37 5227.66,-4229.38 5341,-4124.76 5365.55,-4102.1 5381.02,-4109.77 5407,-4088.76 5432.45,-4068.17 5428.97,-4052.75 5455,-4032.9 5484.72,-4010.23 5572.14,-3974.39 5607,-3960.9 5658.14,-3941.11 5674.1,-3945.3 5725,-3924.9 5803.51,-3893.43 5813.12,-3860.56 5895,-3839.34 5989.73,-3814.79 6694.77,-3859.38 6775,-3803.34 6833.45,-3762.51 6964.89,-3341.98 7099,-2753.33 7139.11,-2577.26 7079.88,-2487.69 7210,-2362.48 7388.07,-2191.14 7478.5,-2198.89 7717,-2134.21 7904.77,-2083.29 8136.94,-2064.79 8236.24,-2058.88"/>
<polygon fill="#f91010" stroke="black" points="8236.34,-2062.32 8246.12,-2058.25 8235.93,-2055.34 8236.34,-2062.32"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_html -->
<g id="edge527" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10721,-4250.98C10703.81,-4218.31 10525.16,-3654.8 10514,-3619.62 10440.2,-3386.98 10462.31,-3312.82 10353,-3094.61 10263.08,-2915.09 10196.01,-2885.94 10020,-2789.33 9978.22,-2766.4 9947.4,-2791.6 9919,-2753.33 9847.61,-2657.1 9939.37,-2599.12 9906,-2484.04 9888.7,-2424.38 9873.84,-2412.51 9837,-2362.48 9745.41,-2238.13 9716.06,-2197.09 9575,-2134.21 9470.64,-2087.7 9336.46,-2068.16 9265.7,-2060.65"/>
<polygon fill="#f91010" stroke="black" points="9266.21,-2057.08 9255.9,-2059.54 9265.49,-2064.04 9266.21,-2057.08"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge528" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10898,-4677.99C10862.72,-4639.93 10865.37,-4621.83 10836,-4579.05 10824.68,-4562.57 10818.04,-4560.89 10809,-4543.05 10801.39,-4528.03 10730.98,-4266.54 10721,-4252.98"/>
<path fill="none" stroke="black" d="M10721,-4250.98C10687.7,-4204.82 10659.92,-4214.25 10614,-4180.62 10509.56,-4104.14 10466.33,-4099.95 10388,-3996.9 10287.85,-3865.13 10311.11,-3804.59 10239,-3655.62 10198.68,-3572.32 10192.53,-3548.76 10141,-3471.89 10094.9,-3403.13 10323.15,-3673.44 9647,-2896.04 9640.08,-2888.09 9526.44,-2762.89 9522,-2753.33 9510.91,-2729.45 9467.63,-2305.12 9451,-2284.7"/>
<path fill="none" stroke="black" d="M9451,-2282.7C9433.24,-2258.03 9412.52,-2230.96 9395.87,-2209.61"/>
<polygon fill="#f91010" stroke="black" points="9398.16,-2207.85 9389.24,-2202.13 9392.64,-2212.16 9398.16,-2207.85"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_report -->
<g id="edge529" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9644,-4596.05C9760.72,-4484.66 9913,-4513.61 9913,-4352.26 9913,-4352.26 9913,-4352.26 9913,-4250.98 9913,-4016.98 9685,-4010.41 9685,-3776.41 9685,-3776.41 9685,-3776.41 9685,-3590.68 9685,-3516.58 9624.48,-3519.86 9568,-3471.89 9441.82,-3364.73 9401.85,-3338.04 9244,-3288.17 9153.7,-3259.64 9112.79,-3304.69 9034,-3252.17 8941.81,-3190.71 8933,-3135.05 8933,-3024.25 8933,-3024.25 8933,-3024.25 8933,-2922.97 8933,-2862.62 8916.77,-2834.31 8957,-2789.33 8994.4,-2747.5 9044.46,-2798.3 9078,-2753.33 9134.67,-2677.34 8996.81,-2547.27 8983,-2512.97"/>
<path fill="none" stroke="black" d="M8983,-2510.97C8963.6,-2468.34 8983.58,-2451.39 8971,-2406.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge530" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C4906.35,-4621.62 5495.38,-4658.27 5760,-4651.05 5867.33,-4648.13 9524.88,-4653.84 9625,-4615.05 9635.57,-4610.96 9635.55,-4605.61 9644,-4598.05"/>
<path fill="none" stroke="black" d="M9644,-4596.05C9656.88,-4584.54 9389.09,-4047.59 9380,-4032.9 9303.52,-3909.26 9177,-3921.79 9177,-3776.41 9177,-3776.41 9177,-3776.41 9177,-3498.82 9177,-3239.41 8825.83,-3441.04 8648,-3252.17 8529.22,-3126.01 8484.38,-2654.77 8514,-2484.04 8523.77,-2427.72 8535.07,-2415.68 8556,-2362.48 8573.08,-2319.08 8649.77,-2216.38 8641,-2170.57"/>
<path fill="none" stroke="black" d="M8641,-2168.57C8635.46,-2147.08 8634.86,-2122.49 8635.89,-2101.82"/>
<polygon fill="#f91010" stroke="black" points="8639.43,-2102.31 8636.58,-2092.1 8632.44,-2101.85 8639.43,-2102.31"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_report_telegram -->
<g id="edge531" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10898,-4677.99C10868.63,-4650.06 10859.35,-4644.96 10832,-4615.05 10630.22,-4394.42 10590.61,-4329.27 10413,-4088.76 10245.08,-3861.37 10215.97,-3795.42 10054,-3563.75 9833.71,-3248.68 9763.84,-3180.19 9551,-2860.04 9442.29,-2696.52 9460.17,-2620.53 9319,-2484.04 9295.82,-2461.63 9279.18,-2470.47 9256,-2448.04 9151.88,-2347.32 9061.82,-2313.56 9085,-2170.57"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_executor -->
<g id="edge532" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13463,-4596.05C13460.63,-4594.36 13122.38,-4354.83 13121,-4352.26"/>
<path fill="none" stroke="black" d="M13121,-4350.26C13021.08,-4242.4 12191,-3555.99 12191,-3408.96 12191,-3408.96 12191,-3408.96 12191,-3315.1 12191,-3200.82 12179.34,-3172.71 12173,-3058.61 12155.83,-2749.5 12089.47,-2666.49 12148,-2362.48 12167.9,-2259.14 12234.92,-2236.71 12211,-2134.21 12178.42,-1994.6 12127.21,-1955.25 11999,-1891.09 11941.93,-1862.53 11912.95,-1890.71 11860,-1855.09 11822.92,-1830.15 11793.92,-1787.62 11775.88,-1755.77"/>
<polygon fill="#f91010" stroke="black" points="11778.53,-1754.32 11770.64,-1747.25 11772.4,-1757.7 11778.53,-1754.32"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_repository -->
<g id="edge533" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13691,-4596.05C13722.61,-4557.9 13724.75,-4535.77 13715,-4487.19 13707.32,-4448.94 13461.62,-3874.15 13444,-3839.34 13441.14,-3833.7 12976.87,-3064.65 12975,-3058.61 12932.15,-2919.87 12997.62,-2538.22 12937,-2406.26"/>
<path fill="none" stroke="black" d="M12937,-2404.26C12910.9,-2359.44 12882.39,-2366.99 12850,-2326.48 12813.75,-2281.15 12746.43,-2151.32 12723,-2098.21 12715.09,-2080.3 12718.04,-2073.81 12709,-2056.43"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge534" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13539,-4677.99C13557.35,-4637.55 13561.31,-4622.68 13553,-4579.05 13526.19,-4438.33 13135.73,-3511.58 13079,-3380.03 13061.15,-3338.64 13057.45,-3327.82 13036,-3288.17 12929.49,-3091.36 12885.35,-3052.4 12771,-2860.04 12680.25,-2707.39 12625.06,-2682.76 12573,-2512.97"/>
<path fill="none" stroke="black" d="M12573,-2510.97C12550.94,-2446.41 12569.3,-2420.88 12534,-2362.48 12474.37,-2263.84 12250.57,-2070.73 12151,-2012.65 12101.95,-1984.05 12040.99,-1964.38 11993.05,-1951.98"/>
<polygon fill="#f91010" stroke="black" points="11993.96,-1948.35 11983.41,-1949.29 11992.24,-1955.14 11993.96,-1948.35"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge535" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13539,-4677.99C13568.4,-4607.55 13651.87,-4663.59 13691,-4598.05"/>
<path fill="none" stroke="black" d="M13691,-4596.05C13770.86,-4462.29 13594.61,-4426.7 13525,-4287.33 13306.39,-3849.65 13271.01,-3730.99 13063,-3288.17 13037.55,-3233.99 13033.89,-3219.04 13005,-3166.61 12977.63,-3116.93 12959.13,-3110.84 12937,-3058.61 12771.97,-2669.19 12877.86,-2522.85 12711,-2134.21 12694.79,-2096.45 12681.48,-2092.06 12661,-2056.43"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge536" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10721,-4250.98C10661.61,-4172.83 10607,-4159.98 10607,-4061.83 10607,-4061.83 10607,-4061.83 10607,-3977.9 10607,-3863.55 10487.78,-3893.93 10418,-3803.34 10381.53,-3755.99 10355,-3744.31 10355,-3684.55 10355,-3684.55 10355,-3684.55 10355,-3590.68 10355,-3478.76 10282.67,-3470.67 10217,-3380.03 10121.74,-3248.55 10100.98,-3212.18 9989,-3094.61 9830.84,-2928.55 9696.36,-2962.34 9602,-2753.33 9577,-2697.95 9646.71,-2527.26 9681.97,-2447.78"/>
<polygon fill="#f91010" stroke="black" points="9685.41,-2449.66 9686.29,-2439.1 9679.02,-2446.8 9685.41,-2449.66"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_spawn -->
<g id="edge537" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13539,-4677.99C13572.74,-4606.66 13645.88,-4667.3 13705,-4615.05 13758.7,-4567.6 13882.92,-4418.29 13843,-4352.26"/>
<path fill="none" stroke="black" d="M13843,-4350.26C13810.77,-4244.63 13691,-4264.13 13691,-4153.69 13691,-4153.69 13691,-4153.69 13691,-3406.96 13691,-3191.76 13517.88,-3181.51 13321,-3094.61 13264.62,-3069.72 13086.65,-3104.93 13046,-3058.61 13025.27,-3034.99 13041.35,-3018.98 13046,-2987.9 13071.84,-2815.22 13183.02,-2785.47 13161,-2612.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_client -->
<g id="edge538" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13539,-4677.99C13554.19,-4645.87 13546.65,-4632.75 13539,-4598.05"/>
<path fill="none" stroke="black" d="M13539,-4596.05C13516.5,-4494.08 13428.04,-4524.84 13354,-4451.19 13325.06,-4422.41 13319.31,-4413.37 13297,-4379.19 13197.57,-4226.84 13058.98,-3765.53 12914,-3655.62 12860.55,-3615.09 12366.11,-3579.97 12324,-3527.75 12291.05,-3486.9 12307.03,-3411.87 12362,-3288.17 12379.4,-3249.01 12412.42,-3252.74 12419,-3210.39"/>
<path fill="none" stroke="black" d="M12419,-3208.39C12426.17,-3157.21 12426.66,-3135.46 12395,-3094.61 12382.21,-3078.11 12334.7,-3056.45 12298.12,-3041.55"/>
<polygon fill="#f91010" stroke="black" points="12299.71,-3038.02 12289.12,-3037.53 12297.1,-3044.51 12299.71,-3038.02"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_watcher -->
<g id="edge539" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14451,-3774.41C14444.81,-3753.23 14342.95,-3009.61 14339,-2987.9 14319.9,-2882.84 14307.19,-2858.19 14287,-2753.33 14253.72,-2580.48 14318.36,-2510.43 14223,-2362.48 14207.37,-2338.24 14188.96,-2347.3 14169,-2326.48 14138.2,-2294.37 14141.34,-2278.18 14117,-2240.92 14049.24,-2137.21 14034.05,-2109.67 13957,-2012.65 13807.02,-1823.8 13733.35,-1810.37 13561,-1641.67 13530.75,-1612.06 13465.42,-1527.82 13433,-1500.61"/>
<path fill="none" stroke="black" d="M13433,-1498.61C13431.71,-1497.49 13233.51,-1358.33 13232,-1357.54 13190.89,-1336.03 13174.43,-1344.32 13134,-1321.54 13131.67,-1320.23 13129.33,-1318.79 13127.02,-1317.27"/>
<polygon fill="#f91010" stroke="black" points="13129.48,-1314.02 13119.29,-1311.11 13125.44,-1319.73 13129.48,-1314.02"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_status_web_client -->
<g id="edge540" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13121,-4350.26C13095.3,-4289.83 13090.32,-4273.78 13058,-4216.62 12995.75,-4106.51 12900,-4106.39 12900,-3979.9 12900,-3979.9 12900,-3979.9 12900,-3774.41 12900,-3550.68 12623.63,-3714.46 12421,-3619.62 12386.81,-3603.61 12387.09,-3586.56 12357,-3563.75 12333.72,-3546.11 12318.69,-3551.74 12302,-3527.75 12170.9,-3339.33 12258.31,-3242.44 12187,-3024.25"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge541" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3303,-4514.12C3268.07,-4507.64 3311.08,-4468.79 3303,-4434.19"/>
<path fill="none" stroke="black" d="M3303,-4432.19C3295.49,-4400.06 3273.54,-4403.3 3251,-4379.19 3240.05,-4367.48 3237.45,-4364.42 3227,-4352.26"/>
<path fill="none" stroke="black" d="M3227,-4350.26C3161.17,-4273.67 3113,-4254.68 3113,-4153.69 3113,-4153.69 3113,-4153.69 3113,-3315.1 3113,-2772.12 3335.92,-2648.22 3695,-2240.92 3801.63,-2119.97 3832.77,-2084.75 3977,-2012.65 4175,-1913.68 4242.63,-1932.93 4460,-1891.09 4546.37,-1874.47 4797.39,-1843.21 4917.49,-1828.61"/>
<polygon fill="#f91010" stroke="black" points="4917.84,-1831.98 4927.34,-1827.3 4916.99,-1825.03 4917.84,-1831.98"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge542" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2771,-4432.19C2748.88,-4421.97 2779.99,-4403.04 2785,-4379.19 2866.24,-3992.46 2923,-3896 2923,-3500.82 2923,-3500.82 2923,-3500.82 2923,-3111.61 2923,-3087.52 3195.95,-2806.34 3213,-2789.33 3401.78,-2600.93 3881.04,-2113.37 4128,-2012.65 4187.14,-1988.53 4361.09,-1960.05 4460.05,-1945.14"/>
<polygon fill="#f91010" stroke="black" points="4460.48,-1948.47 4469.85,-1943.53 4459.44,-1941.55 4460.48,-1948.47"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator -->
<g id="edge543" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3303,-4432.19C3257.69,-4226.8 3423.47,-4195.4 3557,-4032.9 3577.56,-4007.88 3595.17,-4010.04 3607,-3979.9"/>
<path fill="none" stroke="black" d="M3607,-3977.9C3612.98,-3948.86 3593.78,-3741.11 3593,-3711.48 3584.53,-3388.93 3539.09,-3290.16 3652,-2987.9 3669.24,-2941.76 3686.38,-2936.82 3714,-2896.04 3778.3,-2801.08 3792.07,-2775.73 3859,-2682.62 3900.7,-2624.6 4219,-2235.87 4248,-2170.57"/>
<path fill="none" stroke="black" d="M4248,-2168.57C4254.91,-2153.6 4252.01,-2147.33 4262,-2134.21 4273.88,-2118.61 4289.63,-2104.5 4305.15,-2092.7"/>
<polygon fill="#f91010" stroke="black" points="4306.75,-2095.14 4312.73,-2086.4 4302.6,-2089.5 4306.75,-2095.14"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator -->
<g id="edge544" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3227,-4350.26C3034.04,-4088.1 3278.84,-3196.95 3403,-2896.04 3543.95,-2554.44 3663.71,-2511.87 3915,-2240.92 3962.64,-2189.56 3972.44,-2172.66 4031,-2134.21 4063.74,-2112.72 4103.41,-2094.53 4136.7,-2081.16"/>
<polygon fill="#f91010" stroke="black" points="4137.79,-2084.1 4145.81,-2077.17 4135.22,-2077.59 4137.79,-2084.1"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_tree -->
<g id="edge545" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4443,-4432.19C4457.45,-4399.74 4436.16,-4387.12 4443,-4352.26"/>
<path fill="none" stroke="black" d="M4443,-4350.26C4490.24,-4109.36 4917.44,-3620.3 5113,-3471.89 5203.7,-3403.06 5329.92,-3354.24 5396.22,-3331.5"/>
<polygon fill="#f91010" stroke="black" points="5396.99,-3334.6 5405.34,-3328.07 5394.74,-3327.97 5396.99,-3334.6"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge546" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M3303,-4514.12C3269.86,-4507.82 3605.27,-4026.73 3621,-3996.9 3761.02,-3731.38 3721.59,-3624.34 3896,-3380.03 4065.17,-3143.06 4633.85,-2771.27 4900,-2575.91 4957.03,-2534.04 4967.49,-2517.17 5030,-2484.04 5082.69,-2456.12 5147.65,-2433.45 5190.59,-2419.93"/>
<polygon fill="#f91010" stroke="black" points="5191.5,-2423 5200.02,-2416.7 5189.43,-2416.32 5191.5,-2423"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge547" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4101,-4596.05C4023.68,-4577.68 4025,-4513.67 4025,-4434.19 4025,-4434.19 4025,-4434.19 4025,-3881.12 4025,-3730.48 4079.84,-3700.05 4144,-3563.75 4230.68,-3379.61 4247.72,-3327.79 4372,-3166.61 4374.92,-3162.82 4859.37,-2685.74 4863,-2682.62 4976.92,-2584.43 4999.93,-2545.93 5137,-2484.04 5198.31,-2456.37 5222.49,-2475.26 5284,-2448.04 5290.23,-2445.29 5296.51,-2441.9 5302.57,-2438.27"/>
<polygon fill="#f91010" stroke="black" points="5304.27,-2440.7 5310.84,-2432.4 5300.52,-2434.79 5304.27,-2440.7"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_github -->
<g id="edge548" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4596.05C5205.31,-4413.33 5647.87,-4153.43 5791,-4032.9 5848.98,-3984.07 5867.66,-3976.7 5923,-3924.9 5961.01,-3889.32 5955.69,-3861.07 6003,-3839.34 6174.39,-3760.59 6686.2,-3895.08 6851,-3803.34 6877.24,-3788.73 6868.5,-3769.42 6889,-3747.48 6942.99,-3689.68 7112.89,-3583.5 7169,-3527.75 7357.96,-3340 7386.21,-3274.68 7542,-3058.61 7589.36,-2992.92 7905.5,-2521.31 7940,-2448.04 7972.4,-2379.24 7959.9,-2354.11 7991,-2284.7"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge549" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C5062.02,-4655.64 4764.39,-4694.36 4695,-4615.05 4669.98,-4586.46 4551.26,-4447.08 4834,-4124.76 4859.44,-4095.75 4881.19,-4110.59 4913,-4088.76 4942.25,-4068.69 4943.74,-4056.75 4970,-4032.9 5068.89,-3943.06 5085.6,-3908.35 5200,-3839.34 5292.84,-3783.33 5320.62,-3772.98 5426,-3747.48 5513.6,-3726.27 5764.08,-3772.95 5830,-3711.48 5869.1,-3675.01 5849,-3646.15 5849,-3592.68 5849,-3592.68 5849,-3592.68 5849,-3498.82 5849,-3373.39 6081.55,-2520.66 6133,-2406.26"/>
<path fill="none" stroke="black" d="M6133,-2404.26C6137.98,-2379.29 6144.41,-2351.59 6149.85,-2329.15"/>
<polygon fill="#f91010" stroke="black" points="6153.46,-2330.13 6152.43,-2319.59 6146.66,-2328.47 6153.46,-2330.13"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge550" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C5028.47,-4648.36 4958.41,-4698.2 4861,-4598.05"/>
<path fill="none" stroke="black" d="M4861,-4596.05C4836.81,-4571.18 4823,-4531.97 4823,-4352.26 4823,-4352.26 4823,-4352.26 4823,-4250.98 4823,-4104.87 4954.18,-4123.26 5069,-4032.9 5187.31,-3939.79 5211.61,-3905.19 5347,-3839.34 5472.4,-3778.35 5511.26,-3779.42 5647,-3747.48 5741.74,-3725.18 5788,-3773.5 5863,-3711.48 5919.31,-3664.91 6052.93,-3156.98 6091,-3094.61 6102.31,-3076.08 6111.65,-3076.46 6124,-3058.61 6321.2,-2773.46 6242.86,-2619.08 6476,-2362.48 6498.22,-2338.03 6529.84,-2318.26 6555.46,-2304.77"/>
<polygon fill="#f91010" stroke="black" points="6556.64,-2307.58 6563.95,-2299.91 6553.45,-2301.35 6556.64,-2307.58"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_upload -->
<g id="edge551" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4861,-4596.05C4825.31,-4561.65 4899.39,-4295.56 5037,-4124.76 5081.61,-4069.38 5107.4,-4070.11 5168,-4032.9 5323.8,-3937.22 5363.41,-3912.44 5531,-3839.34 5690.48,-3769.78 5767.9,-3823.53 5901,-3711.48 6070,-3569.2 6061.56,-3471.11 6091,-3252.17 6093.34,-3234.78 6089.45,-3107.82 6101,-3094.61 6154.7,-3033.19 6218.94,-3111.57 6281,-3058.61 6470.82,-2896.61 6511.87,-2571.26 6520.65,-2451.69"/>
<polygon fill="#f91010" stroke="black" points="6524.2,-2451.99 6521.4,-2441.77 6517.22,-2451.51 6524.2,-2451.99"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge552" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C5132.75,-4670.89 5695.62,-4493.67 5728,-4487.19 5842.88,-4464.2 6149.69,-4504.55 6254,-4451.19 6374.7,-4389.46 6343.48,-4301.74 6449,-4216.62 6667.43,-4040.43 6863.45,-4164.84 7009,-3924.9 7152.58,-3688.21 7079.76,-2905.82 6916,-2682.62 6894.13,-2652.8 6872.29,-2666.31 6841,-2646.62 6776.86,-2606.24 6747.58,-2604.53 6708,-2539.91 6637.12,-2424.18 6730.23,-2347.33 6646,-2240.92 6600.05,-2182.87 6519.64,-2240.39 6495,-2170.57"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_core_util -->
<g id="edge553" class="edge">
<title>ahriman_models&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5165,-4677.99C4991.92,-4635.53 5389.35,-4662.96 5561,-4615.05 5706.14,-4574.55 5728.4,-4522.02 5875,-4487.19 6070.21,-4440.81 6125.39,-4471.46 6325,-4451.19 6386.48,-4444.95 6401.75,-4442.36 6463,-4434.19"/>
<path fill="none" stroke="black" d="M6463,-4432.19C6808.11,-4387.71 7226.86,-4362.49 7367.39,-4354.81"/>
<polygon fill="#f91010" stroke="black" points="7367.39,-4358.26 7377.19,-4354.22 7367.01,-4351.27 7367.39,-4358.26"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge554" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13843,-4350.26C13819.51,-4219.79 13767,-4194.4 13767,-4061.83 13767,-4061.83 13767,-4061.83 13767,-3111.61 13767,-3102.79 13673.81,-2491.44 13669,-2484.04 13652.85,-2459.25 13636.52,-2466 13613,-2448.04 13548.83,-2399.04 13528.97,-2389.1 13478,-2326.48 13438.5,-2277.96 13437.59,-2259.5 13407,-2204.92 13389.56,-2173.8 13396.48,-2156.97 13369,-2134.21 13328.08,-2100.32 13299.58,-2127.12 13255,-2098.21 13212.32,-2070.54 13212.81,-2050.65 13179,-2012.65 12961.9,-1768.71 12922.41,-1693.66 12690,-1464.25 12656.06,-1430.75 12630.54,-1436.44 12609,-1393.9"/>
</g>
<!-- ahriman_web_schemas_package_status_schema -->
<g id="node186" class="node">
<title>ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#822b2b" stroke="black" cx="15175" cy="-1179.47" rx="88.21" ry="35.36"/>
<text text-anchor="middle" x="15175" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15175" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15175" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15175" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_status_schema</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_schemas_package_status_schema -->
<g id="edge555" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16923,-4514.12C16904.61,-4483.73 16932.23,-4468.5 16923,-4434.19"/>
<path fill="none" stroke="black" d="M16923,-4432.19C16903.32,-4359 16853.8,-4360.22 16833,-4287.33 16824.38,-4257.11 16831.45,-4248.01 16833,-4216.62 16861.48,-3640.44 16961,-3501.85 16961,-2924.97 16961,-2924.97 16961,-2924.97 16961,-2610.26 16961,-2252.36 16668.98,-2270.04 16464,-1976.65 16429.27,-1926.94 16421.19,-1912.63 16402,-1855.09 16374.1,-1771.46 16400.32,-1522.34 16334,-1464.25 16259.05,-1398.6 15520.95,-1483.45 15438,-1428.25 15409.13,-1409.04 15431.76,-1379.6 15405,-1357.54 15354.1,-1315.57 15313.31,-1361.74 15261,-1321.54 15247.17,-1310.91 15253.9,-1299.94 15242,-1287.18"/>
</g>
<!-- ahriman_web_schemas_remote_schema -->
<g id="node189" class="node">
<title>ahriman_web_schemas_remote_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ac2b2b" stroke="black" cx="15335" cy="-1392.9" rx="60.63" ry="35.36"/>
<text text-anchor="middle" x="15335" y="-1404.4" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15335" y="-1393.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15335" y="-1383.4" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15335" y="-1372.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remote_schema</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_schemas_remote_schema -->
<g id="edge556" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_schemas_remote_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16610,-4350.26C16568.44,-3933.45 16657,-3827.84 16657,-3408.96 16657,-3408.96 16657,-3408.96 16657,-3315.1 16657,-3031.44 16885,-3002.63 16885,-2718.97 16885,-2718.97 16885,-2718.97 16885,-2510.97 16885,-2339.23 15729.59,-1747.94 15631,-1607.32"/>
</g>
<!-- ahriman_web_schemas_status_schema -->
<g id="node191" class="node">
<title>ahriman_web_schemas_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c11515" stroke="black" cx="15489" cy="-1286.18" rx="58.51" ry="35.36"/>
<text text-anchor="middle" x="15489" y="-1297.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15489" y="-1287.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15489" y="-1276.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15489" y="-1266.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status_schema</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_schemas_status_schema -->
<g id="edge557" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_schemas_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17265,-4059.83C17368.72,-3857.4 17464.83,-3819.95 17474,-3592.68"/>
<path fill="none" stroke="black" d="M17474,-3590.68C17462.08,-3503.95 17398,-3496.51 17398,-3408.96 17398,-3408.96 17398,-3408.96 17398,-2716.97 17398,-2441.96 17383.27,-2329.85 17190,-2134.21 16939.16,-1880.31 16652.29,-2139.77 16437,-1855.09 16331.89,-1716.11 16531.45,-1585.2 16406,-1464.25 16338.43,-1399.1 15641.13,-1478.74 15562,-1428.25 15528.33,-1406.77 15509.4,-1364.45 15499.3,-1331.74"/>
<polygon fill="#f91010" stroke="black" points="15502.47,-1331.12 15496.32,-1322.49 15495.75,-1333.07 15502.47,-1331.12"/>
</g>
<!-- ahriman_web_views_api_docs -->
<g id="node194" class="node">
<title>ahriman_web_views_api_docs</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#913030" stroke="black" cx="15974" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="15974" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15974" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15974" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15974" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">api.</text>
<text text-anchor="middle" x="15974" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">docs</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_api_docs -->
<g id="edge558" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_api_docs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18324,-2716.97C18303.37,-2423.11 18379,-2351.02 18379,-2056.43 18379,-2056.43 18379,-2056.43 18379,-1818.74 18379,-1676.34 18341,-1643 18341,-1500.61 18341,-1500.61 18341,-1500.61 18341,-1391.9 18341,-1323.99 18001.53,-959.43 17940,-930.7 17746.78,-840.45 16219.62,-972.35 16021,-894.7 16017.05,-893.15 16013.22,-891.12 16009.56,-888.77"/>
<polygon fill="#f91010" stroke="black" points="16011.99,-885.48 16001.85,-882.42 16007.86,-891.14 16011.99,-885.48"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge559" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11853.54,-4759.4C12310.8,-4754.61 15780.44,-4717.07 15817,-4679.99"/>
<path fill="none" stroke="black" d="M15817,-4677.99C15903.42,-4590.32 14831.54,-4627.44 14712,-4598.05"/>
<path fill="none" stroke="black" d="M14712,-4596.05C14535.72,-4552.72 14415.02,-4598.1 14337,-4434.19"/>
<path fill="none" stroke="black" d="M14337,-4432.19C14200.23,-4270.12 14185,-4191.97 14185,-3979.9 14185,-3979.9 14185,-3979.9 14185,-3881.12 14185,-3704.67 14071,-3677.27 14071,-3500.82 14071,-3500.82 14071,-3500.82 14071,-3315.1 14071,-2980.56 14020.46,-2897.7 13929,-2575.91 13899.99,-2473.84 13885.33,-2447.62 13822,-2362.48 13778.15,-2303.54 13761.63,-2293.18 13710,-2240.92 13589.73,-2119.2 13537.92,-2109.45 13430,-1976.65 13363.29,-1894.56 13249.66,-1651.43 13181,-1570.96 13165.04,-1552.26 13156.65,-1552.08 13139,-1534.96 13027.95,-1427.29 12758.88,-1140.88 12692,-1001.41 12677.17,-970.47 12665.95,-933.57 12658.43,-904.29"/>
<polygon fill="#f91010" stroke="black" points="12661.65,-903.72 12655.83,-894.87 12654.86,-905.42 12661.65,-903.72"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_base -->
<g id="edge560" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17474,-3590.68C17469.74,-3510.03 17474,-3489.73 17474,-3408.96 17474,-3408.96 17474,-3408.96 17474,-2054.43 17474,-1932.45 17492.48,-1902.49 17523,-1784.38 17556.31,-1655.47 17619,-1633.75 17619,-1500.61 17619,-1500.61 17619,-1500.61 17619,-1391.9 17619,-1169.87 17483.25,-1087.74 17267,-1037.41 17026.61,-981.46 15289.29,-1042.94 15046,-1001.41 15026.27,-998.04 15005.19,-991.56 14987.28,-985.12"/>
<polygon fill="#f91010" stroke="black" points="14988.72,-981.55 14978.13,-981.36 14986.29,-988.12 14988.72,-981.55"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_index -->
<g id="edge561" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18514,-4059.83C18524.27,-4025.82 18522.67,-4014.35 18514,-3979.9"/>
<path fill="none" stroke="black" d="M18514,-3977.9C18492.7,-3893.25 18447.92,-3887.28 18424,-3803.34 18387.04,-3673.63 18441.57,-3629.13 18400,-3500.82"/>
<path fill="none" stroke="black" d="M18400,-3498.82C18369.43,-3425.35 18336.84,-3418.95 18310,-3344.03 18073.11,-2682.88 18268.53,-2453.76 18056,-1784.38 17944.24,-1432.39 17998.83,-1242.95 17692,-1037.41 17684.21,-1032.19 15202.95,-879.42 14821.08,-855.93"/>
<polygon fill="#f91010" stroke="black" points="14821.34,-852.38 14811.15,-855.26 14820.92,-859.37 14821.34,-852.38"/>
</g>
<!-- ahriman_web_views_service_add -->
<g id="node199" class="node">
<title>ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16450" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="16450" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16450" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16450" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16450" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="16450" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">add</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_add -->
<g id="edge562" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18514,-3977.9C18508.79,-3936.1 18521.17,-3924.63 18514,-3883.12"/>
<path fill="none" stroke="black" d="M18514,-3881.12C18508.02,-3846.51 18503.12,-3838.32 18500,-3803.34 18490.31,-3694.81 18515.24,-3666.33 18552,-3563.75 18634.67,-3333.07 18691.88,-3289.85 18773,-3058.61 18866.02,-2793.47 18869.74,-2720.86 18937,-2448.04 18979.7,-2274.84 19025,-2234.82 19025,-2056.43 19025,-2056.43 19025,-2056.43 19025,-1932.87 19025,-1385.46 18843.16,-1050.41 18309,-930.7 17949.69,-850.17 16755.96,-851.38 16499,-852.62"/>
<polygon fill="#f91010" stroke="black" points="16499.15,-849.12 16489.17,-852.67 16499.19,-856.12 16499.15,-849.12"/>
</g>
<!-- ahriman_web_views_service_pgp -->
<g id="node200" class="node">
<title>ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="14003" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="14003" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14003" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14003" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="14003" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="14003" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pgp</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge563" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14712,-4432.19C14727.88,-4354.14 14712,-4332.63 14712,-4252.98 14712,-4252.98 14712,-4252.98 14712,-3315.1 14712,-3202.94 14454.22,-2444.77 14378,-2362.48 14350.95,-2333.28 14326.12,-2352.5 14296,-2326.48 14205.4,-2248.23 14212.3,-2202.21 14153,-2098.21 14101.68,-2008.21 14094.85,-1982.47 14046,-1891.09 13939.83,-1692.5 13910.76,-1642.39 13773,-1464.25 13644.8,-1298.48 13534.28,-1305.54 13464,-1108.12 13390.4,-901.36 13808.25,-862.03 13954.14,-854.62"/>
<polygon fill="#f91010" stroke="black" points="13954.15,-858.08 13963.97,-854.1 13953.81,-851.08 13954.15,-858.08"/>
</g>
<!-- ahriman_web_views_service_rebuild -->
<g id="node201" class="node">
<title>ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="14145" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="14145" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14145" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14145" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="14145" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="14145" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">rebuild</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge564" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14712,-4432.19C14717.23,-4407.72 14722.7,-4402.8 14731,-4379.19 14808.35,-4159.19 14936.94,-4113.69 14902,-3883.12"/>
<path fill="none" stroke="black" d="M14902,-3881.12C14884.15,-3789.17 14826,-3778.21 14826,-3684.55 14826,-3684.55 14826,-3684.55 14826,-3590.68 14826,-3171 14715.07,-3075.31 14567,-2682.62 14511.43,-2535.24 14500.53,-2494.74 14415,-2362.48 14365.08,-2285.29 14333.82,-2280.16 14281,-2204.92 14249.61,-2160.21 14246.91,-2145.76 14220,-2098.21 14127.07,-1934.02 13908.28,-1515.43 13805,-1357.54 13761.46,-1290.97 13722.32,-1290.24 13697,-1214.83 13687,-1185.04 13685.67,-1173.43 13697,-1144.12 13720.11,-1084.34 13743.64,-1077.05 13794,-1037.41 13871.63,-976.3 13901.44,-976.46 13989,-930.7 14026.39,-911.15 14069.32,-889.83 14100.67,-874.46"/>
<polygon fill="#f91010" stroke="black" points="14101.98,-877.23 14109.42,-869.69 14098.9,-870.94 14101.98,-877.23"/>
</g>
<!-- ahriman_web_views_service_remove -->
<g id="node202" class="node">
<title>ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16262" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="16262" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16262" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16262" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16262" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="16262" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">remove</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge565" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18759,-3022.25C18780.38,-2935.88 18795.96,-2914.66 18797,-2825.68"/>
<path fill="none" stroke="black" d="M18797,-2823.68C18786.44,-2724.39 18721,-2712.11 18721,-2612.26 18721,-2612.26 18721,-2612.26 18721,-2168.57 18721,-1758.37 18822.92,-1609.02 18623,-1250.83 18506.7,-1042.47 18420.84,-998.29 18192,-930.7 17991.31,-871.42 16503.88,-970.93 16309,-894.7 16305.05,-893.15 16301.22,-891.12 16297.56,-888.77"/>
<polygon fill="#f91010" stroke="black" points="16299.99,-885.48 16289.85,-882.41 16295.86,-891.14 16299.99,-885.48"/>
</g>
<!-- ahriman_web_views_service_request -->
<g id="node203" class="node">
<title>ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16356" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="16356" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16356" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16356" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16356" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="16356" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">request</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_request -->
<g id="edge566" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18797,-2823.68C18771.21,-2019.37 19173.98,-1478.63 18501,-1037.41 18365,-948.24 18311.59,-956.33 18151,-930.7 17959.16,-900.08 16583.86,-965.6 16403,-894.7 16399.05,-893.15 16395.22,-891.11 16391.56,-888.77"/>
<polygon fill="#f91010" stroke="black" points="16393.99,-885.48 16383.85,-882.41 16389.87,-891.13 16393.99,-885.48"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_search -->
<g id="edge567" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14337,-4151.69C14329.19,-4075.74 14337,-4056.25 14337,-3979.9 14337,-3979.9 14337,-3979.9 14337,-3881.12 14337,-3592.79 14250.41,-3531.26 14178,-3252.17 14162.15,-3191.09 14147,-3176.71 14147,-3113.61 14147,-3113.61 14147,-3113.61 14147,-3022.25 14147,-2821.59 14121.52,-2772.02 14079,-2575.91 13988.82,-2159.96 13970.39,-2039.95 13747,-1677.67 13674.34,-1559.83 13394.41,-1337.37 13330,-1214.83 13270.3,-1101.26 13236.64,-1051.8 13279,-930.7 13284.42,-915.2 13294.36,-900.49 13304.72,-888.12"/>
<polygon fill="#f91010" stroke="black" points="13307.94,-890.76 13311.91,-880.94 13302.68,-886.14 13307.94,-890.76"/>
</g>
<!-- ahriman_web_views_service_update -->
<g id="node205" class="node">
<title>ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16068" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="16068" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16068" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16068" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16068" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service.</text>
<text text-anchor="middle" x="16068" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">update</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_service_update -->
<g id="edge568" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18400,-3406.96C18386.1,-3280.85 18562.27,-3329.11 18607,-3210.39"/>
<path fill="none" stroke="black" d="M18607,-3208.39C18630.4,-3123 18531,-3112.79 18531,-3024.25 18531,-3024.25 18531,-3024.25 18531,-2168.57 18531,-1747.19 18525.62,-1602.18 18293,-1250.83 18194.83,-1102.56 18211.3,-1011.71 18053,-930.7 17957.14,-881.64 16215.3,-933.9 16115,-894.7 16111.05,-893.15 16107.22,-891.12 16103.56,-888.77"/>
<polygon fill="#f91010" stroke="black" points="16105.99,-885.48 16095.85,-882.42 16101.86,-891.14 16105.99,-885.48"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge569" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15251,-4350.26C15214.37,-4326.47 15251,-4197.37 15251,-4153.69 15251,-4153.69 15251,-4153.69 15251,-2922.97 15251,-2692.7 15289,-2636.53 15289,-2406.26 15289,-2406.26 15289,-2406.26 15289,-2282.7 15289,-1874.25 15177.28,-1734.48 14871,-1464.25 14842.37,-1438.99 14823.49,-1451.23 14793,-1428.25 14759.85,-1403.28 14768.59,-1377.13 14732,-1357.54 14674.94,-1327 14485.84,-1370.05 14443,-1321.54 14358.77,-1226.17 14419.53,-1150.41 14478,-1037.41 14496.49,-1001.67 14517.5,-1003.29 14535,-967.05"/>
<path fill="none" stroke="black" d="M14535,-965.05C14544.92,-944.51 14554.99,-921.4 14563.33,-901.52"/>
<polygon fill="#f91010" stroke="black" points="14566.91,-903.03 14567.52,-892.45 14560.44,-900.34 14566.91,-903.03"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_package -->
<g id="edge570" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14337,-4432.19C14275.91,-4324.54 14361.12,-4275.1 14337,-4153.69"/>
<path fill="none" stroke="black" d="M14337,-4151.69C14322.38,-4069.49 14261,-4063.39 14261,-3979.9 14261,-3979.9 14261,-3979.9 14261,-3682.55 14261,-3420.82 14109,-3375.34 14109,-3113.61 14109,-3113.61 14109,-3113.61 14109,-3022.25 14109,-2972.35 14073.16,-2623.76 14059,-2575.91 13978.86,-2305.13 13927.86,-2243.34 13765,-2012.65 13701.77,-1923.09 13226.11,-1316.06 13138,-1250.83 13104.37,-1225.93 13085.81,-1238.05 13051,-1214.83 12995.12,-1177.56 12969.74,-1170.15 12944,-1108.12 12931.95,-1079.09 12938.27,-1068.31 12944,-1037.41 12944.38,-1035.35 12969.66,-968.66 12971,-967.05"/>
<path fill="none" stroke="black" d="M12971,-965.05C12981.37,-951.02 12976.69,-941.98 12990,-930.7 13039.24,-888.93 13112.5,-868.99 13160.51,-859.91"/>
<polygon fill="#f91010" stroke="black" points="13161.02,-863.19 13170.24,-857.98 13159.78,-856.3 13161.02,-863.19"/>
</g>
<!-- ahriman_web_views_status_packages -->
<g id="node209" class="node">
<title>ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#7a2828" stroke="black" cx="16165" cy="-851.92" rx="41.01" ry="42.78"/>
<text text-anchor="middle" x="16165" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16165" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16165" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="16165" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="16165" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">packages</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge571" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18607,-3208.39C18645.13,-3109.36 18723.92,-3124.41 18759,-3024.25"/>
<path fill="none" stroke="black" d="M18759,-3022.25C18765.98,-2975.94 18683,-2872.52 18683,-2825.68 18683,-2825.68 18683,-2825.68 18683,-2168.57 18683,-1561.95 18664.09,-1173.09 18108,-930.7 17915.15,-846.64 16412.07,-968.32 16215,-894.7 16210.83,-893.14 16206.76,-891.07 16202.85,-888.69"/>
<polygon fill="#f91010" stroke="black" points="16205.3,-885.44 16195.08,-882.65 16201.33,-891.2 16205.3,-885.44"/>
</g>
<!-- ahriman_web_views_status_status -->
<g id="node210" class="node">
<title>ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="15880" cy="-851.92" rx="37.83" ry="42.78"/>
<text text-anchor="middle" x="15880" y="-868.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15880" y="-858.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15880" y="-847.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15880" y="-837.17" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status.</text>
<text text-anchor="middle" x="15880" y="-826.67" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status</text>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_status_status -->
<g id="edge572" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18400,-3498.82C18391.04,-3459.9 18407.78,-3448.13 18400,-3408.96"/>
<path fill="none" stroke="black" d="M18400,-3406.96C18381.75,-3315.09 18324,-3304.06 18324,-3210.39 18324,-3210.39 18324,-3210.39 18324,-2922.97 18324,-2832.3 18339.43,-2808.31 18324,-2718.97"/>
<path fill="none" stroke="black" d="M18324,-2716.97C18268.02,-2425.58 18227,-2353.15 18227,-2056.43 18227,-2056.43 18227,-2056.43 18227,-1932.87 18227,-1572.39 18147.67,-1487.51 18038,-1144.12 18001.69,-1030.42 17986.16,-974.15 17875,-930.7 17673.38,-851.88 16128.63,-973.5 15927,-894.7 15923.05,-893.15 15919.22,-891.12 15915.56,-888.77"/>
<polygon fill="#f91010" stroke="black" points="15917.99,-885.48 15907.85,-882.42 15913.86,-891.14 15917.99,-885.48"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_user_login -->
<g id="edge573" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14902,-3881.12C14874.44,-3672.4 14940,-3619.49 14940,-3408.96 14940,-3408.96 14940,-3408.96 14940,-3315.1 14940,-2997.67 14549.16,-2275.09 14441,-1976.65 14341.6,-1702.39 14421.39,-1571.42 14223,-1357.54 14195.93,-1328.36 14168,-1350.79 14141,-1321.54 14065.96,-1240.24 14045.91,-1158.54 14117,-1073.76"/>
<path fill="none" stroke="black" d="M14117,-1071.76C14150.23,-1011.53 14192.42,-1024.01 14231,-967.05"/>
<path fill="none" stroke="black" d="M14231,-965.05C14246.62,-941.98 14264.06,-916.25 14278.29,-895.26"/>
<polygon fill="#f91010" stroke="black" points="14281.67,-897.52 14284.38,-887.28 14275.87,-893.59 14281.67,-897.52"/>
</g>
<!-- ahriman_models&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge574" class="edge">
<title>ahriman_models&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16391,-3682.55C16358.25,-3608.72 16391,-3581.59 16391,-3500.82 16391,-3500.82 16391,-3500.82 16391,-3111.61 16391,-2918.05 16388.33,-2862.15 16316,-2682.62 16277.88,-2587.99 16152.62,-2396.79 16030,-2240.92 15870.85,-2038.63 15595.93,-1837.91 15390,-1641.67 15341.38,-1595.34 15330.09,-1582.85 15283,-1534.96 15198.38,-1448.92 14996.91,-1223.47 14906,-1144.12 14865.54,-1108.81 14740.52,-1046.26 14711,-1001.41 14692.35,-973.08 14683.86,-935.86 14680.02,-905.78"/>
<polygon fill="#f91010" stroke="black" points="14683.41,-905.59 14678.81,-896.05 14676.45,-906.38 14683.41,-905.59"/>
</g>
<!-- ahriman_models_action -->
<g id="node137" class="node">
<title>ahriman_models_action</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e72222" stroke="black" cx="18004" cy="-2169.57" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="18004" y="-2175.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="18004" y="-2165.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="18004" y="-2154.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">action</text>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_ahriman -->
<g id="edge575" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18004,-2054.43C18025.24,-1953.45 18092.75,-1960.62 18169,-1891.09 18241.89,-1824.62 18269.59,-1818.48 18339,-1748.38 18410.86,-1675.82 18406.29,-1636.03 18485,-1570.96 18510.75,-1549.67 18526.98,-1558.18 18551,-1534.96 18626.32,-1462.16 18625.97,-1423.26 18651,-1321.54 18685.38,-1181.84 18679.19,-1143.91 18699,-1001.41 18711.52,-911.38 18698.03,-669.57 18751,-595.72 18788.18,-543.88 18859.92,-593.33 18880,-532.79"/>
<path fill="none" stroke="black" d="M18880,-530.79C18909.7,-438.71 18939.53,-422.13 18956,-326.79"/>
<path fill="none" stroke="black" d="M18956,-324.79C19003.9,247.18 16950.66,-202.49 16377,-183.72 13683.96,-95.64 10365.85,-37.92 9891.48,-29.89"/>
<polygon fill="#e72222" stroke="black" points="9891.54,-26.38 9881.48,-29.71 9891.42,-33.38 9891.54,-26.38"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge576" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17967.4,-2162.01C17698.96,-2114.19 16005.73,-1816.98 14616,-1677.67 14331.2,-1649.12 14257.84,-1669.75 13973,-1641.67 13636.18,-1608.47 13553.49,-1586.59 13219,-1534.96 11609.98,-1286.59 11226.67,-1085.85 9606,-930.7 6836.45,-665.56 6112.87,-1083.29 3348,-773.14 3189.42,-755.35 3154.01,-724.68 2996,-702.43 2801.71,-675.06 2742.5,-727.39 2556,-666.43 2551.67,-665.01 2547.33,-663.2 2543.08,-661.15"/>
<polygon fill="#e72222" stroke="black" points="2544.88,-657.62 2534.41,-656.02 2541.6,-663.8 2544.88,-657.62"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_status_update -->
<g id="edge577" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_handlers_status_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18022.47,-2145.01C18047.35,-2113.73 18093.55,-2057.25 18137,-2012.65 18259.61,-1886.82 18301.27,-1866.87 18431,-1748.38 18533.97,-1654.34 18572.23,-1642.51 18661,-1534.96 18803.29,-1362.57 18828.28,-1308.67 18927,-1108.12 19004.39,-950.9 18920.17,-837.43 19065,-738.78"/>
</g>
<!-- ahriman_models_action&#45;&gt;ahriman_application_handlers_users -->
<g id="edge578" class="edge">
<title>ahriman_models_action&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M18000.91,-2141.51C17999.02,-2118.6 17997.99,-2085.01 18004,-2056.43"/>
<path fill="none" stroke="black" d="M18004,-2054.43C18014.94,-2002.43 17998.44,-1987.9 18002,-1934.87"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_application_handlers_search -->
<g id="edge579" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_application_handlers_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5994.53,-4142.59C5630.72,-4072.73 3290.37,-3622 2985,-3527.75 2822.88,-3477.72 2789.91,-3444.56 2633,-3380.03 2531.96,-3338.48 2507.44,-3326.13 2405,-3288.17 1968.48,-3126.39 1852.73,-3104.74 1413,-2951.9 1222.04,-2885.53 692.05,-2796.15 556,-2646.62 432.27,-2510.61 455.62,-2423.77 475,-2240.92 491.76,-2082.8 507.34,-2044.28 550,-1891.09 639.62,-1569.27 682.93,-1495.19 795,-1180.47"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge580" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6235,-3977.9C6268.8,-3946.08 6286.81,-3951.28 6325,-3924.9 6329.41,-3921.85 6333.93,-3918.54 6338.37,-3915.16"/>
<polygon fill="#d10505" stroke="black" points="6340.03,-3917.52 6345.77,-3908.62 6335.73,-3912 6340.03,-3917.52"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge581" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6111,-4059.83C6138.35,-4000.24 6187.26,-4024.85 6235,-3979.9"/>
<path fill="none" stroke="black" d="M6235,-3977.9C6284.12,-3931.65 6241.34,-3877.46 6297,-3839.34 6361.8,-3794.96 6944.02,-3855.21 7003,-3803.34 7050.42,-3761.63 7231.43,-2732.73 7193,-2682.62 7155.48,-2633.68 7112.94,-2676.5 7059,-2646.62 7018.64,-2624.26 7024.36,-2596.35 6983,-2575.91 6883.38,-2526.65 6804.37,-2604.27 6741,-2512.97"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official_syncdb -->
<g id="edge582" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_official_syncdb</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6061.72,-4126.8C6075.74,-4108.93 6094.86,-4084.14 6111,-4061.83"/>
<path fill="none" stroke="black" d="M6111,-4059.83C6116.55,-4052.16 5859.52,-3843.47 5851,-3839.34 5778.37,-3804.13 5740.22,-3848.01 5673,-3803.34 5647.99,-3786.72 5660.03,-3764.07 5635,-3747.48 5567,-3702.4 5525.04,-3753.32 5455,-3711.48 5432.26,-3697.89 5387.98,-3644.54 5379,-3619.62 5340.83,-3513.59 5476.75,-3368.95 5488,-3344.03 5604.64,-3085.59 5623.95,-3016.69 5729,-2753.33 5782.95,-2618.06 5800.6,-2585.74 5848,-2448.04 5860.73,-2411.07 5873.36,-2368.78 5882.62,-2336.49"/>
<polygon fill="#d10505" stroke="black" points="5886.25,-2337.52 5885.62,-2326.94 5879.51,-2335.6 5886.25,-2337.52"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge583" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6235,-3977.9C6241.26,-3972.52 6282.2,-3931.61 6287,-3924.9 6311.76,-3890.28 6294.32,-3862.54 6330,-3839.34 6399.85,-3793.92 6997.19,-3819.1 7079,-3803.34 7201.82,-3779.68 7241.54,-3781.76 7345,-3711.48 7372.08,-3693.08 7370.37,-3679.26 7393,-3655.62 7532.92,-3509.42 7602.01,-3504.73 7725,-3344.03 7812.35,-3229.9 7829.63,-3194.3 7877,-3058.61 7962.59,-2813.45 7815.6,-2682.55 7983,-2484.04 8012.91,-2448.57 8042.66,-2474.18 8081,-2448.04 8123.03,-2419.4 8120.32,-2397.72 8157,-2362.48 8174.31,-2345.86 8194.76,-2328.82 8212.25,-2314.94"/>
<polygon fill="#d10505" stroke="black" points="8213.88,-2317.32 8219.57,-2308.39 8209.55,-2311.82 8213.88,-2317.32"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge584" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6004.63,-4133.7C5955.13,-4110 5864.97,-4067.3 5787,-4032.9 5393.58,-3859.32 4407.38,-3428.76 4001,-3288.17 3640.91,-3163.6 3537.97,-3174.51 3175,-3058.61 3042.18,-3016.2 3009.45,-3003.69 2880,-2951.9 2785.8,-2914.21 2760.78,-2907.31 2671,-2860.04 2618.24,-2832.26 2609.12,-2818.27 2557,-2789.33 2431.76,-2719.78 2392.84,-2716.88 2268,-2646.62 2264.55,-2644.68 2261.02,-2642.61 2257.49,-2640.49"/>
<polygon fill="#d10505" stroke="black" points="2259.59,-2637.06 2249.23,-2634.82 2255.93,-2643.03 2259.59,-2637.06"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_models_package_description -->
<g id="edge585" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6092.85,-4151.23C6468.2,-4147.78 8803.17,-4124.94 9115,-4088.76 9132.92,-4086.68 9152.06,-4083.24 9169.87,-4079.5"/>
<polygon fill="#d10505" stroke="black" points="9170.15,-4082.8 9179.18,-4077.27 9168.67,-4075.96 9170.15,-4082.8"/>
</g>
<!-- ahriman_models_aur_package&#45;&gt;ahriman_web_views_service_search -->
<g id="edge586" class="edge">
<title>ahriman_models_aur_package&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6092.35,-4148.91C6507.64,-4125.74 9410.37,-3959.46 11757,-3711.48 12061.59,-3679.29 12145.06,-3702.2 12440,-3619.62 12832.4,-3509.74 12928.94,-3459.06 13280,-3252.17 13652.41,-3032.69 13777.47,-2781.95 13673,-2362.48 13602.69,-2080.19 13514.98,-2034.26 13366,-1784.38 13336.83,-1735.45 13327.19,-1724.67 13295,-1677.67 13291.58,-1672.68 13045.83,-1327.31 13044,-1321.54 13034.5,-1291.58 13039.46,-1281.93 13044,-1250.83 13048.72,-1218.54 13080.04,-1209.44 13065,-1180.47"/>
<path fill="none" stroke="black" d="M13065,-1178.47C13011.32,-1080.92 12955.67,-1015.35 13028,-930.7 13061.32,-891.7 13207.1,-910.19 13256,-894.7 13270.12,-890.23 13284.82,-883.73 13297.95,-877.19"/>
<polygon fill="#d10505" stroke="black" points="13299.35,-879.89 13306.64,-872.21 13296.15,-873.67 13299.35,-879.89"/>
</g>
<!-- ahriman_models_auth_settings -->
<g id="node139" class="node">
<title>ahriman_models_auth_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db2f2f" stroke="black" cx="14942" cy="-2283.7" rx="52.68" ry="27.93"/>
<text text-anchor="middle" x="14942" y="-2289.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14942" y="-2279.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="14942" y="-2268.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth_settings</text>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_auth -->
<g id="edge587" class="edge">
<title>ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14969.78,-2259.79C14991.7,-2239.17 15019.19,-2206.63 15023,-2170.57"/>
<path fill="none" stroke="black" d="M15023,-2168.57C15036.21,-2043.37 15028.18,-2000.57 14966,-1891.09 14965.28,-1889.83 14890.09,-1821.7 14889,-1820.74"/>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge588" class="edge">
<title>ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14937.86,-2255.59C14934.7,-2232.93 14930.76,-2199.73 14930,-2170.57"/>
<path fill="none" stroke="black" d="M14930,-2168.57C14928.69,-2118.41 14924.41,-2106.06 14917,-2056.43"/>
</g>
<!-- ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge589" class="edge">
<title>ahriman_models_auth_settings&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14930,-2168.57C14926.78,-2045.26 15014.58,-1986.17 14936,-1891.09 14896.18,-1842.91 14708.34,-1827.4 14617.9,-1822.68"/>
<polygon fill="#db2f2f" stroke="black" points="14618.27,-1819.14 14608.11,-1822.14 14617.92,-1826.13 14618.27,-1819.14"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_ahriman -->
<g id="edge590" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12414.37,-3479.25C12420.71,-3476.3 12427.42,-3473.65 12434,-3471.89 12727.65,-3393.34 12817.37,-3487.11 13117,-3435.89 13203.76,-3421.06 13220.29,-3395.15 13307,-3380.03 13573.24,-3333.62 13644.72,-3366.9 13914,-3344.03 14283.81,-3312.62 14375.84,-3299.09 14744,-3252.17 15008.15,-3218.51 15073.24,-3203.22 15337,-3166.61 15696.74,-3116.68 15793.09,-3140.16 16147,-3058.61 16664.01,-2939.47 16775.85,-2847.94 17280,-2682.62 17601.41,-2577.22 17691.62,-2577.77 18004,-2448.04 18219.37,-2358.6 18270.3,-2327.01 18469,-2204.92 18539.33,-2161.71 18558.06,-2151.62 18621,-2098.21 18955.67,-1814.22 19039.87,-1716.67 19231,-1321.54 19252.92,-1276.22 19258.05,-1263.97 19269,-1214.83 19293.07,-1106.84 19249.02,-1068.57 19293,-967.05"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge591" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12332.23,-3497.55C12115.6,-3491.81 11218.79,-3467.3 10483,-3435.89 10434.12,-3433.81 7009.09,-3273.38 6965,-3252.17 6919.16,-3230.12 6934.82,-3188.68 6889,-3166.61 6821.44,-3134.06 6289.66,-3137.73 6215,-3130.61 5983.65,-3108.54 5410.61,-3007.05 5179,-2987.9 5107.99,-2982.03 3956.63,-2990.89 3897,-2951.9 3834.22,-2910.85 3778.48,-2717.16 3753,-2646.62 3715.52,-2542.86 3691,-2516.58 3691,-2406.26 3691,-2406.26 3691,-2406.26 3691,-2282.7 3691,-2060.74 3707.61,-2000.73 3658,-1784.38 3639.16,-1702.22 3590,-1691.62 3590,-1607.32 3590,-1607.32 3590,-1607.32 3590,-850.92 3590,-784.07 3572.31,-754.69 3614,-702.43 3642.7,-666.46 3692.68,-648.76 3731.74,-640.13"/>
<polygon fill="#e50505" stroke="black" points="3732.35,-643.37 3741.44,-637.92 3730.94,-636.51 3732.35,-643.37"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_handlers_status -->
<g id="edge592" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12332.37,-3498.38C12045.38,-3495.63 10543.81,-3479.64 9319,-3435.89 8516.25,-3407.22 8312.56,-3430.84 7514,-3344.03 7364.38,-3327.77 7328.94,-3309.83 7180,-3288.17 7051.04,-3269.42 7012.79,-3292.9 6889,-3252.17 6815.36,-3227.94 6811.4,-3188.38 6737,-3166.61 6601.14,-3126.86 6242.22,-3140.34 6101,-3130.61 5903.93,-3117.03 5854.94,-3109.97 5658,-3094.61 5644.75,-3093.58 3760.87,-2957.89 3749,-2951.9 3563.48,-2858.22 3235,-2378.4 3235,-2170.57 3235,-2170.57 3235,-2170.57 3235,-2054.43 3235,-1750.69 3243.52,-922.35 3034,-702.43 3003.66,-670.58 2883.34,-649.34 2810.66,-639.12"/>
<polygon fill="#e50505" stroke="black" points="2811.25,-635.53 2800.86,-637.64 2810.29,-642.47 2811.25,-635.53"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_application_lock -->
<g id="edge593" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12428.56,-3494.03C12523.48,-3484.31 12743.13,-3461.07 12927,-3435.89 13083.94,-3414.41 13121.83,-3399.77 13279,-3380.03 13450.83,-3358.45 13494.79,-3362.34 13667,-3344.03 13874.43,-3321.98 13925.29,-3307.35 14133,-3288.17 14255.85,-3276.82 14574.4,-3302.58 14687,-3252.17 14736.5,-3230.01 14725.91,-3191.69 14774,-3166.61 14928.73,-3085.91 14986.59,-3114.23 15160,-3094.61 15354.48,-3072.61 15852.64,-3115.2 16040,-3058.61 16219.23,-3004.48 16301.62,-2990.19 16391,-2825.68"/>
<path fill="none" stroke="black" d="M16391,-2823.68C16445.06,-2671.11 16507.73,-2657.31 16581,-2512.97"/>
<path fill="none" stroke="black" d="M16581,-2510.97C16592.86,-2485.67 16610.17,-2459.42 16624.49,-2439.54"/>
<polygon fill="#e50505" stroke="black" points="16627.74,-2442.01 16630.82,-2431.87 16622.09,-2437.88 16627.74,-2442.01"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge594" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12335.84,-3489.47C12135.44,-3447.98 11325.18,-3280.21 11067.26,-3226.8"/>
<polygon fill="#e50505" stroke="black" points="11067.99,-3223.17 11057.49,-3224.57 11066.57,-3230.03 11067.99,-3223.17"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge595" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12332.13,-3498.7C11853.41,-3497.47 8007.8,-3486 7502,-3435.89 7295.18,-3415.4 6746.23,-3383.31 6585,-3252.17 6552.72,-3225.91 6581.64,-3189.66 6547,-3166.61 6507.67,-3140.45 4894.17,-3133.07 4847,-3130.61 4460.86,-3110.51 4363.06,-3111.25 3980,-3058.61 3731.59,-3024.47 3670.48,-3007.62 3426,-2951.9 3327.07,-2929.35 2635.82,-2759.96 2543,-2718.97"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_formatters_status_printer -->
<g id="edge596" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_formatters_status_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12332.13,-3498.57C11874.84,-3496.17 8352.07,-3476.41 7887,-3435.89 7631.37,-3413.62 7569.49,-3389.79 7317,-3344.03 7113.58,-3307.16 7061.33,-3303.26 6861,-3252.17 6736.56,-3220.43 6711.42,-3189.22 6585,-3166.61 6289.7,-3113.79 6210.32,-3150.53 5911,-3130.61 5661.65,-3114.02 3914.34,-2999.45 3669,-2951.9 3263.94,-2873.39 2796.96,-2696.64 2639.25,-2634.43"/>
<polygon fill="#e50505" stroke="black" points="2640.9,-2630.93 2630.32,-2630.5 2638.33,-2637.43 2640.9,-2630.93"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_client -->
<g id="edge597" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12477,-3406.96C12503.47,-3380.04 12535.91,-3288.26 12547,-3252.17 12565.36,-3192.43 12602.56,-3167.55 12571,-3113.61"/>
<path fill="none" stroke="black" d="M12571,-3111.61C12521.74,-3019.98 12442.49,-3089.01 12343,-3058.61 12327.94,-3054.01 12311.79,-3048.15 12297.38,-3042.57"/>
<polygon fill="#e50505" stroke="black" points="12298.82,-3038.98 12288.24,-3038.58 12296.26,-3045.5 12298.82,-3038.98"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_watcher -->
<g id="edge598" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12477,-3406.96C12506.2,-3377.77 12691.95,-3314.01 12861,-3288.17 12938.73,-3276.29 14219.09,-3306.43 14276,-3252.17 14390.78,-3142.74 14321.69,-3052.84 14298,-2896.04 14290.58,-2846.95 14294.7,-2829.11 14265,-2789.33 14247.74,-2766.21 14225.08,-2778.5 14211,-2753.33 14126.14,-2601.61 14281.8,-2513.67 14196,-2362.48 14181.58,-2337.08 14162.22,-2346.57 14141,-2326.48 14015.22,-2207.43 14025.68,-2141.55 13910,-2012.65 13762.94,-1848.78 13707.45,-1826.3 13545,-1677.67 13493.07,-1630.16 13480.93,-1617.35 13428,-1570.96 13320.32,-1476.59 13189.93,-1368.5 13127.61,-1317.21"/>
<polygon fill="#e50505" stroke="black" points="13130.23,-1314.01 13120.28,-1310.36 13125.78,-1319.41 13130.23,-1314.01"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_status_web_client -->
<g id="edge599" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12571,-3111.61C12538.53,-3051.21 12476.21,-2553.64 12421,-2512.97"/>
<path fill="none" stroke="black" d="M12421,-2510.97C12357.77,-2466.61 12326.88,-2484.9 12259,-2448.04 12252.99,-2444.78 12246.88,-2440.98 12240.99,-2437.04"/>
<polygon fill="#e50505" stroke="black" points="12243.17,-2433.6 12232.96,-2430.77 12239.17,-2439.35 12243.17,-2433.6"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge600" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12332.76,-3495.78C11937.73,-3470.85 9193.77,-3298.04 6965,-3166.61 6682.37,-3149.94 6608.06,-3178.38 6329,-3130.61 6272.44,-3120.93 6260.24,-3110.16 6205,-3094.61 5826.95,-2988.16 5713.41,-3016.11 5353,-2860.04 5187.2,-2788.24 5138.69,-2770.32 5007,-2646.62 4879.31,-2526.66 4876.67,-2470.56 4777,-2326.48 4718.6,-2242.06 4714.06,-2213.62 4649,-2134.21 4634.66,-2116.71 4627.65,-2115.46 4613,-2098.21 4598.2,-2080.79 4601.77,-2069.48 4583,-2056.43"/>
<path fill="none" stroke="black" d="M4583,-2054.43C4558.5,-2037.4 4545.44,-2006.2 4538.54,-1979.95"/>
<polygon fill="#e50505" stroke="black" points="4541.75,-1979.34 4536.02,-1970.43 4534.94,-1980.97 4541.75,-1979.34"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_models_counters -->
<g id="edge601" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12423.79,-3486.37C12461.94,-3474.79 12519,-3456.3 12567,-3435.89 12570.94,-3434.22 12574.99,-3432.36 12579.01,-3430.44"/>
<polygon fill="#e50505" stroke="black" points="12580.45,-3433.14 12587.85,-3425.56 12577.34,-3426.86 12580.45,-3433.14"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_models_internal_status -->
<g id="edge602" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12406.81,-3475.73C12426.46,-3457.9 12453.95,-3432.4 12477,-3408.96"/>
<path fill="none" stroke="black" d="M12477,-3406.96C12493.43,-3390.25 12479.87,-3367.06 12462.75,-3348.42"/>
<polygon fill="#e50505" stroke="black" points="12465.76,-3346.46 12456.28,-3341.74 12460.75,-3351.35 12465.76,-3346.46"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_schemas_package_status_schema -->
<g id="edge603" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12415.63,-3479.99C12437.51,-3467.86 12466.23,-3451.48 12491,-3435.89 12528.01,-3412.6 12531.5,-3396.53 12572,-3380.03 12599.98,-3368.64 13077.94,-3291.18 13108,-3288.17 13241.84,-3274.78 14197.97,-3312.86 14318,-3252.17 14361.1,-3230.38 14345.03,-3193.73 14385,-3166.61 14478.92,-3102.89 14518.04,-3113.19 14630,-3094.61 14675.86,-3087 15432.6,-3090.95 15466,-3058.61 15586.25,-2942.19 15490.98,-2849.94 15487,-2682.62 15475.22,-2186.81 15590.48,-2024.58 15390,-1570.96 15355.92,-1493.84 15300.95,-1504.52 15265,-1428.25 15237.92,-1370.79 15283.89,-1334.94 15242,-1287.18"/>
<path fill="none" stroke="black" d="M15242,-1285.18C15224.92,-1266.88 15209.56,-1243.66 15197.87,-1223.74"/>
<polygon fill="#e50505" stroke="black" points="15200.45,-1222.19 15192.43,-1215.26 15194.37,-1225.68 15200.45,-1222.19"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_schemas_status_schema -->
<g id="edge604" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_web_schemas_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12425.98,-3489.15C12482.19,-3477.01 12581.32,-3455.39 12666,-3435.89 12769.77,-3412 12794.22,-3399.03 12899,-3380.03 13225.09,-3320.89 13308.81,-3316.59 13639,-3288.17 13804.36,-3273.94 14223.57,-3290.74 14385,-3252.17 14551.71,-3212.34 14570.22,-3134.13 14737,-3094.61 15087.65,-3011.53 15193.8,-3130.07 15547,-3058.61 15680.79,-3031.54 15723.68,-3030.9 15835,-2951.9 16048.63,-2800.28 15954.36,-2595.67 15835,-2362.48 15783.61,-2262.1 15669,-2283.35 15669,-2170.57 15669,-2170.57 15669,-2170.57 15669,-1605.32 15669,-1536.83 15655.54,-1512.56 15607,-1464.25 15578.5,-1435.89 15549.98,-1458.94 15524,-1428.25 15501.5,-1401.66 15493.09,-1362.73 15490.11,-1332.5"/>
<polygon fill="#e50505" stroke="black" points="15493.54,-1332.48 15489.25,-1322.79 15486.56,-1333.04 15493.54,-1332.48"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_views_status_package -->
<g id="edge605" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12477,-3406.96C12486.67,-3397.55 12482.17,-3390.23 12491,-3380.03 12496.73,-3373.42 12611.22,-3292.19 12619,-3288.17 12897.92,-3144.11 13077.9,-3292.77 13287,-3058.61 13367.77,-2968.16 13339.28,-2910.31 13331,-2789.33 13321.64,-2652.69 13353.47,-2604.88 13289,-2484.04 13239.43,-2391.12 13174.4,-2411.33 13112,-2326.48 13056.43,-2250.93 13088.36,-2203.37 13025,-2134.21 13002.95,-2110.15 12984.06,-2121.3 12961,-2098.21 12930.19,-2067.36 12937.12,-2048.98 12913,-2012.65 12901.79,-1995.77 12896.21,-1993.54 12885,-1976.65 12860.88,-1940.33 12862.58,-1926.4 12837,-1891.09 12799.22,-1838.95 12784.79,-1829.65 12739,-1784.38 12671.47,-1717.62 12634.8,-1719.22 12580,-1641.67 12550.39,-1599.78 12552.13,-1583.66 12536,-1534.96 12469.53,-1334.21 12383,-1282.15 12419,-1073.76"/>
</g>
<!-- ahriman_models_build_status&#45;&gt;ahriman_web_views_status_status -->
<g id="edge606" class="edge">
<title>ahriman_models_build_status&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12414.73,-3479.37C12420.98,-3476.44 12427.56,-3473.78 12434,-3471.89 12589.18,-3426.49 12639.39,-3476.07 12796,-3435.89 12857.31,-3420.17 12865.53,-3395.12 12927,-3380.03 13125.73,-3331.26 13183.3,-3372.03 13386,-3344.03 13512.14,-3326.61 13540.58,-3303.38 13667,-3288.17 13850.74,-3266.06 14319.03,-3295.29 14499,-3252.17 14588.27,-3230.78 14602.87,-3203.35 14687,-3166.61 14724.97,-3150.03 14735.03,-3147.2 14773,-3130.61 14808.36,-3115.16 14814.44,-3103.45 14852,-3094.61 15075.15,-3042.07 15662.33,-3120.74 15883,-3058.61 15975.85,-3032.47 15996.96,-3012.52 16072,-2951.9 16344.43,-2731.82 16345.09,-2607.84 16595,-2362.48 16608.93,-2348.81 16844.25,-2142.33 16862,-2134.21 16959.3,-2089.74 17006.84,-2150.81 17100,-2098.21 17204.2,-2039.39 17183.19,-1971.28 17272,-1891.09 17303.58,-1862.58 17395.49,-1807.83 17431,-1784.38 17491.59,-1744.36 17944.36,-1492.07 17979,-1428.25 18091.03,-1221.83 18020.4,-1014.51 17801,-930.7 17606.45,-856.38 16120.94,-970.58 15927,-894.7 15923.05,-893.15 15919.22,-891.12 15915.56,-888.77"/>
<polygon fill="#e50505" stroke="black" points="15917.99,-885.48 15907.85,-882.41 15913.86,-891.14 15917.99,-885.48"/>
</g>
<!-- ahriman_models_context_key -->
<g id="node141" class="node">
<title>ahriman_models_context_key</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f31616" stroke="black" cx="8098" cy="-4842.85" rx="48.44" ry="27.93"/>
<text text-anchor="middle" x="8098" y="-4849.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8098" y="-4838.6" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="8098" y="-4828.1" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">context_key</text>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core -->
<g id="edge607" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8146.88,-4841.83C8702.23,-4841.54 13802.48,-4836.83 13805,-4761.92"/>
<path fill="none" stroke="black" d="M13805,-4759.92C13806.69,-4709.72 12174.17,-4685.01 11857.02,-4680.68"/>
<polygon fill="#f31616" stroke="black" points="11857.34,-4677.17 11847.29,-4680.54 11857.25,-4684.17 11857.34,-4677.17"/>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge608" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M2391,-4677.99C2320.52,-4663.58 2391,-4588.06 2391,-4516.12 2391,-4516.12 2391,-4516.12 2391,-4151.69 2391,-3732.77 3477.02,-3121.69 3874,-2987.9 3946,-2963.63 4163.18,-3008.38 4214,-2951.9 4230.61,-2933.44 4218.66,-2920.42 4214,-2896.04 4186.03,-2749.76 4073.49,-2718.93 4115,-2575.91 4123.1,-2548 4370.25,-2149.43 4395,-2134.21 4536.51,-2047.23 4632.26,-2195.35 4767,-2098.21 4800.75,-2073.88 4786.85,-2050.1 4805,-2012.65 4831.63,-1957.71 4818.27,-1925.08 4869,-1891.09 4922.77,-1855.07 5344.77,-1832.46 5528.27,-1824.24"/>
<polygon fill="#f31616" stroke="black" points="5528.37,-1827.69 5538.21,-1823.75 5528.06,-1820.7 5528.37,-1827.69"/>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core_repository_repository -->
<g id="edge609" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13805,-4759.92C13811.6,-4564.04 13830.57,-4498.66 13743,-4323.33 13732.89,-4303.09 13720.34,-4305.61 13707,-4287.33 13574.89,-4106.42 13582.82,-4036.25 13476,-3839.34 13428.39,-3751.57 13061.4,-3153.72 13031,-3058.61 12952.87,-2814.13 13054.85,-2727.3 12973,-2484.04 12967.02,-2466.27 12958.92,-2465.04 12951,-2448.04 12942.73,-2430.29 12947.2,-2422.98 12937,-2406.26"/>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core_support_keyring_trigger -->
<g id="edge610" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core_support_keyring_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1902,-4596.05C1746.77,-4469.27 2613.26,-3158.16 2719,-2987.9 2808.35,-2844.04 2838.92,-2812.99 2947,-2682.62 3082.59,-2519.05 3136.88,-2496.18 3302,-2362.48 3505.21,-2197.95 3547.74,-2141.97 3775,-2012.65 3891.85,-1946.16 3921.25,-1922.39 4052,-1891.09 4328.64,-1824.89 4407.62,-1879.72 4691,-1855.09 4769.15,-1848.3 4858.71,-1837.28 4917.81,-1829.56"/>
<polygon fill="#f31616" stroke="black" points="4918.02,-1832.93 4927.48,-1828.16 4917.11,-1825.99 4918.02,-1832.93"/>
</g>
<!-- ahriman_models_context_key&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge611" class="edge">
<title>ahriman_models_context_key&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8049.45,-4841.54C7500.44,-4837.94 2478.56,-4801.67 2391,-4679.99"/>
<path fill="none" stroke="black" d="M2391,-4677.99C2175.24,-4633.9 2077.14,-4731.55 1902,-4598.05"/>
<path fill="none" stroke="black" d="M1902,-4596.05C1838.79,-4547.88 1826,-4513.67 1826,-4434.19 1826,-4434.19 1826,-4434.19 1826,-3590.68 1826,-3446.41 1958.68,-3468.06 2073,-3380.03 2459.78,-3082.21 2592.82,-3057.02 2975,-2753.33 3178.74,-2591.42 3202.61,-2518.36 3411,-2362.48 3647.81,-2185.35 3698.44,-2111.93 3977,-2012.65 4092.28,-1971.57 4128.8,-1993.65 4250,-1976.65 4321.7,-1966.6 4403.56,-1954.34 4460.36,-1945.71"/>
<polygon fill="#f31616" stroke="black" points="4460.66,-1949.05 4470.02,-1944.08 4459.61,-1942.13 4460.66,-1949.05"/>
</g>
<!-- ahriman_models_counters&#45;&gt;ahriman_models_internal_status -->
<g id="edge612" class="edge">
<title>ahriman_models_counters&#45;&gt;ahriman_models_internal_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12587.3,-3392.12C12557.31,-3378.09 12511.83,-3356.81 12476.97,-3340.49"/>
<polygon fill="#a32828" stroke="black" points="12478.98,-3337.1 12468.44,-3336.03 12476.01,-3343.44 12478.98,-3337.1"/>
</g>
<!-- ahriman_models_counters&#45;&gt;ahriman_web_views_status_status -->
<g id="edge613" class="edge">
<title>ahriman_models_counters&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12656.42,-3401.69C12789.71,-3383.12 13253.9,-3320.11 13639,-3288.17 13960.96,-3261.47 14047.99,-3314.41 14365,-3252.17 14416.78,-3242 14761.15,-3104.42 14813,-3094.61 15031.7,-3053.21 15601.46,-3124.72 15814,-3058.61 15869.85,-3041.24 15872.49,-3013.68 15925,-2987.9 15967.4,-2967.08 15988.18,-2981.49 16025,-2951.9 16164.06,-2840.12 16239,-2790.68 16239,-2612.26 16239,-2612.26 16239,-2612.26 16239,-2510.97 16239,-2364.22 16312.59,-2330.28 16429,-2240.92 16575.08,-2128.8 16655.98,-2185.76 16818,-2098.21 16819.99,-2097.14 17861.57,-1323.29 17863,-1321.54 17943.36,-1223.16 17966.72,-1141.56 17894,-1037.41 17840.1,-960.21 17801.64,-956.18 17711,-930.7 17520.14,-877.04 16111.6,-967.02 15927,-894.7 15923.05,-893.15 15919.22,-891.11 15915.56,-888.77"/>
<polygon fill="#a32828" stroke="black" points="15917.99,-885.48 15907.85,-882.41 15913.87,-891.13 15917.99,-885.48"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_core_status_client -->
<g id="edge614" class="edge">
<title>ahriman_models_internal_status&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12421.5,-3287.85C12418.04,-3266.64 12414.94,-3236.51 12419,-3210.39"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_core_status_web_client -->
<g id="edge615" class="edge">
<title>ahriman_models_internal_status&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12438.95,-3288.34C12455.97,-3246.91 12483.76,-3164.69 12471,-3094.61 12423.99,-2836.46 12279.92,-2551.71 12223.75,-2447.42"/>
<polygon fill="#ae1e1e" stroke="black" points="12226.44,-2446.02 12218.6,-2438.89 12220.28,-2449.35 12226.44,-2446.02"/>
</g>
<!-- ahriman_models_internal_status&#45;&gt;ahriman_web_views_status_status -->
<g id="edge616" class="edge">
<title>ahriman_models_internal_status&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12483.05,-3312.72C12599.47,-3307.81 12875.94,-3296.33 13108,-3288.17 13237.76,-3283.6 14154.36,-3297.58 14276,-3252.17 14332.4,-3231.12 14326.58,-3192.34 14381,-3166.61 14526.94,-3097.61 14576.76,-3114.15 14737,-3094.61 15105.28,-3049.7 15208.74,-3138.73 15571,-3058.61 15692.16,-3031.81 15726.3,-3021.55 15829,-2951.9 15912.39,-2895.35 15915.3,-2860.12 15987,-2789.33 16003.56,-2772.98 16012.24,-2772.78 16025,-2753.33 16157.84,-2550.71 16032.66,-2404.92 16211,-2240.92 16389.62,-2076.67 16524,-2212.61 16738,-2098.21 16946.58,-1986.72 16962.2,-1905.47 17139,-1748.38 17279.7,-1623.37 17285.59,-1550.25 17453,-1464.25 17520.15,-1429.76 17548.03,-1453.98 17619,-1428.25 17715.2,-1393.38 17755.24,-1398.21 17823,-1321.54 17907.45,-1225.98 17936.97,-1141.29 17863,-1037.41 17834.63,-997.56 17803.67,-1021.34 17759,-1001.41 17730.23,-988.57 17726.69,-977.6 17697,-967.05"/>
</g>
<!-- ahriman_models_log_handler -->
<g id="node144" class="node">
<title>ahriman_models_log_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#ce3b3b" stroke="black" cx="15174" cy="-3023.25" rx="46.32" ry="27.93"/>
<text text-anchor="middle" x="15174" y="-3029.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15174" y="-3019" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="15174" y="-3008.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log_handler</text>
</g>
<!-- ahriman_models_log_handler&#45;&gt;ahriman_application_ahriman -->
<g id="edge617" class="edge">
<title>ahriman_models_log_handler&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15187.18,-2996.21C15203.53,-2966.78 15234.31,-2919.86 15275,-2896.04 15359.74,-2846.41 15397.23,-2881.77 15493,-2860.04 15990.38,-2747.15 16108.5,-2693.01 16595,-2539.91 17060.69,-2393.35 17168.7,-2309.96 17652,-2240.92 17784.23,-2222.04 18129.39,-2257.92 18252,-2204.92 18294.05,-2186.75 18293.2,-2165.13 18327,-2134.21 18447.13,-2024.33 18463.34,-1978.01 18601,-1891.09 18635.69,-1869.19 18653.18,-1879.72 18686,-1855.09 18734.95,-1818.37 18736.21,-1797.28 18773,-1748.38 18795.99,-1717.83 18794.09,-1703.81 18822,-1677.67 18844.7,-1656.42 18859.1,-1662.71 18882,-1641.67 18968.14,-1562.54 18973.72,-1527.26 19036,-1428.25 19099.68,-1327.01 19141,-1300.08 19141,-1180.47 19141,-1180.47 19141,-1180.47 19141,-1071.76 19141,-865 19257.8,-835.82 19293,-632.07"/>
<path fill="none" stroke="black" d="M19293,-630.07C19296.12,-586.95 19292.59,-576.02 19293,-532.79"/>
</g>
<!-- ahriman_models_log_handler&#45;&gt;ahriman_core_log_log -->
<g id="edge618" class="edge">
<title>ahriman_models_log_handler&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15127.64,-3020.91C14938.12,-3015.26 14203.81,-2991.86 13601,-2951.9 13538.15,-2947.73 11400.97,-2775.48 11342,-2753.33 11338.49,-2752.01 11335.01,-2750.35 11331.62,-2748.47"/>
<polygon fill="#ce3b3b" stroke="black" points="11333.72,-2745.04 11323.38,-2742.74 11330.03,-2750.99 11333.72,-2745.04"/>
</g>
<!-- ahriman_models_log_record_id -->
<g id="node145" class="node">
<title>ahriman_models_log_record_id</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db2f2f" stroke="black" cx="14381" cy="-2717.97" rx="52.15" ry="27.93"/>
<text text-anchor="middle" x="14381" y="-2724.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14381" y="-2713.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="14381" y="-2703.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log_record_id</text>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_core_database_operations_logs_operations -->
<g id="edge619" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_core_database_operations_logs_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14347.94,-2696.01C14337.76,-2690.61 14326.26,-2685.5 14315,-2682.62 14140.92,-2637.96 12877.16,-2660.63 12698,-2646.62 12025.24,-2594 11218.24,-2459.29 10981.43,-2418.29"/>
<polygon fill="#db2f2f" stroke="black" points="10982.37,-2414.72 10971.92,-2416.46 10981.17,-2421.62 10982.37,-2414.72"/>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_core_status_watcher -->
<g id="edge620" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14387.15,-2690.08C14400.27,-2625.3 14423.6,-2458.87 14343,-2362.48 14306.46,-2318.79 14265.03,-2361.36 14220,-2326.48 14185,-2299.38 14192.33,-2278.55 14169,-2240.92 14159.06,-2224.89 14086.87,-2114.29 14077,-2098.21 13989.3,-1955.41 13999.59,-1888.14 13868,-1784.38 13833.52,-1757.2 13813.85,-1770.64 13776,-1748.38 13749.3,-1732.69 13587.76,-1586.56 13561,-1570.96 13522.35,-1548.43 13504.47,-1559.41 13467,-1534.96 13449.01,-1523.22 13449.67,-1514.15 13433,-1500.61"/>
</g>
<!-- ahriman_models_log_record_id&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge621" class="edge">
<title>ahriman_models_log_record_id&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14427.07,-2704.29C14548.67,-2668.21 14879.19,-2552.69 15030,-2326.48 15087.05,-2240.91 15059.53,-2200.71 15068,-2098.21 15075.63,-2005.91 15077.81,-1977.71 15045,-1891.09 15018.85,-1822.06 14994.11,-1813.86 14960,-1748.38 14896.01,-1625.55 14926.46,-1565.54 14832,-1464.25 14808.95,-1439.53 14793.43,-1446.54 14765,-1428.25 14721.33,-1400.16 14720.04,-1377.24 14672,-1357.54 14556.32,-1310.1 14493.99,-1395.25 14393,-1321.54 14350.69,-1290.66 14354.38,-1265.95 14343,-1214.83 14336.17,-1184.15 14332.38,-1173.7 14343,-1144.12 14364.07,-1085.43 14486.51,-953.01 14547.91,-888.96"/>
<polygon fill="#db2f2f" stroke="black" points="14550.03,-891.76 14554.44,-882.13 14544.99,-886.91 14550.03,-891.76"/>
</g>
<!-- ahriman_models_migration&#45;&gt;ahriman_core_database_migrations -->
<g id="edge622" class="edge">
<title>ahriman_models_migration&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11163.22,-2995.15C11172.42,-2922.36 11201.24,-2725.24 11248,-2682.62 11305.4,-2630.29 11355.44,-2691.25 11419,-2646.62 11464.64,-2614.57 11460.28,-2589.89 11485,-2539.91 11499.38,-2510.82 11512.37,-2476.61 11521.64,-2450.09"/>
<polygon fill="#b03a3a" stroke="black" points="11525.18,-2451.55 11525.13,-2440.96 11518.56,-2449.27 11525.18,-2451.55"/>
</g>
<!-- ahriman_models_migration_result&#45;&gt;ahriman_core_database_migrations -->
<g id="edge623" class="edge">
<title>ahriman_models_migration_result&#45;&gt;ahriman_core_database_migrations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11729.38,-4486.93C11727.6,-4454.78 11725,-4399.64 11725,-4352.26 11725,-4352.26 11725,-4352.26 11725,-3682.55 11725,-3284.64 11741.23,-3179.67 11664,-2789.33 11638.8,-2661.98 11583.1,-2518.47 11554.2,-2448.79"/>
<polygon fill="#b03a3a" stroke="black" points="11557.22,-2447.93 11550.13,-2440.05 11550.76,-2450.63 11557.22,-2447.93"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_application_application -->
<g id="edge624" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6419,-3111.61C6188.52,-2783.23 6057,-2685.89 6057,-2284.7 6057,-2284.7 6057,-2284.7 6057,-1818.74 6057,-1796.77 5770.45,-1081.55 5791,-1073.76"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge625" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6419,-3111.61C6407.12,-3090.34 6429.86,-3082.77 6433,-3058.61 6437.05,-3027.44 6442.71,-3017.79 6433,-2987.9 6357.85,-2756.66 6191.96,-2771.85 6119,-2539.91 6061.42,-2356.84 6083.9,-1869.14 6071,-1677.67 6065.69,-1598.91 6043.56,-1578.4 6057,-1500.61"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge626" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6704.56,-3472.37C6715.69,-3445.25 6736.65,-3403.79 6768,-3380.03 6808.69,-3349.19 6940.7,-3333.66 6989,-3317.1"/>
<path fill="none" stroke="black" d="M6989,-3315.1C7001.7,-3310.54 6992.56,-3296.71 7003,-3288.17 7047.74,-3251.55 7075.93,-3277.29 7128,-3252.17 7261.64,-3187.71 7283.98,-3151.1 7400,-3058.61 7503.77,-2975.89 7525.39,-2949.95 7623,-2860.04 7673.57,-2813.46 7686.93,-2802.48 7735,-2753.33 7743.61,-2744.53 8326.9,-2109.42 8332,-2098.21 8347.15,-2064.96 8315.89,-1944.99 8351,-1934.87"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge627" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6656.71,-3498.74C6466.69,-3498.06 5624.08,-3491.87 5369,-3435.89 5304.37,-3421.71 5293.93,-3400.47 5231,-3380.03 5069.85,-3327.7 5026.89,-3322.66 4861,-3288.17 4766.57,-3268.54 4739.23,-3280.38 4647,-3252.17 4559.21,-3225.31 4547.25,-3191.91 4459,-3166.61 4224.14,-3099.27 4156.67,-3123.01 3914,-3094.61 3757.37,-3076.28 3713.27,-3099.63 3561,-3058.61 3449.85,-3028.67 3427.95,-3003.39 3325,-2951.9 3249.24,-2914.01 3222.6,-2914.83 3158,-2860.04 3111.97,-2821 3104.04,-2805.68 3074,-2753.33 3066.28,-2739.87 2665,-1729.54 2665,-1714.03 2665,-1714.03 2665,-1714.03 2665,-1605.32 2665,-1563.3 2608.72,-890.01 2589,-852.92"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_rebuild -->
<g id="edge628" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6657.33,-3495.98C6563.18,-3488.62 6310.2,-3467.33 6101,-3435.89 6039.2,-3426.61 6024.84,-3417.96 5963,-3408.96"/>
<path fill="none" stroke="black" d="M5963,-3406.96C5933.27,-3402.64 5930.18,-3387.18 5901,-3380.03 5791.3,-3353.15 5497.39,-3389.52 5394,-3344.03 5360.95,-3329.49 5365.51,-3307.49 5335,-3288.17 5284.84,-3256.41 4894.31,-3110.08 4837,-3094.61 4737.96,-3067.87 4701.24,-3103.51 4609,-3058.61 4567.52,-3038.42 4575.51,-3005.82 4533,-2987.9 4381.5,-2924.02 3948.83,-3007.22 3794,-2951.9 3729.41,-2928.82 3713.09,-2913.4 3670,-2860.04 3508.76,-2660.33 3492.69,-2579.41 3449,-2326.48 3418.19,-2148.12 3462.86,-843.71 3576,-702.43 3613.07,-656.14 3681.51,-640.04 3730.61,-634.59"/>
<polygon fill="#950303" stroke="black" points="3730.79,-637.99 3740.39,-633.53 3730.1,-631.03 3730.79,-637.99"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge629" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6656.79,-3498.84C6477.12,-3498.61 5715.43,-3494.16 5486,-3435.89 5430.15,-3421.71 5423.01,-3400.11 5369,-3380.03 5312,-3358.85 5293.89,-3365.51 5237,-3344.03 5184.21,-3324.11 5177.26,-3303.63 5123,-3288.17 4967.93,-3244 4912.36,-3310.4 4762,-3252.17 4702.59,-3229.16 4704.74,-3193.52 4647,-3166.61 4584.07,-3137.28 4411.47,-3106.06 4343,-3094.61 4183.1,-3067.87 4140.43,-3081.97 3980,-3058.61 3917.97,-3049.58 3480.3,-2983.22 3426,-2951.9 3202.23,-2822.85 3045,-2771.29 3045,-2512.97 3045,-2512.97 3045,-2512.97 3045,-1818.74 3045,-1505.88 2951.82,-1437.81 2844,-1144.12 2795.28,-1011.41 2728.84,-993.71 2716,-852.92"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_application_handlers_status -->
<g id="edge630" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_application_handlers_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6657.27,-3496.49C6547.64,-3489.53 6219.79,-3467.41 5949,-3435.89 5811.09,-3419.84 5461.81,-3390.58 5331,-3344.03 5285.21,-3327.74 5282.54,-3305.14 5237,-3288.17 5151.96,-3256.48 5124.15,-3273.78 5036,-3252.17 4808.47,-3196.39 4760.4,-3150.92 4533,-3094.61 4278.58,-3031.61 4211.72,-3029.87 3953,-2987.9 3721.48,-2950.34 3626.77,-3003.21 3441,-2860.04 3304.26,-2754.65 3280.6,-2701.93 3221,-2539.91 3055.09,-2088.84 3177.52,-1940.09 3110,-1464.25 3078.45,-1241.91 2981.77,-1188.34 3020,-967.05"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge631" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6658.52,-3473.98C6576.09,-3417.18 6370.56,-3271.83 6215,-3130.61 5946.89,-2887.21 5662.6,-2554.3 5570.05,-2443.69"/>
<polygon fill="#950303" stroke="black" points="6656.27,-3477.36 6666.49,-3480.14 6660.23,-3471.59 6656.27,-3477.36"/>
<polygon fill="#950303" stroke="black" points="5572.3,-2441.93 5563.21,-2436.5 5566.93,-2446.42 5572.3,-2441.93"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge632" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7825,-3406.96C7838.46,-3406.09 7827.54,-3387.14 7839,-3380.03 7927.72,-3324.99 9618.62,-3376.03 9718,-3344.03 9759.63,-3330.63 9757.79,-3302.81 9799,-3288.17 9990.57,-3220.13 10057.4,-3299.95 10255,-3252.17 10301.82,-3240.85 10307.28,-3216.91 10355,-3210.39"/>
<path fill="none" stroke="black" d="M10355,-3208.39C10374.41,-3205.81 10353.32,-3178.34 10369,-3166.61 10456.71,-3101.03 11262.09,-3190.16 11354,-3130.61 11495.88,-3038.68 11404.23,-2910.62 11522,-2789.33 11545.82,-2764.79 11564.46,-2776.06 11590,-2753.33 11710.26,-2646.29 11735.53,-2601.25 11785,-2448.04 11823.29,-2329.48 11858.56,-2290.56 11825,-2170.57"/>
<path fill="none" stroke="black" d="M11825,-2168.57C11803.12,-2094.79 11755.35,-2018.39 11724.48,-1973.82"/>
<polygon fill="#950303" stroke="black" points="11726.96,-1972.26 11718.35,-1966.07 11721.22,-1976.27 11726.96,-1972.26"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_database_operations_build_operations -->
<g id="edge633" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_database_operations_build_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6677.47,-3474.7C6666.09,-3457.38 6652.41,-3432.95 6647,-3408.96"/>
<path fill="none" stroke="black" d="M6647,-3406.96C6637.46,-3364.66 6616.25,-3359.85 6609,-3317.1"/>
<path fill="none" stroke="black" d="M6609,-3315.1C6602.43,-3276.39 6567.54,-3285.63 6547,-3252.17 6536.75,-3235.48 6543.03,-3227.21 6533,-3210.39"/>
<path fill="none" stroke="black" d="M6533,-3208.39C6499.26,-3151.79 6461.01,-3164.37 6419,-3113.61"/>
<path fill="none" stroke="black" d="M6419,-3111.61C6341.04,-3017.42 6282.88,-3036.91 6195,-2951.9 6026.48,-2788.88 5870.79,-2554.33 5807.67,-2454.35"/>
<polygon fill="#950303" stroke="black" points="5810.14,-2452.7 5801.85,-2446.1 5804.21,-2456.43 5810.14,-2452.7"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge634" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6732.86,-3497.03C7091.08,-3480.03 9871.33,-3348.01 9913,-3344.03 10087.31,-3327.39 10129.32,-3310.46 10303,-3288.17 10520.15,-3260.3 10776.71,-3232.54 10905.49,-3218.97"/>
<polygon fill="#950303" stroke="black" points="10905.84,-3222.35 10915.42,-3217.82 10905.11,-3215.39 10905.84,-3222.35"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_build_printer -->
<g id="edge635" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_build_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6656.98,-3498.09C6465.47,-3494.23 5605.21,-3475 5341,-3435.89 5099.3,-3400.12 4514.91,-3212.87 4275,-3166.61 4038.99,-3121.1 3977.78,-3122.13 3739,-3094.61 3573.11,-3075.49 3524.18,-3109.09 3365,-3058.61 3304.53,-3039.43 3297.25,-3017.24 3241,-2987.9 2927.36,-2824.33 2834.28,-2812.77 2522,-2646.62 2518.11,-2644.54 2514.1,-2642.34 2510.1,-2640.08"/>
<polygon fill="#950303" stroke="black" points="2512.26,-2636.71 2501.84,-2634.77 2508.77,-2642.78 2512.26,-2636.71"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge636" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6656.77,-3498.28C6444.15,-3495.09 5405.48,-3477.62 5088,-3435.89 4904.36,-3411.75 4453.88,-3300.23 4275,-3252.17 4151.79,-3219.07 4125.51,-3194.4 4001,-3166.61 3886.28,-3141 3855.39,-3147.02 3739,-3130.61 3628.28,-3115 3348.18,-3090.48 3241,-3058.61 3106.72,-3018.69 2797.87,-2848.72 2671,-2789.33 2634.95,-2772.45 2623.39,-2773.37 2589,-2753.33 2566.95,-2740.48 2566.32,-2729.33 2543,-2718.97"/>
<path fill="none" stroke="black" d="M2543,-2716.97C2525.96,-2709.45 2533.98,-2693.68 2519,-2682.62 2476.94,-2651.56 2455.49,-2666.19 2407,-2646.62 2401.95,-2644.58 2396.76,-2642.33 2391.6,-2640"/>
<polygon fill="#950303" stroke="black" points="2393.29,-2636.46 2382.75,-2635.42 2390.34,-2642.81 2393.29,-2636.46"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_tree_printer -->
<g id="edge637" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6656.92,-3497.95C6363.31,-3491.24 4467.74,-3447.55 4348,-3435.89 4103.95,-3412.13 4045.22,-3388.01 3804,-3344.03 3595.04,-3305.93 3540.8,-3304.74 3335,-3252.17 2906.79,-3142.79 2782.33,-3149.49 2387,-2951.9 2202.82,-2859.84 2200.05,-2761.85 2010,-2682.62 1922.6,-2646.18 1888.49,-2680.33 1800,-2646.62 1795.86,-2645.04 1791.69,-2643.13 1787.6,-2641.04"/>
<polygon fill="#950303" stroke="black" points="1789.69,-2637.64 1779.25,-2635.87 1786.31,-2643.77 1789.69,-2637.64"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge638" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6656.84,-3497.95C6405.21,-3492.16 4988.69,-3458.72 4798,-3435.89 3980.8,-3338.05 3769.33,-3308.07 2985,-3058.61 2774.35,-2991.61 2730.94,-2949.93 2529,-2860.04 2485.51,-2840.68 2184.51,-2696.59 2139,-2682.62 2048.06,-2654.69 2017.97,-2677.52 1928,-2646.62 1923.18,-2644.96 1918.3,-2642.98 1913.48,-2640.8"/>
<polygon fill="#950303" stroke="black" points="1915.26,-2637.3 1904.73,-2636.13 1912.23,-2643.61 1915.26,-2637.3"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge639" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6191,-3406.96C6065.15,-3365.91 5537.85,-2568.97 5484,-2448.04 5432.78,-2333.04 5470.73,-2288.63 5427,-2170.57"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge640" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5925,-3315.1C5792.72,-3222.71 5530.12,-2900.95 5465,-2753.33 5394.15,-2592.72 5450.8,-2532.73 5408,-2362.48 5401.84,-2337.98 5239.7,-1956.36 5253,-1934.87"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_console -->
<g id="edge641" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6718.5,-3477.6C6749.13,-3451.02 6805.39,-3405.85 6861,-3380.03 6920.05,-3352.61 6940.09,-3360.79 7003,-3344.03 7092.18,-3320.28 7113.05,-3308.82 7203,-3288.17 7290.6,-3268.06 7314.94,-3274.52 7402,-3252.17 7999.81,-3098.69 8239.51,-3166.5 8698,-2753.33 8788.69,-2671.6 8777.58,-2622.75 8831,-2512.97"/>
<path fill="none" stroke="black" d="M8831,-2510.97C8854.87,-2449.33 8831.83,-2372.53 8812.66,-2326.12"/>
<polygon fill="#950303" stroke="black" points="8815.54,-2324.96 8808.4,-2317.13 8809.1,-2327.7 8815.54,-2324.96"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_email -->
<g id="edge642" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6609,-3315.1C6604.26,-3287.19 6880.5,-2917.47 6899,-2896.04 6944.34,-2843.49 6956.75,-2829.98 7013,-2789.33 7040.08,-2769.75 7053.33,-2774.72 7079,-2753.33 7197.29,-2654.74 7162.21,-2558.49 7297,-2484.04 7414.94,-2418.9 7472.95,-2498.2 7598,-2448.04 7656.8,-2424.46 7656.55,-2393.13 7712,-2362.48 7796.56,-2315.75 7924.48,-2380.86 7915,-2284.7"/>
<path fill="none" stroke="black" d="M7915,-2282.7C7901.85,-2187.84 7656.49,-2230.74 7731,-2170.57"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_html -->
<g id="edge643" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6951,-3406.96C7085.85,-3376.26 7123.18,-3391.52 7261,-3380.03 7461.39,-3363.33 7511.88,-3363.68 7712,-3344.03 7925.31,-3323.09 7977.27,-3304.25 8191,-3288.17 8249.54,-3283.77 9196.32,-3281.8 9247,-3252.17 9445.46,-3136.15 9505.98,-2467.13 9465,-2240.92 9456.05,-2191.53 9465.6,-2167.47 9428,-2134.21 9370.8,-2083.63 9327.34,-2134.22 9260,-2098.21 9255.97,-2096.06 9252.06,-2093.42 9248.35,-2090.52"/>
<polygon fill="#950303" stroke="black" points="9250.93,-2087.26 9241.07,-2083.39 9246.37,-2092.57 9250.93,-2087.26"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_report -->
<g id="edge644" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6727.1,-3484.54C6754.8,-3472.07 6795.78,-3453.3 6831,-3435.89 6878.74,-3412.29 6886.22,-3396.06 6937,-3380.03 7014.12,-3355.69 7578.36,-3294.25 7659,-3288.17 7700.42,-3285.04 9123.03,-3279.85 9154,-3252.17 9200.35,-3210.75 9173,-3175.77 9173,-3113.61 9173,-3113.61 9173,-3113.61 9173,-2823.68 9173,-2760.09 9173.91,-2741.13 9149,-2682.62 9133.77,-2646.84 9121.22,-2642.68 9097,-2612.26"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge645" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6692,-3315.1C6737.7,-3270.02 6766.46,-3284.35 6822,-3252.17 7144.78,-3065.18 7329,-3086.39 7497,-2753.33 7550.94,-2646.4 7406.51,-2572.73 7487,-2484.04 7542.67,-2422.71 7792.04,-2498.15 7858,-2448.04 7890.45,-2423.39 7868.32,-2396.34 7891,-2362.48 7903.95,-2343.16 7915.39,-2345.35 7929,-2326.48 7984.21,-2249.97 7942.42,-2189.32 8019,-2134.21 8075.83,-2093.32 8262.53,-2106.9 8332,-2098.21 8417.76,-2087.48 8516.74,-2073.89 8579.09,-2065.17"/>
<polygon fill="#950303" stroke="black" points="8579.5,-2068.51 8588.92,-2063.66 8578.53,-2061.58 8579.5,-2068.51"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_report_telegram -->
<g id="edge646" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6730.47,-3489.79C6771.5,-3478.9 6840.73,-3459.12 6898,-3435.89 6922.48,-3425.96 6925.24,-3414.85 6951,-3408.96"/>
<path fill="none" stroke="black" d="M6951,-3406.96C7061.37,-3381.74 7850.09,-3296.45 7963,-3288.17 8030.57,-3283.22 9121.55,-3282.76 9182,-3252.17 9331.16,-3176.69 9328.81,-3061.2 9303,-2896.04 9273.31,-2706.07 9262.55,-2653.13 9171,-2484.04 9116.64,-2383.65 8992.82,-2397.71 9009,-2284.7"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_executor -->
<g id="edge647" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6733.04,-3496.37C6853.26,-3488.55 7235.78,-3463.1 7552,-3435.89 7673.47,-3425.44 7703.33,-3416.84 7825,-3408.96"/>
<path fill="none" stroke="black" d="M7825,-3406.96C7838.46,-3406.09 7827.57,-3387.2 7839,-3380.03 7895.91,-3344.3 8981.04,-3349.61 9048,-3344.03 9626.05,-3295.9 9763.15,-3217.14 10341,-3166.61 10445.68,-3157.46 11196.82,-3186.18 11286,-3130.61 11359.13,-3085.05 11424.7,-2862.62 11470,-2789.33 11500.47,-2740.01 11511.23,-2729.73 11545,-2682.62 11579.22,-2634.87 11587.54,-2622.74 11623,-2575.91 11654.31,-2534.55 11662.39,-2524.39 11695,-2484.04 11708.09,-2467.85 11717.91,-2467.63 11725,-2448.04 11756.34,-2361.49 11758.37,-2326.72 11725,-2240.92 11717.13,-2220.7 11706.19,-2221.34 11692,-2204.92 11636.32,-2140.52 11576,-2141.42 11571,-2056.43"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_repository -->
<g id="edge648" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10355,-3208.39C10374.41,-3205.79 10353.31,-3178.33 10369,-3166.61 10459.87,-3098.76 11283.06,-3171.06 11389,-3130.61 11476.79,-3097.09 11646.63,-2925.55 11714,-2860.04 11759.31,-2815.97 11768.36,-2802.55 11808,-2753.33 11819.86,-2738.6 12205.11,-2222.89 12211,-2204.92 12244.27,-2103.47 12158,-1913.38 12141,-1891.09 12085.74,-1818.67 12049.2,-1821.49 11966,-1784.38 11915.15,-1761.7 11889.35,-1783.33 11846,-1748.38 11832.42,-1737.43 11834.64,-1729.72 11827,-1714.03"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge649" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9215,-3406.96C9293.92,-3401.15 9312.3,-3388.33 9391,-3380.03 9664.17,-3351.23 9735.85,-3381.32 10008,-3344.03 10123.81,-3328.17 10149.52,-3306.27 10265,-3288.17 10428.23,-3262.58 10474.94,-3293.14 10635,-3252.17 10728.66,-3228.19 10740.66,-3187.75 10835,-3166.61 11047.87,-3118.91 11598.78,-3150.69 11816,-3130.61 11843.07,-3128.11 12281.61,-3078.63 12300,-3058.61 12358.3,-2995.17 12349,-2370.87 12349,-2284.7 12349,-2284.7 12349,-2284.7 12349,-2168.57 12349,-2059.35 12373.02,-2030.93 12425,-1934.87"/>
<path fill="none" stroke="black" d="M12425,-1932.87C12433.72,-1915.34 12428.16,-1907.41 12439,-1891.09 12465.2,-1851.65 12547.99,-1858.18 12519,-1820.74"/>
<path fill="none" stroke="black" d="M12519,-1818.74C12454.3,-1735.18 12127.27,-1718.24 11982.33,-1714.85"/>
<polygon fill="#950303" stroke="black" points="11982.45,-1711.33 11972.38,-1714.61 11982.3,-1718.33 11982.45,-1711.33"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_client -->
<g id="edge650" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_status_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6733.1,-3497.77C6931.12,-3492.23 7862.89,-3465.71 8625,-3435.89 8887.29,-3425.63 8953.2,-3428.09 9215,-3408.96"/>
<path fill="none" stroke="black" d="M9215,-3406.96C9293.92,-3401.19 9312.35,-3388.75 9391,-3380.03 9622.14,-3354.42 9685.11,-3390.34 9913,-3344.03 9987.64,-3328.87 10000.59,-3304.38 10075,-3288.17 10236.43,-3253 10282.1,-3279.75 10445,-3252.17 10603.74,-3225.29 10637.59,-3189.19 10797,-3166.61 11166.1,-3114.34 11263.55,-3162.16 11635,-3130.61 11698.17,-3125.24 12141.56,-3080.66 12201,-3058.61 12205.76,-3056.84 12210.52,-3054.57 12215.12,-3052.04"/>
<polygon fill="#950303" stroke="black" points="12216.51,-3054.69 12223.29,-3046.55 12212.92,-3048.68 12216.51,-3054.69"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_watcher -->
<g id="edge651" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_status_watcher</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6733.03,-3498.49C6974.77,-3496.23 8321.92,-3481.99 9419,-3435.89 10759.86,-3379.56 11104.44,-3441.94 12433,-3252.17 12818.27,-3197.14 12981.37,-3299.56 13287,-3058.61 13567.81,-2837.22 13507,-2642.29 13507,-2284.7 13507,-2284.7 13507,-2284.7 13507,-2168.57 13507,-2074.36 13454.81,-2062.94 13417,-1976.65 13359.4,-1845.2 13352.25,-1809.28 13295,-1677.67 13267.13,-1613.59 13258,-1598.54 13229,-1534.96 13207.42,-1487.65 13201.48,-1476.05 13181,-1428.25 13174.51,-1413.1 13174.62,-1408.52 13167,-1393.9"/>
<path fill="none" stroke="black" d="M13167,-1391.9C13152.24,-1368.73 13134.24,-1343.81 13119.47,-1324.09"/>
<polygon fill="#950303" stroke="black" points="13121.74,-1322.3 13112.93,-1316.42 13116.16,-1326.51 13121.74,-1322.3"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_status_web_client -->
<g id="edge652" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6721.24,-3479.41C6726.55,-3476.36 6732.27,-3473.64 6738,-3471.89 6972.14,-3400.46 7596.29,-3467.79 7839,-3435.89 7947.58,-3421.62 7970.33,-3393.66 8079,-3380.03 8268.67,-3356.24 9613.25,-3389.15 9799,-3344.03 9853.83,-3330.71 9858.58,-3303.07 9913,-3288.17 10011.04,-3261.33 10277.99,-3297.45 10369,-3252.17 10414.54,-3229.51 10398.96,-3188.23 10445,-3166.61 10661.56,-3064.93 11299.57,-3221.2 11521,-3130.61 11522.47,-3130.01 12192.38,-2514.43 12193,-2512.97"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_support_package_creator -->
<g id="edge653" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_support_package_creator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6656.91,-3497.94C6570.2,-3495.12 6352.06,-3483.46 6177,-3435.89 6148.01,-3428.01 6144.55,-3414.39 6115,-3408.96"/>
<path fill="none" stroke="black" d="M6115,-3406.96C6053.54,-3395.66 6038.6,-3390.54 5977,-3380.03 5868.08,-3361.44 5835.78,-3379.11 5731,-3344.03 5543.63,-3281.31 5501.91,-3245.28 5341,-3130.61 5261.53,-3073.97 4738.06,-2625.4 4691,-2539.91 4646.86,-2459.73 4682.41,-2201.16 4620,-2134.21 4574.72,-2085.64 4523.79,-2143.25 4475,-2098.21 4460.61,-2084.93 4457.76,-2075.75 4461,-2056.43"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_tree -->
<g id="edge654" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5963,-3406.96C5933.27,-3402.64 5930.08,-3387.56 5901,-3380.03 5741.05,-3338.61 5693.13,-3375.86 5531,-3344.03 5515.8,-3341.05 5499.5,-3336.57 5485,-3332.12"/>
<polygon fill="#950303" stroke="black" points="5486.39,-3328.58 5475.8,-3328.91 5484.29,-3335.25 5486.39,-3328.58"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge655" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6115,-3406.96C6010.31,-3389.3 5752.29,-3309.62 5663,-3252.17 5617.92,-3223.17 5616.1,-3204.31 5578,-3166.61 5529.08,-3118.19 5509.54,-3112.72 5467,-3058.61 5395.27,-2967.36 5257.68,-2698.4 5245,-2646.62 5237.53,-2616.09 5242.41,-2607.23 5245,-2575.91 5246.34,-2559.74 5249.66,-2556.07 5251,-2539.91 5253.05,-2515.16 5253.21,-2508.77 5251,-2484.04 5250.03,-2473.18 5248.31,-2461.56 5246.4,-2450.71"/>
<polygon fill="#950303" stroke="black" points="5249.71,-2450.36 5244.45,-2441.16 5242.83,-2451.63 5249.71,-2450.36"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge656" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6657.14,-3495.69C6572.02,-3487.87 6359.78,-3464.02 6191,-3408.96"/>
<path fill="none" stroke="black" d="M6191,-3406.96C6162.44,-3397.64 6157.17,-3390.46 6129,-3380.03 6040.02,-3347.1 5997.18,-3378.69 5925,-3317.1"/>
<path fill="none" stroke="black" d="M5925,-3315.1C5766.05,-3179.48 5670.74,-3213.95 5531,-3058.61 5393.55,-2905.81 5368.99,-2846.46 5321,-2646.62 5304.88,-2579.49 5319.81,-2499.35 5332.54,-2450.66"/>
<polygon fill="#950303" stroke="black" points="5336.14,-2451.74 5335.37,-2441.18 5329.38,-2449.92 5336.14,-2451.74"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_github -->
<g id="edge657" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6647,-3406.96C6637.18,-3363.39 6659.04,-3347.25 6692,-3317.1"/>
<path fill="none" stroke="black" d="M6692,-3315.1C6956.09,-3073.53 7029.81,-3019.58 7269,-2753.33 7371.91,-2638.78 7351.1,-2556.45 7487,-2484.04 7646.09,-2399.28 7737.36,-2542.34 7891,-2448.04 7963.55,-2403.52 7954.58,-2361.64 7991,-2284.7"/>
<path fill="none" stroke="black" d="M7991,-2282.7C7999.34,-2264.09 7999.35,-2258.32 8010,-2240.92 8017.33,-2228.95 8026.43,-2216.7 8035.14,-2205.85"/>
<polygon fill="#950303" stroke="black" points="8038.37,-2208.44 8042,-2198.49 8032.96,-2204 8038.37,-2208.44"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_rsync -->
<g id="edge658" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_rsync</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6533,-3208.39C6511,-3171.49 6536.03,-3153.49 6552,-3113.61"/>
<path fill="none" stroke="black" d="M6552,-3111.61C6573.64,-3057.57 6536.93,-3038.97 6509,-2987.9 6397.22,-2783.52 6331.2,-2757.26 6185,-2575.91 6162.23,-2547.66 6142.35,-2548.03 6133,-2512.97"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge659" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6723,-3022.25C6738.62,-2916.27 6708.38,-2864.2 6785,-2789.33 6821.49,-2753.67 6864.11,-2794.67 6894,-2753.33 6912.41,-2727.86 6914.21,-2706.68 6894,-2682.62 6834.51,-2611.77 6767.01,-2696.33 6689,-2646.62 6673.29,-2636.61 6680.25,-2622.95 6665,-2612.26"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_upload -->
<g id="edge660" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6609,-3315.1C6581.95,-3178.92 6696.45,-3160.53 6723,-3024.25"/>
<path fill="none" stroke="black" d="M6723,-3022.25C6720.8,-2990.45 6712.13,-2983.63 6709,-2951.9 6701.92,-2879.99 6680.89,-2855.89 6709,-2789.33 6717.93,-2768.19 6737.07,-2774.46 6746,-2753.33 6758.23,-2724.38 6763.86,-2708.48 6746,-2682.62 6702.56,-2619.69 6628.56,-2677.69 6589,-2612.26"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge661" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6552,-3111.61C6614.54,-2954.51 6475.52,-2914.38 6424,-2753.33 6360.38,-2554.46 6433.83,-2492.21 6457,-2284.7"/>
<path fill="none" stroke="black" d="M6457,-2282.7C6448.82,-2219.06 6465.98,-2145.92 6479.83,-2100.44"/>
<polygon fill="#950303" stroke="black" points="6483.43,-2101.64 6483.08,-2091.05 6476.75,-2099.55 6483.43,-2101.64"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_models_counters -->
<g id="edge662" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_models_counters</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6733.26,-3498.87C7204.58,-3499.35 11883.15,-3502.48 12491,-3435.89 12518.31,-3432.9 12548.39,-3426.72 12572.53,-3421.04"/>
<polygon fill="#950303" stroke="black" points="12573.26,-3424.22 12582.17,-3418.47 12571.62,-3417.41 12573.26,-3424.22"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_models_result -->
<g id="edge663" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_models_result</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6989,-3315.1C7095.9,-3284.74 7123.98,-3282.11 7231,-3252.17 7519.64,-3171.43 7595.69,-3162.03 7877,-3058.61 8163.77,-2953.18 8496.08,-2794.57 8610.14,-2739.03"/>
<polygon fill="#950303" stroke="black" points="8611.41,-2741.82 8618.87,-2734.29 8608.34,-2735.53 8611.41,-2741.82"/>
</g>
<!-- ahriman_models_package&#45;&gt;ahriman_web_views_status_package -->
<g id="edge664" class="edge">
<title>ahriman_models_package&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6721.22,-3479.33C6726.53,-3476.28 6732.26,-3473.59 6738,-3471.89 7003.49,-3393.54 8955.31,-3477.31 9229,-3435.89 9316.03,-3422.72 9332.21,-3394.71 9419,-3380.03 9740.17,-3325.71 9832.56,-3412.56 10151,-3344.03 10217.3,-3329.76 10226.92,-3303.42 10293,-3288.17 10491.09,-3242.46 10554.13,-3310.08 10749,-3252.17 10825.17,-3229.53 10829.3,-3187.4 10906,-3166.61 11032.6,-3132.29 11954.97,-3136.68 12086,-3130.61 12214.78,-3124.64 13155.72,-3152.55 13244,-3058.61 13331.65,-2965.34 13281.82,-2585.66 13204,-2484.04 13184.39,-2458.44 13162.62,-2471.97 13141,-2448.04 13113.1,-2417.17 13125.8,-2397.29 13103,-2362.48 13091.11,-2344.33 13082.37,-2344.32 13070,-2326.48 13015.32,-2247.69 13037.18,-2204.58 12972,-2134.21 12951.13,-2111.68 12935.51,-2119.11 12913,-2098.21 12787.23,-1981.44 12820.56,-1893.39 12688,-1784.38 12658.2,-1759.88 12636.58,-1775.36 12609,-1748.38 12599.59,-1739.18 12511.61,-1546.87 12506,-1534.96 12462.15,-1441.83 12439.48,-1421.77 12416,-1321.54 12405.13,-1275.16 12408.22,-1262.41 12406,-1214.83 12404.53,-1183.44 12403.13,-1175.41 12406,-1144.12 12408.9,-1112.45 12413.14,-1105.02 12419,-1073.76"/>
<path fill="none" stroke="black" d="M12419,-1071.76C12422.61,-998.19 12443.75,-970.09 12506,-930.7 12533.74,-913.14 13005.77,-870.64 13160.4,-857.12"/>
<polygon fill="#950303" stroke="black" points="13160.31,-860.55 13169.97,-856.2 13159.7,-853.58 13160.31,-860.55"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge665" class="edge">
<title>ahriman_models_package_description&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9609,-3977.9C9619.8,-3971.9 9955.23,-3719.03 9965,-3711.48 10099.99,-3607.1 10116.98,-3556.79 10265,-3471.89 10402.16,-3393.22 10451.08,-3404.94 10597,-3344.03 10652.78,-3320.75 10663.93,-3308.09 10721,-3288.17 10782.47,-3266.72 10800.53,-3270.5 10863,-3252.17 10880.25,-3247.11 10898.69,-3241.22 10915.96,-3235.48"/>
<polygon fill="#ae1e1e" stroke="black" points="10916.6,-3238.62 10924.98,-3232.13 10914.38,-3231.98 10916.6,-3238.62"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_core_repository_executor -->
<g id="edge666" class="edge">
<title>ahriman_models_package_description&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9308.22,-4048.3C9404.7,-4031.64 9572.31,-4002.24 9585,-3996.9 9597.05,-3991.82 9597.78,-3986.61 9609,-3979.9"/>
<path fill="none" stroke="black" d="M9609,-3977.9C9668.04,-3942.59 9634.52,-3892.65 9678,-3839.34 9801.64,-3687.72 10910.37,-2874.46 11064,-2753.33 11183.84,-2658.84 11237.18,-2658.69 11333,-2539.91 11408.18,-2446.7 11581.46,-2175.73 11571,-2056.43"/>
<path fill="none" stroke="black" d="M11571,-2054.43C11564.46,-1950.61 11541.48,-1915.67 11584,-1820.74"/>
</g>
<!-- ahriman_models_package_description&#45;&gt;ahriman_models_package -->
<g id="edge667" class="edge">
<title>ahriman_models_package_description&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9178.78,-4045C9158.54,-4040.59 9135.9,-4036.09 9115,-4032.9 8567.21,-3949.33 7111.7,-4080.73 6632,-3803.34 6619.32,-3796.01 6619.8,-3789.38 6613,-3776.41"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_application_ahriman -->
<g id="edge668" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7862.99,-3681.8C8174.15,-3677.95 9596.8,-3658.92 10761,-3619.62 13125.66,-3539.78 13739.62,-3582.85 16062,-3130.61 16391.99,-3066.35 16476.03,-3051.88 16797,-2951.9 17395.35,-2765.52 17538.3,-2695.71 18114,-2448.04 18425.48,-2314.05 18545.1,-2330.62 18792,-2098.21 18872.53,-2022.41 19350.18,-1396.16 19369,-1287.18"/>
<path fill="none" stroke="black" d="M19369,-1285.18C19391.9,-1094.44 19375.65,-1044.92 19369,-852.92"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge669" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7794.44,-3655.43C7757.32,-3502.75 7572.4,-2754.56 7497,-2682.62 7449.9,-2637.67 7413.18,-2675.83 7355,-2646.62 7310.47,-2624.26 7313.28,-2596.71 7268,-2575.91 7186.33,-2538.38 7146.58,-2585.29 7069,-2539.91 6922.21,-2454.04 6969,-2340.63 6969,-2170.57 6969,-2170.57 6969,-2170.57 6969,-2054.43 6969,-1902.2 6905.09,-1864.04 6931,-1714.03"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge670" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7739.3,-3680.63C7572.77,-3675.11 7100.3,-3657.11 6709,-3619.62 6100.29,-3561.29 5898.29,-3636.02 5361,-3344.03 5256.6,-3287.29 5250.25,-3245.06 5161,-3166.61 5106.11,-3118.36 5087.25,-3111.68 5037,-3058.61 4877.41,-2890.05 4851.4,-2835.16 4716,-2646.62 4659.78,-2568.33 4455.69,-2378.7 4477,-2284.7"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge671" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7741.67,-3675.14C7648.9,-3663.52 7463.87,-3640.22 7307,-3619.62 6601.98,-3527.02 6365.05,-3665.91 5731,-3344.03 5316.21,-3133.46 5238.7,-2910.66 5190,-2448.04 5186.02,-2410.23 5166.65,-2392.5 5190,-2362.48 5229.98,-2311.1 5279.62,-2365.15 5332,-2326.48 5364.64,-2302.39 5439.84,-2209.06 5427,-2170.57"/>
<path fill="none" stroke="black" d="M5427,-2168.57C5408.79,-2104.93 5280.82,-2101.82 5329,-2056.43"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_repository_update_handler -->
<g id="edge672" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_repository_update_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7861.23,-3677.19C8128.73,-3653.21 9235.89,-3551.73 10141,-3435.89 10366.81,-3406.99 11948.76,-3195.4 12167,-3130.61 12240.98,-3108.65 12262.38,-3103.71 12325,-3058.61 12341.93,-3046.41 12345.41,-3041.61 12357,-3024.25"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_core_spawn -->
<g id="edge673" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_core_spawn</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7862.57,-3680.47C8207.52,-3668.37 9935.03,-3601.69 11336,-3435.89 11458.73,-3421.37 12321,-3304.41 12433,-3252.17 12530.6,-3206.65 13158.6,-2719.93 13161,-2612.26"/>
<path fill="none" stroke="black" d="M13161,-2610.26C13157.7,-2584.28 13141.12,-2559.89 13125.4,-2542.04"/>
<polygon fill="#e50505" stroke="black" points="13128.64,-2540.3 13119.29,-2535.31 13123.49,-2545.04 13128.64,-2540.3"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_models_package -->
<g id="edge674" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7749.55,-3667.77C7660.26,-3642.66 7470.46,-3591.68 7307,-3563.75 7099.01,-3528.22 6847.58,-3510.05 6743.61,-3503.61"/>
<polygon fill="#e50505" stroke="black" points="6744.04,-3500.07 6733.84,-3502.95 6743.61,-3507.05 6744.04,-3500.07"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_models_remote_source -->
<g id="edge675" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_models_remote_source</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7738.9,-3682.43C7438.26,-3681.61 6131.9,-3674.87 5729,-3619.62 5712.45,-3617.34 5694.76,-3613.58 5678.55,-3609.57"/>
<polygon fill="#e50505" stroke="black" points="5679.69,-3605.99 5669.14,-3606.91 5677.96,-3612.77 5679.69,-3605.99"/>
</g>
<!-- ahriman_models_package_source&#45;&gt;ahriman_web_schemas_remote_schema -->
<g id="edge676" class="edge">
<title>ahriman_models_package_source&#45;&gt;ahriman_web_schemas_remote_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7862.67,-3680.76C8378.02,-3665.77 11960.89,-3560.89 12438,-3527.75 12825.44,-3500.84 12921.79,-3485.38 13307,-3435.89 13374.49,-3427.22 14451.38,-3266.04 14518,-3252.17 14662.97,-3221.98 14694.66,-3194.95 14840,-3166.61 15091.06,-3117.66 15156.43,-3119.55 15411,-3094.61 15524.96,-3083.44 15822.69,-3110.02 15925,-3058.61 16046.92,-2997.35 16125,-2962.13 16125,-2825.68 16125,-2825.68 16125,-2825.68 16125,-2610.26 16125,-2496.96 16115.16,-2464.08 16065,-2362.48 15936.65,-2102.51 15764.72,-2123.46 15655,-1855.09 15613.13,-1752.68 15666.13,-1712.23 15631,-1607.32"/>
<path fill="none" stroke="black" d="M15631,-1605.32C15610.53,-1551.34 15468.34,-1466.64 15388.72,-1422.62"/>
<polygon fill="#e50505" stroke="black" points="15390.78,-1419.21 15380.33,-1417.46 15387.41,-1425.34 15390.78,-1419.21"/>
</g>
<!-- ahriman_models_packagers -->
<g id="node151" class="node">
<title>ahriman_models_packagers</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f31616" stroke="black" cx="10663" cy="-2283.7" rx="43.66" ry="27.93"/>
<text text-anchor="middle" x="10663" y="-2289.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="10663" y="-2279.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="10663" y="-2268.95" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">packagers</text>
</g>
<!-- ahriman_models_packagers&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge677" class="edge">
<title>ahriman_models_packagers&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10652.31,-2256.52C10643.84,-2234.14 10632.83,-2200.84 10629,-2170.57"/>
<path fill="none" stroke="black" d="M10629,-2168.57C10619.15,-2090.66 9714.93,-1194.87 9655,-1144.12 9639.84,-1131.28 9622.3,-1118.67 9605.99,-1107.75"/>
<polygon fill="#f31616" stroke="black" points="9608.35,-1104.45 9598.07,-1101.86 9604.49,-1110.29 9608.35,-1104.45"/>
</g>
<!-- ahriman_models_packagers&#45;&gt;ahriman_application_handlers_add -->
<g id="edge678" class="edge">
<title>ahriman_models_packagers&#45;&gt;ahriman_application_handlers_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10629,-2168.57C10612.25,-2046.18 10636.58,-2014.33 10645,-1891.09 10650.38,-1812.34 10666.03,-1792.66 10659,-1714.03"/>
<path fill="none" stroke="black" d="M10659,-1712.03C10628.26,-1507.48 10469,-1494.03 10469,-1287.18 10469,-1287.18 10469,-1287.18 10469,-850.92 10469,-787.2 10442.38,-717.55 10422.46,-674.33"/>
<polygon fill="#f31616" stroke="black" points="10425.24,-673.02 10417.81,-665.46 10418.9,-676 10425.24,-673.02"/>
</g>
<!-- ahriman_models_packagers&#45;&gt;ahriman_application_handlers_update -->
<g id="edge679" class="edge">
<title>ahriman_models_packagers&#45;&gt;ahriman_application_handlers_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10659,-1712.03C10651.21,-1618.39 10659,-1594.57 10659,-1500.61 10659,-1500.61 10659,-1500.61 10659,-965.05 10659,-864.49 10675.29,-838.02 10659,-738.78"/>
</g>
<!-- ahriman_models_packagers&#45;&gt;ahriman_core_repository_executor -->
<g id="edge680" class="edge">
<title>ahriman_models_packagers&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10629,-2168.57C10670.39,-1938.65 11484.09,-1766.14 11701.81,-1723.97"/>
<polygon fill="#f31616" stroke="black" points="11702.16,-1727.28 11711.32,-1721.95 11700.84,-1720.4 11702.16,-1727.28"/>
</g>
<!-- ahriman_models_packagers&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge681" class="edge">
<title>ahriman_models_packagers&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10705.62,-2276.34C10767.48,-2267.31 10885.81,-2250.76 10987,-2240.92 11229.94,-2217.3 11300.14,-2271.39 11535,-2204.92 11632.7,-2177.27 11663.94,-2168.73 11737,-2098.21 11752.41,-2083.34 11743.84,-2069.24 11761,-2056.43"/>
</g>
<!-- ahriman_models_pacman_synchronization -->
<g id="node152" class="node">
<title>ahriman_models_pacman_synchronization</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#e72222" stroke="black" cx="8982" cy="-2717.97" rx="87.15" ry="27.93"/>
<text text-anchor="middle" x="8982" y="-2724.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="8982" y="-2713.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="8982" y="-2703.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pacman_synchronization</text>
</g>
<!-- ahriman_models_pacman_synchronization&#45;&gt;ahriman_application_application_application_properties -->
<g id="edge682" class="edge">
<title>ahriman_models_pacman_synchronization&#45;&gt;ahriman_application_application_application_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8902.8,-2705.85C8837.95,-2695.21 8744.58,-2676.31 8667,-2646.62 8607.03,-2623.66 8602.35,-2594.86 8541,-2575.91 8367.08,-2522.16 8313.83,-2560.82 8133,-2539.91 7959.06,-2519.79 7916.6,-2506.92 7743,-2484.04 7676.65,-2475.3 7498,-2487.58 7444,-2448.04 7427.54,-2435.99 7438.55,-2421.51 7425,-2406.26"/>
<path fill="none" stroke="black" d="M7425,-2404.26C7373.86,-2346.15 7385.82,-2131.17 7406,-2056.43"/>
</g>
<!-- ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge683" class="edge">
<title>ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8931.5,-2694.96C8827.25,-2649.43 8580.74,-2541.36 8375,-2448.04 8359.83,-2441.16 8343.28,-2433.52 8328.56,-2426.67"/>
<polygon fill="#e72222" stroke="black" points="8330.24,-2423.13 8319.7,-2422.08 8327.28,-2429.47 8330.24,-2423.13"/>
</g>
<!-- ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_repository_repository -->
<g id="edge684" class="edge">
<title>ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_repository_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9045.48,-2698.4C9069,-2692.28 9096.02,-2686.15 9121,-2682.62 9528.36,-2624.96 9642.21,-2725.51 10046,-2646.62 10090.07,-2638.01 10097.01,-2621.24 10141,-2612.26"/>
<path fill="none" stroke="black" d="M10141,-2610.26C10417.25,-2553.87 10454.25,-2441.17 10725,-2362.48 10818.88,-2335.2 10846.33,-2346.6 10942,-2326.48 11155.67,-2281.56 11214.04,-2282.86 11418,-2204.92 11513.95,-2168.26 11565.96,-2183.63 11623,-2098.21 11674.31,-2021.37 11598.73,-1973.26 11641,-1891.09 11693.22,-1789.6 11861.14,-1822.94 11827,-1714.03"/>
<path fill="none" stroke="black" d="M11827,-1712.03C11819.36,-1696.34 11817.49,-1692.31 11808,-1677.67 11800.91,-1666.75 11792.68,-1655.31 11784.84,-1644.9"/>
<polygon fill="#e72222" stroke="black" points="11787.23,-1643.26 11778.38,-1637.44 11781.67,-1647.51 11787.23,-1643.26"/>
</g>
<!-- ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge685" class="edge">
<title>ahriman_models_pacman_synchronization&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10141,-2610.26C10405.68,-2560.13 10482.1,-2564.52 10725,-2448.04 10783.74,-2419.88 10782.58,-2384.18 10844,-2362.48 10979.57,-2314.6 11356.57,-2380.04 11490,-2326.48 11544.28,-2304.7 11536.35,-2264.23 11590,-2240.92 11750.34,-2171.26 11880.95,-2316.64 11977,-2170.57"/>
<path fill="none" stroke="black" d="M11977,-2168.57C12017.19,-2109.46 11975.83,-2025.86 11943.47,-1976.32"/>
<polygon fill="#e72222" stroke="black" points="11946.03,-1974.84 11937.56,-1968.48 11940.21,-1978.74 11946.03,-1974.84"/>
</g>
<!-- ahriman_models_pkgbuild_patch -->
<g id="node153" class="node">
<title>ahriman_models_pkgbuild_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="4148" cy="-2923.97" rx="56.92" ry="27.93"/>
<text text-anchor="middle" x="4148" y="-2930.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="4148" y="-2919.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="4148" y="-2909.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pkgbuild_patch</text>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_application_handlers_patch -->
<g id="edge686" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_application_handlers_patch</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4114.3,-2901.04C4021.76,-2839.44 3760.09,-2655.7 3601,-2448.04 3560.05,-2394.59 3107.94,-1414.48 3072,-1357.54 2931.44,-1134.83 2864.51,-1101.94 2702,-894.7 2639.93,-815.54 2568.39,-721.97 2529.29,-670.62"/>
<polygon fill="#f91010" stroke="black" points="2531.68,-668.98 2522.84,-663.15 2526.11,-673.22 2531.68,-668.98"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge687" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4192.71,-2906.36C4399.95,-2829.38 5266.49,-2507.49 5487.51,-2425.39"/>
<polygon fill="#f91010" stroke="black" points="5488.39,-2428.43 5496.54,-2421.66 5485.95,-2421.86 5488.39,-2428.43"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_database_operations_patch_operations -->
<g id="edge688" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_database_operations_patch_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4204.85,-2920.3C4586.26,-2902.29 6761.9,-2797.89 6894,-2753.33 7098.11,-2684.46 7094.11,-2556.44 7297,-2484.04 7453.44,-2428.22 7506.94,-2484.47 7669,-2448.04 7686.21,-2444.18 7704.36,-2438.47 7721.06,-2432.51"/>
<polygon fill="#f91010" stroke="black" points="7722.06,-2435.5 7730.25,-2428.78 7719.65,-2428.93 7722.06,-2435.5"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge689" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4092.38,-2917.59C3885.57,-2897.5 3141.35,-2824.34 2529,-2753.33 2435.65,-2742.5 1779.11,-2676.47 1690,-2646.62 1685.46,-2645.1 1680.88,-2643.21 1676.38,-2641.12"/>
<polygon fill="#f91010" stroke="black" points="1678.21,-2637.62 1667.7,-2636.26 1675.07,-2643.88 1678.21,-2637.62"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator -->
<g id="edge690" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_support_pkgbuild_mirrorlist_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4248,-2282.7C4262.52,-2235.03 4234.57,-2218.56 4248,-2170.57"/>
</g>
<!-- ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator -->
<g id="edge691" class="edge">
<title>ahriman_models_pkgbuild_patch&#45;&gt;ahriman_core_support_pkgbuild_pkgbuild_generator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M4141.01,-2895.87C4129.12,-2850.9 4103.36,-2758.33 4074,-2682.62 4067.6,-2666.12 4060.87,-2663.88 4057,-2646.62 4050.12,-2615.95 4048.82,-2606.25 4057,-2575.91 4085.54,-2469.98 4117.37,-2451.85 4181,-2362.48 4207.46,-2325.32 4236.09,-2328.75 4248,-2284.7"/>
<path fill="none" stroke="black" d="M4248,-2282.7C4248.28,-2281.64 4228.39,-2175.43 4215.88,-2108.92"/>
<polygon fill="#f91010" stroke="black" points="4219.16,-2108.39 4213.87,-2099.21 4212.28,-2109.68 4219.16,-2108.39"/>
</g>
<!-- ahriman_models_property -->
<g id="node154" class="node">
<title>ahriman_models_property</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="1930" cy="-2923.97" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="1930" y="-2930.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="1930" y="-2919.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="1930" y="-2909.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">property</text>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_aur_printer -->
<g id="edge692" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_aur_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1950.65,-2900.37C1999.37,-2847.07 2121.8,-2713.13 2180.97,-2648.4"/>
<polygon fill="#f91010" stroke="black" points="2183.04,-2651.23 2187.2,-2641.48 2177.87,-2646.5 2183.04,-2651.23"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_configuration_paths_printer -->
<g id="edge693" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_configuration_paths_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1895.48,-2912.27C1878.77,-2907.18 1858.39,-2901.12 1840,-2896.04 1777.24,-2878.7 1752.8,-2895.19 1698,-2860.04 1646.73,-2827.15 1645.67,-2804.09 1612,-2753.33 1592.28,-2723.6 1604.01,-2701.91 1574,-2682.62 1470.79,-2616.25 1143.41,-2670.22 1023,-2646.62 1014.22,-2644.9 1005.17,-2642.63 996.23,-2640.09"/>
<polygon fill="#f91010" stroke="black" points="997.4,-2636.49 986.82,-2636.99 995.4,-2643.2 997.4,-2636.49"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_configuration_printer -->
<g id="edge694" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_configuration_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1896.38,-2910.97C1842.6,-2891.3 1740.39,-2851.76 1712,-2825.68"/>
<path fill="none" stroke="black" d="M1712,-2823.68C1681.31,-2795.49 1673.8,-2787.54 1650,-2753.33 1629.63,-2724.04 1641.82,-2702.2 1612,-2682.62 1532.77,-2630.59 1279.05,-2669.2 1187,-2646.62 1180.25,-2644.96 1173.34,-2642.82 1166.53,-2640.43"/>
<polygon fill="#f91010" stroke="black" points="1168.26,-2636.96 1157.67,-2636.76 1165.82,-2643.53 1168.26,-2636.96"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_package_printer -->
<g id="edge695" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_package_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1959.84,-2906.41C1981.02,-2894.3 2009.87,-2877.08 2034,-2860.04 2132.41,-2790.55 2239.83,-2698.48 2296.58,-2648.43"/>
<polygon fill="#f91010" stroke="black" points="2298.41,-2651.6 2303.58,-2642.35 2293.77,-2646.36 2298.41,-2651.6"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_patch_printer -->
<g id="edge696" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_patch_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1864,-2823.68C1843.16,-2782.07 1875.51,-2764.06 1864,-2718.97"/>
<path fill="none" stroke="black" d="M1864,-2716.97C1843.38,-2636.15 1767.53,-2677.38 1690,-2646.62 1685.61,-2644.88 1681.16,-2642.86 1676.76,-2640.69"/>
<polygon fill="#f91010" stroke="black" points="1678.76,-2637.27 1668.27,-2635.76 1675.53,-2643.48 1678.76,-2637.27"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_printer -->
<g id="edge697" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1911.31,-2899.28C1896.94,-2880.22 1877.35,-2852.32 1864,-2825.68"/>
<path fill="none" stroke="black" d="M1864,-2823.68C1838.25,-2772.27 1834.57,-2752.7 1788,-2718.97"/>
<path fill="none" stroke="black" d="M1788,-2716.97C1660.2,-2624.42 1588.67,-2699.5 1440,-2646.62 1435.76,-2645.11 1431.51,-2643.24 1427.35,-2641.15"/>
<polygon fill="#f91010" stroke="black" points="1429.31,-2637.68 1418.86,-2635.96 1425.95,-2643.83 1429.31,-2637.68"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_tree_printer -->
<g id="edge698" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_tree_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1864,-2716.97C1859.39,-2698.92 1852.99,-2695.97 1840,-2682.62 1824.77,-2666.96 1805.78,-2652.16 1788.79,-2640.21"/>
<polygon fill="#f91010" stroke="black" points="1791.34,-2637.02 1781.12,-2634.23 1787.36,-2642.79 1791.34,-2637.02"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_update_printer -->
<g id="edge699" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_update_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1864,-2716.97C1859.14,-2697.92 1858.39,-2676.27 1859.14,-2657.63"/>
<polygon fill="#f91010" stroke="black" points="1862.68,-2657.93 1859.75,-2647.75 1855.69,-2657.53 1862.68,-2657.93"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge700" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1864,-2716.97C1858.79,-2696.53 1902.41,-2663.26 1938.51,-2639.72"/>
<polygon fill="#f91010" stroke="black" points="1939.97,-2642.3 1946.49,-2633.95 1936.19,-2636.41 1939.97,-2642.3"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_validation_printer -->
<g id="edge701" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_validation_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1712,-2823.68C1665.68,-2773.24 1705.15,-2723.21 1650,-2682.62 1592.55,-2640.33 1399.58,-2666.25 1331,-2646.62 1325.34,-2645 1319.58,-2642.97 1313.9,-2640.71"/>
<polygon fill="#f91010" stroke="black" points="1315.38,-2637.11 1304.81,-2636.44 1312.65,-2643.56 1315.38,-2637.11"/>
</g>
<!-- ahriman_models_property&#45;&gt;ahriman_core_formatters_version_printer -->
<g id="edge702" class="edge">
<title>ahriman_models_property&#45;&gt;ahriman_core_formatters_version_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1788,-2716.97C1772.91,-2706.05 1779.66,-2692.7 1764,-2682.62 1690.28,-2635.13 1652.82,-2675.43 1570,-2646.62 1565.2,-2644.95 1560.33,-2642.97 1555.52,-2640.81"/>
<polygon fill="#f91010" stroke="black" points="1557.3,-2637.31 1546.77,-2636.19 1554.3,-2643.64 1557.3,-2637.31"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge703" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5614.78,-3563.42C5583.53,-3399.33 5423.9,-2548.98 5465,-2512.97"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_database_operations_package_operations -->
<g id="edge704" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_database_operations_package_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5668.41,-3576.44C5687.17,-3571.53 5708.92,-3566.56 5729,-3563.75 6175.17,-3501.39 6291.93,-3547.51 6742,-3527.75 7217.3,-3506.89 7335.57,-3489.63 7811,-3471.89 8525.35,-3445.24 8705.6,-3481.29 9419,-3435.89 9516.45,-3429.69 10206.52,-3389.37 10293,-3344.03 10321.99,-3328.83 10311.74,-3302.85 10341,-3288.17 10444.93,-3236.04 10748.94,-3274.78 10863,-3252.17 10881.01,-3248.6 10900.01,-3243.16 10917.62,-3237.38"/>
<polygon fill="#b80909" stroke="black" points="10918.44,-3240.46 10926.8,-3233.94 10916.21,-3233.82 10918.44,-3240.46"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_pull -->
<g id="edge705" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_pull</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5571.66,-3576.42C5530.56,-3562.39 5471.87,-3537.69 5431,-3500.82"/>
<path fill="none" stroke="black" d="M5431,-3498.82C5331.14,-3408.75 5284.96,-3415.44 5171,-3344.03 5024.88,-3252.48 4962.88,-3258.3 4847,-3130.61 4828.07,-3109.75 4477,-2537.19 4477,-2406.26"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge706" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5431,-3498.82C5254.12,-3354.01 5254.49,-3268.96 5165,-3058.61 5090.81,-2884.21 5085.31,-2833.7 5055,-2646.62 5034.78,-2521.85 5008.15,-2483.98 5043,-2362.48 5060.57,-2301.24 5072.23,-2284.19 5119,-2240.92 5144.39,-2217.44 5160.38,-2225.75 5188,-2204.92 5260.67,-2150.13 5271.9,-2127.3 5329,-2056.43"/>
</g>
<!-- ahriman_models_remote_source&#45;&gt;ahriman_models_package -->
<g id="edge707" class="edge">
<title>ahriman_models_remote_source&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5668.73,-3576.69C5687.43,-3571.83 5709.06,-3566.84 5729,-3563.75 6077.47,-3509.79 6503.64,-3502.01 6646.05,-3500.96"/>
<polygon fill="#b80909" stroke="black" points="6646.01,-3504.45 6655.99,-3500.89 6645.97,-3497.45 6646.01,-3504.45"/>
</g>
<!-- ahriman_models_report_settings -->
<g id="node156" class="node">
<title>ahriman_models_report_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="9068" cy="-2511.97" rx="57.45" ry="27.93"/>
<text text-anchor="middle" x="9068" y="-2518.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9068" y="-2507.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="9068" y="-2497.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">report_settings</text>
</g>
<!-- ahriman_models_report_settings&#45;&gt;ahriman_core_report_report -->
<g id="edge708" class="edge">
<title>ahriman_models_report_settings&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9030.99,-2490.37C9003.76,-2472.2 8971.4,-2442.94 8971,-2406.26"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_handler -->
<g id="edge709" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10969.86,-4497.17C10995.36,-4486.66 11025.96,-4471.31 11049,-4451.19 11100.59,-4406.15 11080.16,-4364.36 11135,-4323.33 11288.57,-4208.43 12598.81,-3863.29 12781,-3803.34 13093.35,-3700.56 13162.84,-3646.83 13481,-3563.75 14084.08,-3406.27 15649.22,-3257.32 16240,-3058.61 16425.49,-2996.22 16479.96,-2982.01 16633,-2860.04 16734.31,-2779.29 16976.95,-2533.92 16999,-2406.26"/>
<path fill="none" stroke="black" d="M16999,-2404.26C17004.98,-2351.46 16956.81,-2317 16999,-2284.7"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge710" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10974.91,-4500.54C11412.32,-4390.32 14373.91,-3644.8 14774,-3563.75 15382.7,-3440.45 15550.06,-3488.86 16154,-3344.03 16498.8,-3261.34 16581.2,-3215.87 16899,-3058.61 17358.41,-2831.27 17432.21,-2695.81 17899,-2484.04 17943.93,-2463.66 17962.02,-2473.95 18004,-2448.04 18505.89,-2138.34 18578.31,-1950.13 18853,-1428.25 18995.8,-1156.95 19016.69,-1010.66 18875,-738.78"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge711" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10922.57,-4486.84C10924.06,-4454.61 10925.47,-4399.4 10921,-4352.26"/>
<path fill="none" stroke="black" d="M10921,-4350.26C10915.58,-4299.66 10778.53,-4243 10735,-4216.62 10488.58,-4067.27 10407.58,-4065.39 10156,-3924.9 9752.72,-3699.69 9693.2,-3567.38 9271,-3380.03 8983.61,-3252.5 8843.44,-3340.11 8609,-3130.61 8427.7,-2968.59 8452.61,-2867.77 8295,-2682.62 8280.13,-2665.15 8273.59,-2663.45 8258,-2646.62 8230.18,-2616.59 8227.02,-2605.74 8199,-2575.91 8183.08,-2558.94 8175,-2558.48 8161,-2539.91 8152.88,-2529.13 8144.07,-2526.14 8147,-2512.97"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_repo -->
<g id="edge712" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_alpm_repo</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10921,-4350.26C10916.38,-4292.57 11303.69,-4084.26 11401,-4032.9 11879.62,-3780.26 12034.54,-3788.13 12509,-3527.75 12548.96,-3505.83 12555.51,-3494.64 12595,-3471.89 12625.66,-3454.23 12647.48,-3466.04 12666,-3435.89 12679.8,-3413.42 12724.57,-3291.68 12659,-3094.61 12646.89,-3058.21 12627.86,-3057.66 12609,-3024.25"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_sources -->
<g id="edge713" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_sources</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10858.32,-4511.73C10714.11,-4506.34 10347.59,-4493.22 10041,-4487.19 9983.61,-4486.07 5958.45,-4478.58 5908,-4451.19 5825.58,-4406.45 5514.73,-3806.68 5442,-3747.48 5408.59,-3720.28 5380.58,-3743.71 5352,-3711.48 5223.87,-3566.99 5253.29,-3481.28 5254,-3288.17 5255.11,-2987.76 5028.14,-2804.49 5259,-2612.26"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_task -->
<g id="edge714" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_build_tools_task</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10921,-4350.26C10903.8,-3944.69 11657.42,-3130.31 11808,-2753.33 11815.4,-2734.79 11901.92,-2426.2 11901,-2406.26"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_configuration_configuration -->
<g id="edge715" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_configuration_configuration</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10891.4,-4490.37C10839.09,-4449.63 10725.46,-4366.68 10616,-4323.33 10517.94,-4284.5 10395.9,-4266.37 10323.17,-4258.47"/>
<polygon fill="#e50505" stroke="black" points="10323.68,-4254.9 10313.37,-4257.33 10322.94,-4261.86 10323.68,-4254.9"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge716" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10939.23,-4488.03C10967.71,-4448.63 11026.08,-4373.27 11089,-4323.33 11407.46,-4070.56 12474.35,-3781.2 12689,-3435.89 12706.72,-3407.38 12727.7,-3238.57 12735,-3130.61 12745.89,-2969.59 12694.01,-2927.72 12611,-2789.33 12600.29,-2771.47 12590.05,-2772.08 12581,-2753.33 12503.91,-2593.55 12600.94,-2508.37 12500,-2362.48 12409.3,-2231.4 12262.5,-2315.9 12197,-2170.57"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_core_util -->
<g id="edge717" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10861.27,-4505.95C10715.16,-4486.33 10327.9,-4436.61 10003,-4415.19 8980.41,-4347.77 7726.18,-4350.54 7465.02,-4351.94"/>
<polygon fill="#e50505" stroke="black" points="7465.01,-4348.45 7455.03,-4352 7465.05,-4355.45 7465.01,-4348.45"/>
</g>
<!-- ahriman_models_repository_paths&#45;&gt;ahriman_models_package -->
<g id="edge718" class="edge">
<title>ahriman_models_repository_paths&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10859.06,-4509.83C10595.85,-4491.58 9576.97,-4421.23 9433,-4415.19 9318.42,-4410.39 7473.76,-4425.86 7369,-4379.19 7134.68,-4274.81 7140.54,-4147.46 7013,-3924.9 6969.43,-3848.87 6982.54,-3815.25 6927,-3747.48 6854.86,-3659.45 6751.15,-3702.96 6723,-3592.68"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application -->
<g id="edge719" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_application_application</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9305,-2510.97C9347.53,-2488.55 9364.36,-2486.67 9393,-2448.04 9568.27,-2211.63 9605,-2115.03 9605,-1820.74 9605,-1820.74 9605,-1820.74 9605,-1498.61 9605,-1398.75 9664.93,-1385.73 9681,-1287.18"/>
<path fill="none" stroke="black" d="M9681,-1285.18C9691.29,-1173.97 9695.67,-1133.66 9639,-1037.41 9628.78,-1020.06 9612.56,-1005.29 9596.8,-993.82"/>
<polygon fill="#d10505" stroke="black" points="9599.35,-990.63 9589.14,-987.8 9595.35,-996.38 9599.35,-990.63"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge720" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8622,-2699.68C8591.48,-2681.28 8547.02,-2653.85 8541,-2646.62 8530.45,-2633.95 8541.64,-2619.84 8527,-2612.26"/>
<path fill="none" stroke="black" d="M8527,-2610.26C8216.29,-2449.48 8079.59,-2635.29 7743,-2539.91 7691.39,-2525.28 7687.35,-2499.56 7636,-2484.04 7563.48,-2462.13 7355.11,-2496.64 7297,-2448.04 7166.66,-2339.05 7083,-1883.93 7083,-1714.03 7083,-1714.03 7083,-1714.03 7083,-1285.18 7083,-1197.48 7140.72,-1179.44 7221,-1144.12 7316.94,-1101.91 8894.32,-1079.71 9288.35,-1074.81"/>
<polygon fill="#d10505" stroke="black" points="9288.15,-1078.3 9298.1,-1074.68 9288.06,-1071.3 9288.15,-1078.3"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_application_application_repository -->
<g id="edge721" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_application_application_repository</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8644.75,-2690.18C8640.69,-2668.95 8636.85,-2638.6 8641,-2612.26"/>
<path fill="none" stroke="black" d="M8641,-2610.26C8666.99,-2445.22 8621.88,-2382.24 8711,-2240.92 8749.78,-2179.42 8776.76,-2177.74 8835,-2134.21 9040.9,-1980.36 9133.86,-1996.94 9321,-1820.74"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_application_handlers_triggers -->
<g id="edge722" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_application_handlers_triggers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8687.98,-2711.11C8746.24,-2701.3 8862.48,-2679.34 8957,-2646.62 9026.65,-2622.51 9036.68,-2597.99 9107,-2575.91 9198.18,-2547.26 9231.54,-2578.43 9319,-2539.91 9623.66,-2405.73 9803,-1833.14 9803,-1820.74 9803,-1820.74 9803,-1820.74 9803,-1712.03 9803,-1248.83 10318.89,-1310.15 10393,-852.92"/>
<path fill="none" stroke="black" d="M10393,-850.92C10398.1,-780.04 10445.67,-709.99 10479.1,-668.9"/>
<polygon fill="#d10505" stroke="black" points="10482.31,-671.52 10486,-661.59 10476.92,-667.05 10482.31,-671.52"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push -->
<g id="edge723" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8614.25,-2710.55C8485.37,-2687.97 8042.03,-2609.85 7677,-2539.91 7575.48,-2520.45 7316.02,-2488.74 7221,-2448.04 7184.1,-2432.24 6958.5,-2263.04 6925,-2240.92 6764.69,-2135.1 6740.42,-2072.83 6558,-2012.65 6390.23,-1957.31 5845.35,-1940.34 5660.22,-1936.1"/>
<polygon fill="#d10505" stroke="black" points="5660.41,-1932.58 5650.33,-1935.85 5660.25,-1939.58 5660.41,-1932.58"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push_trigger -->
<g id="edge724" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_gitremote_remote_push_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8615.91,-2706.57C8526.42,-2680.43 8282.11,-2611.6 8074,-2575.91 7915.95,-2548.8 7872.29,-2571.11 7715,-2539.91 7630.34,-2523.11 7613.38,-2502.22 7529,-2484.04 7410.65,-2458.55 7367.6,-2501.54 7259,-2448.04 7210.63,-2424.22 7213.81,-2397.72 7173,-2362.48 6908.04,-2133.71 6869.79,-2013.95 6542,-1891.09 6388.8,-1833.67 5897.59,-1823.07 5698.26,-1821.15"/>
<polygon fill="#d10505" stroke="black" points="5698.3,-1817.64 5688.27,-1821.05 5698.24,-1824.64 5698.3,-1817.64"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_console -->
<g id="edge725" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_console</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8641,-2610.26C8655.03,-2561.47 8703.48,-2582.57 8731,-2539.91 8772.87,-2474.98 8786.48,-2384.19 8790.89,-2330.23"/>
<polygon fill="#d10505" stroke="black" points="8794.45,-2330.53 8791.7,-2320.29 8787.47,-2330.01 8794.45,-2330.53"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_email -->
<g id="edge726" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8527,-2610.26C8458.72,-2575.42 8618.77,-2358.06 8641,-2284.7"/>
<path fill="none" stroke="black" d="M8641,-2282.7C8662.31,-2138.54 8435.38,-2081.78 8333.26,-2063.65"/>
<polygon fill="#d10505" stroke="black" points="8334.06,-2060.06 8323.61,-2061.82 8332.87,-2066.96 8334.06,-2060.06"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_html -->
<g id="edge727" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_html</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8679.14,-2698.98C8700.19,-2685.23 8729.45,-2665.49 8754,-2646.62 8792.15,-2617.28 8791.91,-2595.18 8836,-2575.91 8901.16,-2547.42 9106.62,-2592.95 9154,-2539.91 9170.54,-2521.39 9164.75,-2506.42 9154,-2484.04 9142.9,-2460.96 9120.1,-2471.13 9109,-2448.04 9092.53,-2413.77 9100.73,-2399.6 9109,-2362.48 9129.49,-2270.53 9164.76,-2258.34 9199,-2170.57"/>
<path fill="none" stroke="black" d="M9199,-2168.57C9203.46,-2146.62 9207.51,-2122.07 9210.63,-2101.56"/>
<polygon fill="#d10505" stroke="black" points="9214.2,-2102.33 9212.22,-2091.92 9207.28,-2101.29 9214.2,-2102.33"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge728" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8684.02,-2703.59C8751.15,-2676.74 8908.77,-2615.46 9045,-2575.91 9115,-2555.58 9134.24,-2557.39 9205,-2539.91 9249.68,-2528.87 9264.85,-2535.48 9305,-2512.97"/>
<path fill="none" stroke="black" d="M9305,-2510.97C9397.62,-2460.95 9393.06,-2388.41 9375,-2284.7"/>
<path fill="none" stroke="black" d="M9375,-2282.7C9370.8,-2261.01 9368.35,-2236.61 9366.94,-2216.12"/>
<polygon fill="#d10505" stroke="black" points="9370.37,-2215.94 9366.25,-2206.18 9363.39,-2216.38 9370.37,-2215.94"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_report -->
<g id="edge729" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_report</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8641,-2610.26C8650.52,-2568.67 8719,-2273.96 8746,-2240.92 8768.87,-2212.94 8805.81,-2194.83 8835.43,-2184.01"/>
<polygon fill="#d10505" stroke="black" points="8836.27,-2187.07 8844.56,-2180.48 8833.97,-2180.46 8836.27,-2187.07"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_report_trigger -->
<g id="edge730" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_report_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8641,-2282.7C8655.45,-2235.01 8649.55,-2219.67 8641,-2170.57"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_report_telegram -->
<g id="edge731" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8665.47,-2691.94C8686.03,-2658.97 8727.04,-2602.13 8779,-2575.91 8849.79,-2540.17 9080.83,-2598.73 9134,-2539.91 9150.65,-2521.49 9148.31,-2504.33 9134,-2484.04 9106.54,-2445.1 9069.57,-2478.59 9033,-2448.04 9016.56,-2434.32 9019.65,-2424.85 9009,-2406.26"/>
<path fill="none" stroke="black" d="M9009,-2404.26C8982.96,-2357.95 9001.47,-2337.31 9009,-2284.7"/>
<path fill="none" stroke="black" d="M9009,-2282.7C9017.53,-2223.11 9075.37,-2230 9085,-2170.57"/>
<path fill="none" stroke="black" d="M9085,-2168.57C9088.52,-2146.84 9088.93,-2122.43 9088.29,-2101.95"/>
<polygon fill="#d10505" stroke="black" points="9091.75,-2101.86 9087.84,-2092.02 9084.76,-2102.15 9091.75,-2101.86"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_repository_executor -->
<g id="edge732" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_repository_executor</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8688.12,-2711.64C8782.4,-2698.03 9029.43,-2662.02 9111,-2646.62 9323.19,-2606.55 9381.68,-2612.65 9585,-2539.91 9750.33,-2480.76 9767.95,-2406.26 9938,-2362.48 10140.87,-2310.26 10685.5,-2404.29 10880,-2326.48 10933.37,-2305.13 10933.18,-2278.13 10977,-2240.92 11164.27,-2081.9 11206.43,-2035.77 11405,-1891.09 11475.59,-1839.67 11492.09,-1823.84 11570,-1784.38 11613.71,-1762.25 11666.13,-1742.94 11703.99,-1730.18"/>
<polygon fill="#d10505" stroke="black" points="11704.88,-1733.24 11713.26,-1726.76 11702.67,-1726.6 11704.88,-1733.24"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger -->
<g id="edge733" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8613.13,-2716.62C8351.5,-2714.08 6809.3,-2697.13 6343,-2646.62 6223.98,-2633.72 5391.48,-2500.76 5284,-2448.04 5279.1,-2445.64 5274.33,-2442.59 5269.81,-2439.22"/>
<polygon fill="#d10505" stroke="black" points="5272.45,-2436.05 5262.48,-2432.47 5268.04,-2441.48 5272.45,-2436.05"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger_loader -->
<g id="edge734" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_triggers_trigger_loader</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8612.97,-2717.12C8366.13,-2717.89 6988.41,-2718.84 6575,-2646.62 6343.15,-2606.11 6302.28,-2527.72 6071,-2484.04 5814.16,-2435.54 5741.27,-2494.23 5484,-2448.04 5456.62,-2443.13 5427.01,-2434.61 5402.26,-2426.54"/>
<polygon fill="#d10505" stroke="black" points="5403.57,-2422.95 5392.97,-2423.12 5401.36,-2429.6 5403.57,-2422.95"/>
</g>
<!-- ahriman_models_result&#45;&gt;ahriman_core_upload_upload_trigger -->
<g id="edge735" class="edge">
<title>ahriman_models_result&#45;&gt;ahriman_core_upload_upload_trigger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M8613.61,-2713.02C8500.89,-2701.04 8165.43,-2664.8 8057,-2646.62 7647.88,-2578.01 7524.37,-2615.86 7145,-2448.04 6999.82,-2383.82 6989.61,-2323.44 6854,-2240.92 6749.23,-2177.17 6619.92,-2114.36 6548.59,-2081"/>
<polygon fill="#d10505" stroke="black" points="6550.46,-2077.54 6539.92,-2076.49 6547.51,-2083.89 6550.46,-2077.54"/>
</g>
<!-- ahriman_models_sign_settings -->
<g id="node159" class="node">
<title>ahriman_models_sign_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db2f2f" stroke="black" cx="9663" cy="-2717.97" rx="52.15" ry="27.93"/>
<text text-anchor="middle" x="9663" y="-2724.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="9663" y="-2713.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="9663" y="-2703.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">sign_settings</text>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_application_ahriman -->
<g id="edge736" class="edge">
<title>ahriman_models_sign_settings&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9713.58,-2710.18C9777.73,-2701.9 9891.84,-2688.31 9990,-2682.62 11403.27,-2600.57 11761.69,-2727.93 13175,-2646.62 13484.46,-2628.81 15532.47,-2410.84 16184,-2326.48 16435.87,-2293.87 16496.03,-2263.49 16749,-2240.92 16893.15,-2228.07 17918.26,-2262.58 18051,-2204.92 18115.16,-2177.06 18913,-1357.13 18913,-1287.18 18913,-1287.18 18913,-1287.18 18913,-850.92 18913,-815.38 18862.85,-563.91 18880,-532.79"/>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge737" class="edge">
<title>ahriman_models_sign_settings&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9675.15,-2690.33C9688.2,-2661.87 9709.67,-2615.51 9729,-2575.91 9742.76,-2547.71 9764.18,-2544.19 9761,-2512.97"/>
<path fill="none" stroke="black" d="M9761,-2510.97C9753.67,-2456.29 9700.22,-2478.16 9654,-2448.04 9599.42,-2412.48 9589.92,-2397.52 9535,-2362.48 9507.49,-2344.93 9493.3,-2350.31 9471,-2326.48 9456.93,-2311.46 9464.68,-2300.09 9451,-2284.7"/>
</g>
<!-- ahriman_models_sign_settings&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge738" class="edge">
<title>ahriman_models_sign_settings&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9761,-2510.97C9758.41,-2485.6 9744.72,-2460.69 9731.07,-2441.53"/>
<polygon fill="#db2f2f" stroke="black" points="9733.41,-2439.81 9724.63,-2433.88 9727.79,-2443.99 9733.41,-2439.81"/>
</g>
<!-- ahriman_models_smtp_ssl_settings -->
<g id="node160" class="node">
<title>ahriman_models_smtp_ssl_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="7521" cy="-2405.26" rx="67.53" ry="27.93"/>
<text text-anchor="middle" x="7521" y="-2411.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="7521" y="-2401.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="7521" y="-2390.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">smtp_ssl_settings</text>
</g>
<!-- ahriman_models_smtp_ssl_settings&#45;&gt;ahriman_core_report_email -->
<g id="edge739" class="edge">
<title>ahriman_models_smtp_ssl_settings&#45;&gt;ahriman_core_report_email</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M7537.94,-2377.85C7570,-2329.88 7644.16,-2228.12 7731,-2170.57"/>
</g>
<!-- ahriman_models_upload_settings -->
<g id="node161" class="node">
<title>ahriman_models_upload_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="6677" cy="-2717.97" rx="59.57" ry="27.93"/>
<text text-anchor="middle" x="6677" y="-2724.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="6677" y="-2713.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="6677" y="-2703.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">upload_settings</text>
</g>
<!-- ahriman_models_upload_settings&#45;&gt;ahriman_core_upload_upload -->
<g id="edge740" class="edge">
<title>ahriman_models_upload_settings&#45;&gt;ahriman_core_upload_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6652.39,-2692.53C6633.15,-2672.37 6606.77,-2642.31 6589,-2612.26"/>
</g>
<!-- ahriman_models_user -->
<g id="node162" class="node">
<title>ahriman_models_user</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c70505" stroke="black" cx="14251" cy="-2923.97" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="14251" y="-2930.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14251" y="-2919.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="14251" y="-2909.22" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user</text>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_application_handlers_setup -->
<g id="edge741" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_application_handlers_setup</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14288.15,-2917.68C14361.06,-2907.22 14528.01,-2882.94 14668,-2860.04 15206.91,-2771.86 15342.04,-2751.27 15878,-2646.62 16100.16,-2603.24 16156.22,-2594.08 16376,-2539.91 16449.7,-2521.74 16636.03,-2479.74 16705,-2448.04 16767.18,-2419.47 16769.8,-2388.71 16833,-2362.48 16908.35,-2331.22 16940.59,-2364.07 17013,-2326.48 17061.99,-2301.06 17052.09,-2262.23 17103,-2240.92 17215.8,-2193.71 18092.26,-2256.8 18203,-2204.92 18297.84,-2160.5 18690.58,-1522.13 18737,-1428.25 18811.93,-1276.7 18833.94,-1237.77 18875,-1073.76"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_application_handlers_users -->
<g id="edge742" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_application_handlers_users</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14277.94,-2903.97C14283.1,-2900.95 14288.58,-2898.14 14294,-2896.04 14375.71,-2864.28 14984.16,-2771.15 15070,-2753.33 15275.92,-2710.58 15329.12,-2705.54 15531,-2646.62 16213.74,-2447.34 16346.61,-2257.9 17047,-2134.21 17425.71,-2067.34 17609.62,-2199.14 17889,-1934.87"/>
<path fill="none" stroke="black" d="M17889,-1932.87C17913.25,-1905.69 17942.37,-1876.63 17964.84,-1854.91"/>
<polygon fill="#c70505" stroke="black" points="17966.71,-1858 17971.49,-1848.55 17961.86,-1852.96 17966.71,-1858"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge743" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14281.64,-2906.98C14332.68,-2879.53 14437,-2819.94 14513,-2753.33 14610.55,-2667.83 14880.33,-2412.97 14861,-2284.7"/>
<path fill="none" stroke="black" d="M14861,-2282.7C14845.73,-2180.24 14932.3,-2158.9 14917,-2056.43"/>
<path fill="none" stroke="black" d="M14917,-2054.43C14912.8,-2029.32 14906.43,-2001.61 14900.82,-1979.19"/>
<polygon fill="#c70505" stroke="black" points="14903.99,-1978.48 14898.14,-1969.65 14897.21,-1980.21 14903.99,-1978.48"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge744" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14254.16,-2895.78C14255.69,-2876.07 14256.22,-2848.92 14251,-2825.68"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_formatters_user_printer -->
<g id="edge745" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_formatters_user_printer</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14213.56,-2918.17C14084.22,-2901.83 13644.21,-2848.09 13279,-2825.68"/>
<path fill="none" stroke="black" d="M13279,-2823.68C12283.59,-2762.62 9805.15,-2802.05 6608,-2753.33 6100.36,-2745.59 2526.95,-2790.24 2040,-2646.62 2035.69,-2645.35 2031.39,-2643.65 2027.18,-2641.7"/>
<polygon fill="#c70505" stroke="black" points="2029.09,-2638.23 2018.6,-2636.74 2025.87,-2644.44 2029.09,-2638.23"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge746" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14212.97,-2921.29C14060.01,-2913.11 13478.33,-2868.2 13070,-2646.62 12709.97,-2451.24 12769.31,-2191.95 12401,-2012.65 12331.65,-1978.89 12118.94,-1954.18 11998.49,-1942.47"/>
<polygon fill="#c70505" stroke="black" points="11999.13,-1938.92 11988.85,-1941.44 11998.46,-1945.88 11999.13,-1938.92"/>
</g>
<!-- ahriman_models_user&#45;&gt;ahriman_core_status_web_client -->
<g id="edge747" class="edge">
<title>ahriman_models_user&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13279,-2823.68C12874.23,-2798.29 12768.63,-2721.88 12421,-2512.97"/>
</g>
<!-- ahriman_models_user_access -->
<g id="node163" class="node">
<title>ahriman_models_user_access</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="15406" cy="-3023.25" rx="50.56" ry="27.93"/>
<text text-anchor="middle" x="15406" y="-3029.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15406" y="-3019" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="15406" y="-3008.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user_access</text>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_application_ahriman -->
<g id="edge748" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15454.94,-3015.75C15529.46,-3005.33 15675.53,-2982.88 15797,-2951.9 16434.74,-2789.24 16570.89,-2670.77 17202,-2484.04 17614.56,-2361.98 17720.59,-2341.09 18139,-2240.92 18211.57,-2223.55 18236.79,-2239.35 18303,-2204.92 18344.22,-2183.49 18345.43,-2165.26 18380,-2134.21 18398.04,-2118.01 18402.85,-2114.29 18421,-2098.21 18481.68,-2044.45 18496.95,-2031.11 18557,-1976.65 18598.61,-1938.92 18603.05,-1921.92 18650,-1891.09 18682.93,-1869.47 18698.98,-1878.04 18731,-1855.09 18835.92,-1779.9 18845.7,-1741.12 18928,-1641.67 18965.62,-1596.21 18973.9,-1583.81 19007,-1534.96 19068.92,-1443.59 19083.97,-1419.93 19134,-1321.54 19212.27,-1167.63 19215.6,-1121.41 19293,-967.05"/>
<path fill="none" stroke="black" d="M19293,-965.05C19316.93,-909.81 19376.99,-912.59 19369,-852.92"/>
<path fill="none" stroke="black" d="M19369,-850.92C19355.34,-748.86 19285.58,-734.77 19293,-632.07"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_auth_auth -->
<g id="edge749" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_core_auth_auth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15442,-2922.97C15450.34,-2894.54 15458.11,-2889.08 15464,-2860.04 15476.48,-2798.47 15467.54,-2781.56 15473,-2718.97"/>
<path fill="none" stroke="black" d="M15473,-2716.97C15479.94,-2668.81 15448.06,-2660.41 15441,-2612.26"/>
<path fill="none" stroke="black" d="M15441,-2610.26C15389.17,-2257 15338.43,-2140.56 15083,-1891.09 14950.23,-1761.42 14718.18,-1726.49 14617.69,-1717.26"/>
<polygon fill="#f91010" stroke="black" points="14618.22,-1713.7 14607.96,-1716.32 14617.62,-1720.68 14618.22,-1713.7"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_auth_mapping -->
<g id="edge750" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_core_auth_mapping</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15418.87,-2995.74C15427.39,-2976.59 15437.76,-2949.82 15442,-2924.97"/>
<path fill="none" stroke="black" d="M15442,-2922.97C15504.64,-2555.61 15223.22,-2509.86 15009,-2204.92 14964.37,-2141.4 14929.8,-2133.01 14917,-2056.43"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_database_operations_auth_operations -->
<g id="edge751" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_core_database_operations_auth_operations</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15359.22,-3012.1C15323.65,-3004.64 15273.41,-2994.66 15229,-2987.9 15085.77,-2966.08 15046.68,-2982.21 14905,-2951.9 14887.37,-2948.13 14300.27,-2765.53 14287,-2753.33 14201.85,-2675 14216.31,-2624.9 14187,-2512.97"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_core_repository_repository_properties -->
<g id="edge752" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_core_repository_repository_properties</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15360.09,-3011.29C15324.54,-3003.3 15273.94,-2993.02 15229,-2987.9 14794.44,-2938.4 13679.46,-2999.74 13265,-2860.04 13093.79,-2802.33 13057.88,-2762.19 12919,-2646.62 12732.11,-2491.09 12726,-2410.75 12552,-2240.92 12524.19,-2213.78 12321.86,-2029.84 12287,-2012.65 12195.25,-1967.42 12078.29,-1948.46 11999.81,-1940.53"/>
<polygon fill="#f91010" stroke="black" points="12000.28,-1936.96 11989.99,-1939.48 11999.61,-1943.93 12000.28,-1936.96"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_models_user -->
<g id="edge753" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_models_user</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15359.68,-3011.58C15324.12,-3003.8 15273.71,-2993.65 15229,-2987.9 15182.52,-2981.92 14491.41,-2939.61 14299.88,-2927.94"/>
<polygon fill="#f91010" stroke="black" points="14300.24,-2924.39 14290.04,-2927.28 14299.81,-2931.38 14300.24,-2924.39"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge754" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15360.36,-3011.14C15304.38,-2997.45 15206.61,-2973.38 15123,-2951.9 14850,-2881.77 14784.87,-2851.73 14510,-2789.33 14426.19,-2770.3 14389.63,-2803.71 14320,-2753.33 14305.86,-2743.1 14312.08,-2732.45 14301,-2718.97"/>
<path fill="none" stroke="black" d="M14301,-2716.97C14203.32,-2584.84 14314.28,-2476.55 14196,-2362.48 14149.75,-2317.89 14114.38,-2353.31 14056,-2326.48 13970.28,-2287.09 13955.19,-2264.45 13882,-2204.92 13785.34,-2126.31 13779.73,-2084.58 13678,-2012.65 13649.43,-1992.46 13636.82,-1996.49 13608,-1976.65 13486.83,-1893.26 13218.69,-1639.29 13115,-1534.96 13040.78,-1460.28 13039.4,-1424.33 12958,-1357.54 12955.73,-1355.67 12777.56,-1252.28 12775,-1250.83 12745.9,-1234.41 12736.08,-1234.4 12709,-1214.83 12652.75,-1174.17 12628.71,-1168.78 12595,-1108.12 12578.71,-1078.8 12571.8,-1041.41 12568.92,-1012.49"/>
<polygon fill="#f91010" stroke="black" points="12572.35,-1012.51 12568,-1002.85 12565.38,-1013.12 12572.35,-1012.51"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_api_docs -->
<g id="edge755" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_api_docs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15821,-2404.26C15850.98,-2270.94 15844.19,-2192.06 15968,-2134.21 16070.13,-2086.5 16367.24,-2134.4 16474,-2098.21 16607.83,-2052.85 16890.87,-1831.7 17005,-1748.38 17106.45,-1674.32 17124.65,-1646.52 17225,-1570.96 17290.94,-1521.31 17300.34,-1494.86 17377,-1464.25 17477.99,-1423.93 17515.6,-1461.92 17619,-1428.25 17716.29,-1396.57 17755.24,-1398.21 17823,-1321.54 17907.45,-1225.98 17921.82,-1150.56 17863,-1037.41 17824.93,-964.17 17789.44,-956.4 17711,-930.7 17532.52,-872.2 16195.84,-963.31 16021,-894.7 16017.05,-893.15 16013.22,-891.11 16009.56,-888.76"/>
<polygon fill="#f91010" stroke="black" points="16012,-885.47 16001.85,-882.4 16007.87,-891.13 16012,-885.47"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge756" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14301,-2716.97C14269.64,-2675.18 14279.42,-2535.24 14269,-2484.04 14257.83,-2429.19 14273.62,-2403.94 14236,-2362.48 14205.66,-2329.04 14178.79,-2351.2 14141,-2326.48 13977.72,-2219.67 13980.7,-2141.31 13834,-2012.65 13813.95,-1995.07 13806.24,-1994.01 13786,-1976.65 13590.19,-1808.76 13578.4,-1724.32 13371,-1570.96 13344.13,-1551.1 13332.73,-1553.61 13305,-1534.96 13211.68,-1472.19 12990.47,-1296.36 12913,-1214.83 12813.66,-1110.29 12719.02,-967.9 12674.14,-896.92"/>
<polygon fill="#f91010" stroke="black" points="12676.69,-895.4 12668.4,-888.8 12670.77,-899.13 12676.69,-895.4"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_base -->
<g id="edge757" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15473,-2716.97C15475.35,-2700.65 15477.21,-2695.88 15487,-2682.62 15502.01,-2662.29 15516.75,-2667.48 15531,-2646.62 15666.01,-2448.93 15526.02,-2301.76 15697,-2134.21 15763.81,-2068.75 16413.02,-1916.65 16503,-1891.09 16562.73,-1874.13 16581.77,-1881.43 16638,-1855.09 16687.29,-1832.01 16689.86,-1809.78 16738,-1784.38 16778.67,-1762.93 16802.16,-1780.57 16835,-1748.38 16883.47,-1700.88 16892.77,-1505.05 16947,-1464.25 17082.21,-1362.53 17188.85,-1527.35 17326,-1428.25 17381.51,-1388.14 17352.34,-1345.65 17388,-1287.18"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_index -->
<g id="edge758" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15427.87,-2997.62C15467.23,-2952.2 15550.61,-2850.95 15601,-2753.33 15734.2,-2495.26 15602.17,-2337.06 15810,-2134.21 15820.55,-2123.91 16303.08,-1981.52 16317,-1976.65 16416.04,-1942.05 16436.56,-1921.38 16537,-1891.09 16608.86,-1869.42 16637.05,-1892.71 16702,-1855.09 16738.68,-1833.85 16730.82,-1808.04 16766,-1784.38 16804.85,-1758.26 16829.62,-1779.04 16865,-1748.38 16932.6,-1689.81 16904.61,-1641.2 16960,-1570.96 17004.2,-1514.92 17015.05,-1493.85 17080,-1464.25 17193.77,-1412.41 17250.62,-1490.59 17359,-1428.25 17471.93,-1363.3 17513.41,-1245.01 17431,-1144.12 17327.58,-1017.51 17240.22,-1064.44 17079,-1037.41 16662.73,-967.61 16550.94,-1032.37 16130,-1001.41 15615.93,-963.6 14995.93,-882.96 14820.39,-859.47"/>
<polygon fill="#f91010" stroke="black" points="14821.09,-855.9 14810.71,-858.04 14820.16,-862.83 14821.09,-855.9"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_add -->
<g id="edge759" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16011,-2716.97C16046.62,-2683.26 16059.51,-2679.38 16096,-2646.62 16173.07,-2577.41 16181.92,-2548.51 16263,-2484.04 16341.17,-2421.89 16366.5,-2414.1 16452,-2362.48 16545.98,-2305.76 16568.37,-2289.11 16667,-2240.92 16685.54,-2231.86 16991.08,-2106.47 17010,-2098.21 17129.13,-2046.23 17158.98,-2033.24 17276,-1976.65 17382.93,-1924.94 17409.5,-1911.56 17514,-1855.09 17673.96,-1768.66 17715.47,-1747.94 17863,-1641.67 17904.28,-1611.94 17908.71,-1595.98 17953,-1570.96 17992.32,-1548.76 18009.84,-1559.1 18048,-1534.96 18105.84,-1498.38 18120.7,-1484.96 18159,-1428.25 18213.48,-1347.6 18205.27,-1312.11 18208,-1214.83 18211.62,-1086.08 18254.52,-1007.32 18151,-930.7 18082.85,-880.25 16770.45,-857.75 16498.91,-853.63"/>
<polygon fill="#f91010" stroke="black" points="16499.28,-850.12 16489.23,-853.47 16499.17,-857.12 16499.28,-850.12"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge760" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15374.97,-3000.92C15349.87,-2982.67 15314.6,-2954.7 15289,-2924.97"/>
<path fill="none" stroke="black" d="M15289,-2922.97C15251.35,-2879.23 15246.81,-2863.25 15203,-2825.68"/>
<path fill="none" stroke="black" d="M15203,-2823.68C15122.81,-2754.93 15060.06,-2817.28 14976,-2753.33 14946.73,-2731.06 14954.91,-2712.16 14933,-2682.62 14849.63,-2570.24 14798.99,-2565.54 14723,-2448.04 14700.4,-2413.11 14716.54,-2389.62 14685,-2362.48 14639.23,-2323.1 14602.53,-2362.41 14554,-2326.48 14473.97,-2267.25 14492.55,-2218.16 14439,-2134.21 14366.41,-2020.42 14348.13,-1990.66 14257,-1891.09 14161.07,-1786.29 14127.89,-1768.93 14019,-1677.67 13999.1,-1661 13990.25,-1661.07 13973,-1641.67 13911.66,-1572.68 13921.64,-1537.14 13865,-1464.25 13817.42,-1403.03 13650.28,-1286.63 13621,-1214.83 13609.13,-1185.73 13607.06,-1172.28 13621,-1144.12 13657.85,-1069.68 13868.65,-934.77 13960.37,-878.57"/>
<polygon fill="#f91010" stroke="black" points="13961.94,-881.1 13968.65,-872.9 13958.29,-875.13 13961.94,-881.1"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge761" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15203,-2823.68C15060.9,-2681.47 15048.16,-2624.04 14951,-2448.04 14930.89,-2411.62 14946.14,-2387.64 14913,-2362.48 14825.34,-2295.93 14757.09,-2391.11 14668,-2326.48 14570.66,-2255.88 14277.48,-1435.58 14186,-1357.54 14145.26,-1322.78 14116.9,-1349.14 14071,-1321.54 14042.09,-1304.15 13976,-1245.96 13963,-1214.83 13937.88,-1154.7 13956.57,-1119.49 14003,-1073.76"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge762" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15897,-2716.97C15898.15,-2711.6 16069.87,-2367.01 16073,-2362.48 16114.95,-2301.81 16122.63,-2278.69 16186,-2240.92 16403.68,-2111.2 16499.71,-2184.4 16738,-2098.21 16976.02,-2012.13 17035.3,-1984.22 17253,-1855.09 17437.45,-1745.69 17455.37,-1674.82 17643,-1570.96 17754.45,-1509.27 17788.91,-1506.73 17909,-1464.25 17960.29,-1446.11 17982.4,-1460.79 18026,-1428.25 18109.8,-1365.71 18111.14,-1318.47 18125,-1214.83 18141.77,-1089.44 18203.79,-1013.34 18108,-930.7 18032.31,-865.4 16402.08,-931.16 16309,-894.7 16305.05,-893.15 16301.22,-891.11 16297.56,-888.77"/>
<polygon fill="#f91010" stroke="black" points="16299.99,-885.48 16289.85,-882.41 16295.87,-891.13 16299.99,-885.48"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_request -->
<g id="edge763" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15897,-2823.68C15939.85,-2769.86 15965.71,-2770.75 16011,-2718.97"/>
<path fill="none" stroke="black" d="M16011,-2716.97C16176.27,-2528.02 16101.47,-2372.92 16315,-2240.92 16380,-2200.74 16583.24,-2224.92 16657,-2204.92 16702.54,-2192.58 17388.64,-1875.89 17431,-1855.09 17521.8,-1810.53 17544.98,-1799.92 17632,-1748.38 17755.55,-1675.21 17781.45,-1648.97 17902,-1570.96 18001.11,-1506.83 18062.6,-1527.82 18126,-1428.25 18219.84,-1280.88 18207.91,-1207.5 18168,-1037.41 18155.9,-985.85 18159.71,-959.07 18115,-930.7 18034.67,-879.73 16491.56,-929.44 16403,-894.7 16399.05,-893.15 16395.22,-891.11 16391.56,-888.76"/>
<polygon fill="#f91010" stroke="black" points="16393.99,-885.47 16383.85,-882.4 16389.87,-891.13 16393.99,-885.47"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_search -->
<g id="edge764" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15137,-2922.97C14977.72,-2831.69 14955.6,-2780.51 14830,-2646.62 14713.1,-2521.99 14711.06,-2460.37 14571,-2362.48 14536.36,-2338.28 14515.3,-2353.73 14483,-2326.48 14405.99,-2261.55 14425.79,-2212.98 14363,-2134.21 14189.5,-1916.56 13698.61,-1416.59 13475,-1250.83 13447.84,-1230.7 13431.52,-1239.11 13408,-1214.83 13365.77,-1171.22 13295.81,-1027.69 13293,-967.05"/>
<path fill="none" stroke="black" d="M13293,-965.05C13292.15,-940.86 13301.63,-915.92 13312.38,-895.72"/>
<polygon fill="#f91010" stroke="black" points="13315.87,-897.64 13317.72,-887.21 13309.77,-894.21 13315.87,-897.64"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_service_update -->
<g id="edge765" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15783,-2922.97C15853.82,-2855.69 15772.79,-2575.54 15807,-2484.04 15814.1,-2465.06 15823.79,-2464.93 15835,-2448.04 15879.22,-2381.43 15943.34,-2176.83 16011,-2134.21 16115.95,-2068.11 16449.83,-2135.9 16568,-2098.21 16666.02,-2066.96 16678.48,-2032.33 16765,-1976.65 16786.49,-1962.83 17504.91,-1472.78 17529,-1464.25 17696.84,-1404.81 17771.24,-1512.69 17928,-1428.25 17980.54,-1399.95 18072.48,-1271.56 18091,-1214.83 18125.93,-1107.87 18065.33,-1076.45 18039,-967.05"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge766" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15441,-2610.26C15435.93,-2554.39 15444.46,-2539.88 15439,-2484.04 15433.66,-2429.4 15429.32,-2415.99 15417,-2362.48 15411.46,-2338.44 15305.96,-1957.86 15297,-1934.87"/>
<path fill="none" stroke="black" d="M15297,-1932.87C15260.44,-1857.24 15277.45,-1661.59 15259,-1607.32"/>
<path fill="none" stroke="black" d="M15259,-1605.32C15213.07,-1537.67 15162.04,-1571.72 15089,-1534.96 14951.99,-1466.02 14938.37,-1406.44 14793,-1357.54 14723.29,-1334.09 14513.1,-1376.3 14464,-1321.54 14410.37,-1261.72 14505.94,-1041.95 14535,-967.05"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_package -->
<g id="edge767" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15362.06,-3009.32C15307.89,-2992.72 15213.6,-2961.62 15137,-2924.97"/>
<path fill="none" stroke="black" d="M15137,-2922.97C15060.55,-2886.39 15029.87,-2903.31 14957,-2860.04 14902.76,-2827.83 14153.6,-2148.11 14115,-2098.21 14066.85,-2035.98 14005.19,-1841.44 13951,-1784.38 13929.32,-1761.56 13916.17,-1765.88 13890,-1748.38 13649.95,-1587.89 13607.02,-1523.9 13371,-1357.54 13300.53,-1307.87 13284.74,-1292.02 13209,-1250.83 13174.03,-1231.81 13157.15,-1240.81 13127,-1214.83 13028.42,-1129.88 12891.79,-1070.3 12971,-967.05"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge768" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15783,-2922.97C15833.15,-2879.13 15855.51,-2877.79 15897,-2825.68"/>
<path fill="none" stroke="black" d="M15897,-2823.68C15925.99,-2787.28 15889.08,-2764.83 15897,-2718.97"/>
<path fill="none" stroke="black" d="M15897,-2716.97C15908.4,-2650.98 15999.18,-2176.64 16051,-2134.21 16103.02,-2091.63 16591.14,-2119.23 16655,-2098.21 16749.16,-2067.22 16759.52,-2031.65 16842,-1976.65 17131.38,-1783.71 17214.28,-1749.55 17488,-1534.96 17525.08,-1505.89 17523.76,-1482.97 17567,-1464.25 17735.68,-1391.22 17816.56,-1514.27 17979,-1428.25 18033.08,-1399.62 18034.67,-1374.1 18066,-1321.54 18092.27,-1277.47 18100.03,-1265.15 18110,-1214.83 18116.11,-1184 18112.62,-1175.44 18110,-1144.12 18101.97,-1048.26 18146.85,-993.51 18074,-930.7 17995.77,-863.25 16311.76,-930.87 16215,-894.7 16210.83,-893.14 16206.76,-891.07 16202.85,-888.69"/>
<polygon fill="#f91010" stroke="black" points="16205.3,-885.44 16195.08,-882.64 16201.33,-891.2 16205.3,-885.44"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_status_status -->
<g id="edge769" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15440.32,-3002.38C15450.58,-2997.07 15462.02,-2991.75 15473,-2987.9 15605.68,-2941.41 15690.29,-3030.65 15783,-2924.97"/>
<path fill="none" stroke="black" d="M15783,-2922.97C15801.9,-2901.43 15772.13,-2888.52 15769,-2860.04 15750.75,-2693.93 15720.47,-2643.95 15769,-2484.04 15781.08,-2444.25 15813.84,-2447.23 15821,-2406.26"/>
<path fill="none" stroke="black" d="M15821,-2404.26C15824.67,-2369.33 15810.12,-2361.47 15807,-2326.48 15803.62,-2288.61 15798.04,-2277.88 15807,-2240.92 15819.58,-2189.07 15817.35,-2163.42 15862,-2134.21 15967.1,-2065.46 16314.48,-2155.98 16426,-2098.21 16469.38,-2075.74 16457.93,-2044.47 16495,-2012.65 16600.71,-1921.9 16651.6,-1934.61 16766,-1855.09 16806.63,-1826.85 16809.1,-1809.05 16852,-1784.38 16891.87,-1761.46 16909.51,-1771.95 16949,-1748.38 17000.3,-1717.77 17104.15,-1608.04 17151,-1570.96 17215.15,-1520.19 17225.18,-1494.99 17301,-1464.25 17398.92,-1424.55 17439.88,-1472.14 17536,-1428.25 17669.2,-1367.43 17725.55,-1347.74 17787,-1214.83 17811.58,-1161.66 17752.78,-984.94 17697,-967.05"/>
<path fill="none" stroke="black" d="M17697,-965.05C17511.53,-899.17 16109.55,-968.29 15927,-894.7 15923.07,-893.11 15919.25,-891.05 15915.6,-888.68"/>
<polygon fill="#f91010" stroke="black" points="15918.03,-885.39 15907.9,-882.3 15913.89,-891.04 15918.03,-885.39"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_user_login -->
<g id="edge770" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15289,-2922.97C15222.59,-2833.39 15272.4,-2779.39 15217,-2682.62 15146.29,-2559.1 15082.85,-2563.04 14999,-2448.04 14973.31,-2412.81 14986.89,-2387.24 14951,-2362.48 14861.86,-2300.98 14789.28,-2400.27 14710,-2326.48 14645.9,-2266.83 14689.64,-2218.8 14667,-2134.21 14652.37,-2079.53 14653.61,-2063.63 14629,-2012.65 14592.2,-1936.42 14563.49,-1928.87 14522,-1855.09 14402.86,-1643.24 14475.3,-1520.55 14295,-1357.54 14258.09,-1324.17 14223.39,-1357.5 14189,-1321.54 14149.37,-1280.1 14076.24,-1114.1 14117,-1073.76"/>
</g>
<!-- ahriman_models_user_access&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge771" class="edge">
<title>ahriman_models_user_access&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15297,-1932.87C15240.95,-1781.73 15369.16,-1700.35 15273,-1570.96 15245.82,-1534.39 15214.55,-1560.78 15177,-1534.96 15072.6,-1463.17 15066.23,-1421.21 14988,-1321.54 14928.76,-1246.06 14932.76,-1212.05 14865,-1144.12 14767.82,-1046.69 14636.34,-1102.31 14611,-967.05"/>
</g>
<!-- ahriman_version -->
<g id="node164" class="node">
<title>ahriman_version</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="15023" cy="-2717.97" rx="37.83" ry="20.51"/>
<text text-anchor="middle" x="15023" y="-2718.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15023" y="-2708.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">version</text>
</g>
<!-- ahriman_version&#45;&gt;ahriman_application_ahriman -->
<g id="edge772" class="edge">
<title>ahriman_version&#45;&gt;ahriman_application_ahriman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15060.75,-2715.18C15137.17,-2710.61 15314.82,-2695.22 15455,-2646.62 15484.77,-2636.3 15486.28,-2619.23 15517,-2612.26"/>
<path fill="none" stroke="black" d="M15517,-2610.26C15680.72,-2573.14 15711.47,-2529.75 15873,-2484.04 16121.41,-2413.75 16752.75,-2272.3 17009,-2240.92 17130.05,-2226.1 17992.37,-2249.22 18106,-2204.92 18173.74,-2178.52 18179.05,-2150.09 18230,-2098.21 18264.63,-2062.96 18264.72,-2046.21 18301,-2012.65 18321.37,-1993.81 18331.06,-1994.85 18352,-1976.65 18506.26,-1842.61 18528.65,-1792.09 18667,-1641.67 18710.19,-1594.72 18721.1,-1583.06 18763,-1534.96 18803.75,-1488.18 18815.13,-1477.39 18853,-1428.25 18935.15,-1321.67 19027,-1315.04 19027,-1180.47 19027,-1180.47 19027,-1180.47 19027,-736.78 19027,-673.52 19003.93,-642.96 19046,-595.72 19121.34,-511.12 19312.99,-644.29 19293,-532.79"/>
<path fill="none" stroke="black" d="M19293,-530.79C19261.16,-358.62 19063.45,-465.02 18956,-326.79"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_application_handlers_service_updates -->
<g id="edge773" class="edge">
<title>ahriman_version&#45;&gt;ahriman_application_handlers_service_updates</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14985.65,-2714.08C14893.43,-2707.1 14647.51,-2689.38 14442,-2682.62 13846.86,-2663.04 9676.3,-2697.3 9083,-2646.62 8890.9,-2630.2 8846.1,-2601.49 8655,-2575.91 8637.78,-2573.6 7425.7,-2457.29 7411,-2448.04 7218.87,-2327.17 7278.38,-2195.6 7144,-2012.65 7064.32,-1904.18 7059.35,-1855.38 6945,-1784.38 6893.19,-1752.22 2756.26,-687.41 2699,-666.43 2693.55,-664.43 2687.96,-662.17 2682.42,-659.78"/>
<polygon fill="#f91010" stroke="black" points="2684.1,-656.25 2673.54,-655.38 2681.25,-662.64 2684.1,-656.25"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_application_handlers_versions -->
<g id="edge774" class="edge">
<title>ahriman_version&#45;&gt;ahriman_application_handlers_versions</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14985.3,-2714.31C14892.79,-2707.88 14647.19,-2691.37 14442,-2682.62 14289.64,-2676.11 13217.97,-2683.51 13070,-2646.62 13001.34,-2629.5 12568.73,-2379.36 12500,-2362.48 12296.02,-2312.41 10817.1,-2361.5 10610,-2326.48 10449.03,-2299.27 10268.14,-2228.36 10182.74,-2192.3"/>
<polygon fill="#f91010" stroke="black" points="10184.38,-2188.77 10173.81,-2188.08 10181.64,-2195.21 10184.38,-2188.77"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_application_lock -->
<g id="edge775" class="edge">
<title>ahriman_version&#45;&gt;ahriman_application_lock</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15517,-2610.26C15673.88,-2572.84 15714.85,-2571.54 15873,-2539.91 15995.72,-2515.36 16025.37,-2503.52 16149,-2484.04 16289.5,-2461.92 16326.78,-2471.91 16467,-2448.04 16511.3,-2440.5 16560.97,-2428.97 16597.37,-2419.92"/>
<polygon fill="#f91010" stroke="black" points="16597.9,-2423.15 16606.75,-2417.32 16596.19,-2416.36 16597.9,-2423.15"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_core_alpm_remote_remote -->
<g id="edge776" class="edge">
<title>ahriman_version&#45;&gt;ahriman_core_alpm_remote_remote</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14985.65,-2714.09C14893.43,-2707.12 14647.51,-2689.44 14442,-2682.62 13896.62,-2664.5 10075.03,-2689.05 9531,-2646.62 9211.11,-2621.66 9124.8,-2630.52 8817,-2539.91 8613.27,-2479.93 8387.95,-2360.8 8295.35,-2309.34"/>
<polygon fill="#f91010" stroke="black" points="8297.2,-2305.8 8286.76,-2303.99 8293.79,-2311.92 8297.2,-2305.8"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_core_status_web_client -->
<g id="edge777" class="edge">
<title>ahriman_version&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14985.3,-2714.28C14892.8,-2707.77 14647.2,-2691.11 14442,-2682.62 14104.64,-2668.65 13255.63,-2704.62 12923,-2646.62 12810.4,-2626.98 12545.41,-2513.61 12435,-2484.04 12357.88,-2463.39 12332.13,-2480.09 12259,-2448.04 12252.43,-2445.17 12245.87,-2441.46 12239.66,-2437.44"/>
<polygon fill="#f91010" stroke="black" points="12242.06,-2434.16 12231.83,-2431.4 12238.1,-2439.94 12242.06,-2434.16"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_web_apispec -->
<g id="edge778" class="edge">
<title>ahriman_version&#45;&gt;ahriman_web_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15011.64,-2698.16C14975.98,-2640.52 14860.43,-2464.1 14723,-2362.48 14690.34,-2338.34 14671.63,-2350.67 14639,-2326.48 14549.22,-2259.95 14557.42,-2211.8 14477,-2134.21 14473.85,-2131.18 13488.89,-1359.53 13485,-1357.54 13433.92,-1331.38 13405.62,-1357.63 13361,-1321.54 13333.26,-1299.1 13349.75,-1274.44 13323,-1250.83 13257.99,-1193.43 13208.32,-1235.15 13141,-1180.47"/>
<path fill="none" stroke="black" d="M13141,-1178.47C13113.95,-1156.42 13092.08,-1059.37 13081.64,-1004.75"/>
<polygon fill="#f91010" stroke="black" points="13084.93,-1004.29 13079.65,-995.1 13078.05,-1005.57 13084.93,-1004.29"/>
</g>
<!-- ahriman_web_schemas_internal_status_schema -->
<g id="node177" class="node">
<title>ahriman_web_schemas_internal_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#8a2e2e" stroke="black" cx="16454" cy="-1179.47" rx="84.5" ry="35.36"/>
<text text-anchor="middle" x="16454" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16454" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16454" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="16454" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">internal_status_schema</text>
</g>
<!-- ahriman_version&#45;&gt;ahriman_web_schemas_internal_status_schema -->
<g id="edge779" class="edge">
<title>ahriman_version&#45;&gt;ahriman_web_schemas_internal_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15035.51,-2698.49C15110.77,-2587.37 15500,-2012.65 15500,-2012.65 15586.45,-1935.29 15619.03,-1921.45 15731,-1891.09 15816.66,-1867.87 16456.55,-1906.37 16529,-1855.09 16584.19,-1816.03 16586,-1781.65 16586,-1714.03 16586,-1714.03 16586,-1714.03 16586,-1498.61 16586,-1387.26 16684.78,-1343.46 16623,-1250.83 16604.7,-1223.39 16573.47,-1206.64 16542.8,-1196.41"/>
<polygon fill="#f91010" stroke="black" points="16544.02,-1192.82 16533.43,-1193.19 16541.94,-1199.5 16544.02,-1192.82"/>
</g>
<!-- ahriman_web_schemas_package_schema -->
<g id="node185" class="node">
<title>ahriman_web_schemas_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#932424" stroke="black" cx="15335" cy="-1286.18" rx="65.41" ry="35.36"/>
<text text-anchor="middle" x="15335" y="-1297.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15335" y="-1287.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15335" y="-1276.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15335" y="-1266.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_schema</text>
</g>
<!-- ahriman_version&#45;&gt;ahriman_web_schemas_package_schema -->
<g id="edge780" class="edge">
<title>ahriman_version&#45;&gt;ahriman_web_schemas_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15027.26,-2697.38C15036.26,-2656.97 15058.55,-2561.68 15085,-2484.04 15109.49,-2412.18 15133.02,-2400.25 15151,-2326.48 15192.36,-2156.82 15183,-2109.5 15183,-1934.87 15183,-1934.87 15183,-1934.87 15183,-1818.74 15183,-1730.46 15252.43,-1727.52 15273,-1641.67 15302.43,-1518.82 15216.8,-1474.32 15265,-1357.54 15270.34,-1344.59 15279.35,-1332.78 15289.16,-1322.68"/>
<polygon fill="#f91010" stroke="black" points="15291.02,-1325.77 15295.76,-1316.3 15286.15,-1320.75 15291.02,-1325.77"/>
</g>
<!-- ahriman_version&#45;&gt;ahriman_web_views_status_status -->
<g id="edge781" class="edge">
<title>ahriman_version&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15044.14,-2700.52C15061.67,-2686.63 15087.02,-2665.97 15108,-2646.62 15292.98,-2475.99 15302.79,-2393.39 15503,-2240.92 15581.29,-2181.31 15606.61,-2173.11 15697,-2134.21 16070.79,-1973.38 16183.21,-1984.52 16569,-1855.09 16577.48,-1852.25 16865.53,-1753.31 16873,-1748.38 16962.41,-1689.46 16953.08,-1638.72 17036,-1570.96 17107.13,-1512.84 17126.35,-1494.74 17213,-1464.25 17325.95,-1424.51 17371.72,-1479.36 17480,-1428.25 17511.53,-1413.37 17575.58,-1350.5 17595,-1321.54 17623.21,-1279.47 17625.97,-1264.67 17635,-1214.83 17649.06,-1137.24 17690.01,-1093.9 17635,-1037.41 17582.54,-983.54 16348.21,-1037.05 16282,-1001.41 16265.6,-992.58 16276.29,-970.56 16258,-967.05"/>
</g>
<!-- ahriman_web -->
<g id="node165" class="node">
<title>ahriman_web</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="13216" cy="-531.79" rx="41.24" ry="18"/>
<text text-anchor="middle" x="13216" y="-527.54" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.web</text>
</g>
<!-- ahriman_web&#45;&gt;ahriman_application_handlers_web -->
<g id="edge782" class="edge">
<title>ahriman_web&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13227.9,-514.38C13241.79,-495.14 13265.38,-462.22 13285,-433.5"/>
</g>
<!-- ahriman_web_apispec&#45;&gt;ahriman_web_web -->
<g id="edge783" class="edge">
<title>ahriman_web_apispec&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13101.06,-945.55C13109.08,-940.19 13118.14,-934.74 13127,-930.7 13181.15,-905.99 13215.16,-938 13256,-894.7 13296.98,-851.25 13291.75,-687.88 13313,-632.07"/>
</g>
<!-- ahriman_web_cors -->
<g id="node167" class="node">
<title>ahriman_web_cors</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b03a3a" stroke="black" cx="13699" cy="-737.78" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="13699" y="-744.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13699" y="-733.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13699" y="-723.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">cors</text>
</g>
<!-- ahriman_web_cors&#45;&gt;ahriman_web_web -->
<g id="edge784" class="edge">
<title>ahriman_web_cors&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13721.08,-714.61C13740.73,-692.14 13763.57,-657.21 13744,-632.07"/>
<path fill="none" stroke="black" d="M13744,-630.07C13648.92,-507.98 13548.85,-611.42 13403,-559.72 13398.74,-558.21 13394.4,-556.41 13390.12,-554.47"/>
<polygon fill="#b03a3a" stroke="black" points="13391.87,-550.95 13381.34,-549.76 13388.83,-557.25 13391.87,-550.95"/>
</g>
<!-- ahriman_web_middlewares -->
<g id="node168" class="node">
<title>ahriman_web_middlewares</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#d02424" stroke="black" cx="13390" cy="-631.07" rx="49.5" ry="27.93"/>
<text text-anchor="middle" x="13390" y="-637.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13390" y="-626.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13390" y="-616.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares</text>
</g>
<!-- ahriman_web_middlewares&#45;&gt;ahriman_web_web -->
<g id="edge785" class="edge">
<title>ahriman_web_middlewares&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13379.34,-603.49C13375.1,-592.89 13370.14,-580.52 13365.57,-569.12"/>
<polygon fill="#d02424" stroke="black" points="13368.48,-567.98 13361.51,-560 13361.98,-570.58 13368.48,-567.98"/>
</g>
<!-- ahriman_web_middlewares_auth_handler&#45;&gt;ahriman_web_web -->
<g id="edge786" class="edge">
<title>ahriman_web_middlewares_auth_handler&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12554.81,-931.23C12547.83,-905.14 12544.38,-870.61 12567,-852.92"/>
</g>
<!-- ahriman_web_middlewares_exception_handler -->
<g id="node170" class="node">
<title>ahriman_web_middlewares_exception_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="13483" cy="-737.78" rx="66.47" ry="35.36"/>
<text text-anchor="middle" x="13483" y="-749.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13483" y="-738.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13483" y="-728.28" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">middlewares.</text>
<text text-anchor="middle" x="13483" y="-717.78" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">exception_handler</text>
</g>
<!-- ahriman_web_middlewares_exception_handler&#45;&gt;ahriman_web_web -->
<g id="edge787" class="edge">
<title>ahriman_web_middlewares_exception_handler&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13425.61,-719.74C13395.05,-708.44 13358.43,-691.09 13332,-666.43 13319.24,-654.52 13306.79,-648.38 13313,-632.07"/>
</g>
<!-- ahriman_web_routes -->
<g id="node171" class="node">
<title>ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#732626" stroke="black" cx="13810" cy="-631.07" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="13810" y="-637.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="13810" y="-626.82" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="13810" y="-616.32" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">routes</text>
</g>
<!-- ahriman_web_routes&#45;&gt;ahriman_web_web -->
<g id="edge788" class="edge">
<title>ahriman_web_routes&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13784.86,-609.95C13776.73,-604.44 13767.38,-599.06 13758,-595.72 13608.62,-542.46 13554.99,-604.98 13403,-559.72 13398.62,-558.41 13394.17,-556.73 13389.81,-554.85"/>
<polygon fill="#732626" stroke="black" points="13391.42,-551.27 13380.89,-550.18 13388.44,-557.61 13391.42,-551.27"/>
</g>
<!-- ahriman_web_schemas -->
<g id="node172" class="node">
<title>ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#950303" stroke="black" cx="16068" cy="-1072.76" rx="39.42" ry="27.93"/>
<text text-anchor="middle" x="16068" y="-1079.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16068" y="-1068.51" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16068" y="-1058.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas</text>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_add -->
<g id="edge789" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16107.89,-1071.65C16358.04,-1070.74 17701.91,-1063.01 17761,-1001.41 17782.76,-978.73 17782.55,-953.57 17761,-930.7 17716.89,-883.89 16731.71,-859.16 16498.96,-853.96"/>
<polygon fill="#950303" stroke="black" points="16499.21,-850.45 16489.14,-853.72 16499.06,-857.44 16499.21,-850.45"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge790" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16042.49,-1051.18C16034.2,-1045.64 16024.64,-1040.37 16015,-1037.41 15832.06,-981.22 14478.56,-1048.21 14293,-1001.41 14242.29,-988.62 14113.54,-916.84 14045.94,-877.95"/>
<polygon fill="#950303" stroke="black" points="14047.84,-874.43 14037.43,-872.47 14044.34,-880.5 14047.84,-874.43"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge791" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16042.48,-1051.2C16034.19,-1045.66 16024.64,-1040.39 16015,-1037.41 15856.35,-988.4 14683.73,-1034.41 14521,-1001.41 14395.29,-975.91 14257.44,-911.14 14188.85,-876.16"/>
<polygon fill="#950303" stroke="black" points="14190.73,-872.68 14180.24,-871.23 14187.54,-878.91 14190.73,-872.68"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge792" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16107.5,-1071.6C16352.29,-1070.39 17653.75,-1061.16 17711,-1001.41 17927.16,-775.79 16599.61,-1009.48 16309,-894.7 16305.06,-893.14 16301.23,-891.09 16297.57,-888.74"/>
<polygon fill="#950303" stroke="black" points="16300,-885.45 16289.86,-882.38 16295.87,-891.11 16300,-885.45"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_request -->
<g id="edge793" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16107.7,-1071.62C16355.18,-1070.57 17677.83,-1062.08 17736,-1001.41 17941.66,-786.9 16679.32,-1004.05 16403,-894.7 16399.06,-893.14 16395.23,-891.09 16391.57,-888.74"/>
<polygon fill="#950303" stroke="black" points="16394.01,-885.45 16383.87,-882.37 16389.87,-891.1 16394.01,-885.45"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_search -->
<g id="edge794" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16042.49,-1051.17C16034.2,-1045.64 16024.64,-1040.37 16015,-1037.41 15823.96,-978.82 14413.59,-1037.17 14217,-1001.41 14124.24,-984.54 14108.86,-951.93 14017,-930.7 13786.38,-877.38 13502.65,-859.88 13390.22,-854.79"/>
<polygon fill="#950303" stroke="black" points="13390.4,-851.25 13380.25,-854.31 13390.09,-858.24 13390.4,-851.25"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_service_update -->
<g id="edge795" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16068,-1044.49C16068,-1009.84 16068,-949.3 16068,-905.54"/>
<polygon fill="#950303" stroke="black" points="16071.5,-905.8 16068,-895.8 16064.5,-905.8 16071.5,-905.8"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge796" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14725,-965.05C14680.91,-954.58 14641.42,-920.3 14615.34,-892.37"/>
<polygon fill="#950303" stroke="black" points="14618.34,-890.37 14609.02,-885.32 14613.16,-895.07 14618.34,-890.37"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_status_package -->
<g id="edge797" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16042.49,-1051.16C16034.21,-1045.62 16024.65,-1040.36 16015,-1037.41 15802.23,-972.39 14234.72,-1019.78 14013,-1001.41 13691.05,-974.73 13602.43,-990.81 13294,-894.7 13279.86,-890.29 13265.16,-883.82 13252.03,-877.27"/>
<polygon fill="#950303" stroke="black" points="13253.82,-873.75 13243.33,-872.29 13250.62,-879.97 13253.82,-873.75"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge798" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16107.81,-1070.93C16155.82,-1067.52 16234.7,-1053.72 16272,-1001.41 16290.24,-975.82 16287.17,-958.22 16272,-930.7 16257.54,-904.46 16239.22,-912.34 16215,-894.7 16211.6,-892.22 16208.13,-889.58 16204.69,-886.88"/>
<polygon fill="#950303" stroke="black" points="16207.22,-883.62 16197.23,-880.09 16202.84,-889.08 16207.22,-883.62"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_status_status -->
<g id="edge799" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16042.47,-1051.24C16034.18,-1045.71 16024.63,-1040.42 16015,-1037.41 15896.29,-1000.21 15002.12,-1066.31 14896,-1001.41 14881.11,-992.3 14876.34,-984.49 14877,-967.05"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_user_login -->
<g id="edge800" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16042.47,-1051.22C16034.19,-1045.69 16024.63,-1040.41 16015,-1037.41 15880.74,-995.61 14874.39,-1066.97 14750,-1001.41 14733.29,-992.6 14743.37,-971.42 14725,-967.05"/>
<path fill="none" stroke="black" d="M14725,-965.05C14589.55,-932.88 14431.2,-888.54 14354.06,-866.5"/>
<polygon fill="#950303" stroke="black" points="14355.3,-862.92 14344.72,-863.54 14353.37,-869.65 14355.3,-862.92"/>
</g>
<!-- ahriman_web_schemas&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge801" class="edge">
<title>ahriman_web_schemas&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16042.47,-1051.24C16034.18,-1045.7 16024.63,-1040.42 16015,-1037.41 15770.56,-960.94 15104.06,-1087.96 14863,-1001.41 14801.18,-979.21 14744.41,-927.32 14710.26,-891.17"/>
<polygon fill="#950303" stroke="black" points="14713.28,-889.2 14703.91,-884.26 14708.15,-893.97 14713.28,-889.2"/>
</g>
<!-- ahriman_web_schemas_aur_package_schema -->
<g id="node173" class="node">
<title>ahriman_web_schemas_aur_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="17201" cy="-1179.47" rx="78.67" ry="35.36"/>
<text text-anchor="middle" x="17201" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="17201" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="17201" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="17201" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aur_package_schema</text>
</g>
<!-- ahriman_web_schemas_aur_package_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge802" class="edge">
<title>ahriman_web_schemas_aur_package_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17145.94,-1154.04C17135.2,-1150.11 17123.88,-1146.55 17113,-1144.12 16919.95,-1101.01 16300.24,-1080.36 16118.53,-1075.13"/>
<polygon fill="#b83d3d" stroke="black" points="16118.79,-1071.61 16108.7,-1074.82 16118.59,-1078.6 16118.79,-1071.61"/>
</g>
<!-- ahriman_web_schemas_auth_schema -->
<g id="node174" class="node">
<title>ahriman_web_schemas_auth_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="17350" cy="-1179.47" rx="52.68" ry="35.36"/>
<text text-anchor="middle" x="17350" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="17350" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="17350" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="17350" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">auth_schema</text>
</g>
<!-- ahriman_web_schemas_auth_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge803" class="edge">
<title>ahriman_web_schemas_auth_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17312.79,-1154.04C17305.19,-1150.06 17297.05,-1146.48 17289,-1144.12 17175.47,-1110.83 16334.16,-1082.18 16118.34,-1075.32"/>
<polygon fill="#b83d3d" stroke="black" points="16118.76,-1071.8 16108.65,-1074.98 16118.54,-1078.8 16118.76,-1071.8"/>
</g>
<!-- ahriman_web_schemas_counters_schema -->
<g id="node175" class="node">
<title>ahriman_web_schemas_counters_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c43131" stroke="black" cx="16548" cy="-1286.18" rx="66.47" ry="35.36"/>
<text text-anchor="middle" x="16548" y="-1297.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16548" y="-1287.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16548" y="-1276.68" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="16548" y="-1266.18" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">counters_schema</text>
</g>
<!-- ahriman_web_schemas_counters_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge804" class="edge">
<title>ahriman_web_schemas_counters_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16559.07,-1250.92C16566.93,-1219.32 16572.16,-1173.04 16547,-1144.12 16491.79,-1080.67 16230.17,-1073.43 16118.6,-1073.29"/>
<polygon fill="#c43131" stroke="black" points="16118.65,-1069.79 16108.65,-1073.3 16118.66,-1076.79 16118.65,-1069.79"/>
</g>
<!-- ahriman_web_schemas_counters_schema&#45;&gt;ahriman_web_schemas_internal_status_schema -->
<g id="edge805" class="edge">
<title>ahriman_web_schemas_counters_schema&#45;&gt;ahriman_web_schemas_internal_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16519.8,-1253.77C16510.57,-1243.5 16500.2,-1231.93 16490.46,-1221.08"/>
<polygon fill="#c43131" stroke="black" points="16493.45,-1219.06 16484.16,-1213.96 16488.24,-1223.74 16493.45,-1219.06"/>
</g>
<!-- ahriman_web_schemas_error_schema -->
<g id="node176" class="node">
<title>ahriman_web_schemas_error_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="15494" cy="-1179.47" rx="53.21" ry="35.36"/>
<text text-anchor="middle" x="15494" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15494" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15494" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15494" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">error_schema</text>
</g>
<!-- ahriman_web_schemas_error_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge806" class="edge">
<title>ahriman_web_schemas_error_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15532.21,-1154.35C15540.14,-1150.3 15548.64,-1146.6 15557,-1144.12 15752.72,-1085.96 15821.62,-1173.66 16015,-1108.12 16021.05,-1106.07 16027.1,-1103.17 16032.83,-1099.91"/>
<polygon fill="#b83d3d" stroke="black" points="16034.43,-1102.42 16041.11,-1094.19 16030.76,-1096.46 16034.43,-1102.42"/>
</g>
<!-- ahriman_web_schemas_internal_status_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge807" class="edge">
<title>ahriman_web_schemas_internal_status_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16392.82,-1154.71C16382.28,-1150.95 16371.38,-1147.27 16361,-1144.12 16276.12,-1118.35 16175.13,-1095.85 16116.61,-1083.59"/>
<polygon fill="#8a2e2e" stroke="black" points="16117.35,-1079.96 16106.85,-1081.35 16115.92,-1086.82 16117.35,-1079.96"/>
</g>
<!-- ahriman_web_schemas_log_schema -->
<g id="node178" class="node">
<title>ahriman_web_schemas_log_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="15614" cy="-1179.47" rx="48.44" ry="35.36"/>
<text text-anchor="middle" x="15614" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15614" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15614" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15614" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">log_schema</text>
</g>
<!-- ahriman_web_schemas_log_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge808" class="edge">
<title>ahriman_web_schemas_log_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15649.95,-1155.41C15658.23,-1151 15667.2,-1146.9 15676,-1144.12 15820.48,-1098.49 15872.18,-1158.71 16015,-1108.12 16021.03,-1105.98 16027.06,-1103.04 16032.77,-1099.77"/>
<polygon fill="#b83d3d" stroke="black" points="16034.39,-1102.27 16041.05,-1094.03 16030.71,-1096.31 16034.39,-1102.27"/>
</g>
<!-- ahriman_web_schemas_login_schema -->
<g id="node179" class="node">
<title>ahriman_web_schemas_login_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="15772" cy="-1179.47" rx="53.74" ry="35.36"/>
<text text-anchor="middle" x="15772" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15772" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15772" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15772" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">login_schema</text>
</g>
<!-- ahriman_web_schemas_login_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge809" class="edge">
<title>ahriman_web_schemas_login_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15811.14,-1154.78C15818.86,-1150.79 15827.04,-1147.01 15835,-1144.12 15911.68,-1116.27 15939.43,-1138.85 16015,-1108.12 16020.79,-1105.76 16026.63,-1102.75 16032.21,-1099.5"/>
<polygon fill="#b83d3d" stroke="black" points="16033.65,-1102.1 16040.3,-1093.86 16029.96,-1096.15 16033.65,-1102.1"/>
</g>
<!-- ahriman_web_schemas_logs_schema -->
<g id="node180" class="node">
<title>ahriman_web_schemas_logs_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#993333" stroke="black" cx="15371" cy="-1179.47" rx="52.15" ry="35.36"/>
<text text-anchor="middle" x="15371" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15371" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15371" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15371" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logs_schema</text>
</g>
<!-- ahriman_web_schemas_logs_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge810" class="edge">
<title>ahriman_web_schemas_logs_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15407.89,-1154.24C15415.58,-1150.19 15423.84,-1146.53 15432,-1144.12 15680.96,-1070.56 15768.44,-1189.39 16015,-1108.12 16021.07,-1106.12 16027.13,-1103.25 16032.86,-1100.01"/>
<polygon fill="#993333" stroke="black" points="16034.46,-1102.51 16041.14,-1094.29 16030.79,-1096.55 16034.46,-1102.51"/>
</g>
<!-- ahriman_web_schemas_oauth2_schema -->
<g id="node181" class="node">
<title>ahriman_web_schemas_oauth2_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="15904" cy="-1179.47" rx="60.1" ry="35.36"/>
<text text-anchor="middle" x="15904" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15904" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15904" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="15904" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">oauth2_schema</text>
</g>
<!-- ahriman_web_schemas_oauth2_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge811" class="edge">
<title>ahriman_web_schemas_oauth2_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15944.4,-1153.01C15965.47,-1139.69 15991.66,-1123.08 16015,-1108.12 16019.96,-1104.94 16025.18,-1101.58 16030.32,-1098.26"/>
<polygon fill="#b83d3d" stroke="black" points="16031.94,-1100.73 16038.43,-1092.36 16028.13,-1094.86 16031.94,-1100.73"/>
</g>
<!-- ahriman_web_schemas_package_name_schema -->
<g id="node182" class="node">
<title>ahriman_web_schemas_package_name_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="16068" cy="-1179.47" rx="86.09" ry="35.36"/>
<text text-anchor="middle" x="16068" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16068" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16068" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="16068" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_name_schema</text>
</g>
<!-- ahriman_web_schemas_package_name_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge812" class="edge">
<title>ahriman_web_schemas_package_name_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16068,-1143.9C16068,-1133.66 16068,-1122.4 16068,-1111.94"/>
<polygon fill="#b83d3d" stroke="black" points="16071.5,-1112.01 16068,-1102.01 16064.5,-1112.01 16071.5,-1112.01"/>
</g>
<!-- ahriman_web_schemas_package_names_schema -->
<g id="node183" class="node">
<title>ahriman_web_schemas_package_names_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="16262" cy="-1179.47" rx="89.8" ry="35.36"/>
<text text-anchor="middle" x="16262" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16262" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16262" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="16262" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_names_schema</text>
</g>
<!-- ahriman_web_schemas_package_names_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge813" class="edge">
<title>ahriman_web_schemas_package_names_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16209.76,-1150.28C16178,-1133.13 16138.04,-1111.56 16108.64,-1095.7"/>
<polygon fill="#b83d3d" stroke="black" points="16110.57,-1092.22 16100.11,-1090.55 16107.25,-1098.38 16110.57,-1092.22"/>
</g>
<!-- ahriman_web_schemas_package_properties_schema -->
<g id="node184" class="node">
<title>ahriman_web_schemas_package_properties_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c43131" stroke="black" cx="16306" cy="-1392.9" rx="99.88" ry="35.36"/>
<text text-anchor="middle" x="16306" y="-1404.4" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16306" y="-1393.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16306" y="-1383.4" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="16306" y="-1372.9" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">package_properties_schema</text>
</g>
<!-- ahriman_web_schemas_package_properties_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge814" class="edge">
<title>ahriman_web_schemas_package_properties_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16214.47,-1378.32C16062.62,-1353.7 15769.27,-1296.56 15709,-1214.83 15690.35,-1189.54 15688.12,-1167.6 15709,-1144.12 15754.5,-1092.95 15950.59,-1131.35 16015,-1108.12 16020.95,-1105.97 16026.9,-1103.05 16032.56,-1099.81"/>
<polygon fill="#c43131" stroke="black" points="16034.08,-1102.37 16040.76,-1094.14 16030.41,-1096.41 16034.08,-1102.37"/>
</g>
<!-- ahriman_web_schemas_package_properties_schema&#45;&gt;ahriman_web_schemas_package_schema -->
<g id="edge815" class="edge">
<title>ahriman_web_schemas_package_properties_schema&#45;&gt;ahriman_web_schemas_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16206.8,-1387.76C16008.15,-1378.87 15567.99,-1355.91 15421,-1321.54 15412.22,-1319.49 15403.17,-1316.69 15394.37,-1313.56"/>
<polygon fill="#c43131" stroke="black" points="15395.8,-1309.99 15385.2,-1309.77 15393.35,-1316.55 15395.8,-1309.99"/>
</g>
<!-- ahriman_web_schemas_package_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge816" class="edge">
<title>ahriman_web_schemas_package_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15309.04,-1253.28C15295.59,-1232.86 15283.42,-1205.58 15291,-1180.47"/>
<path fill="none" stroke="black" d="M15291,-1178.47C15296.04,-1161.77 15295.2,-1153.36 15310,-1144.12 15443.05,-1061.01 15865.75,-1156.43 16015,-1108.12 16021.08,-1106.15 16027.14,-1103.3 16032.88,-1100.06"/>
<polygon fill="#932424" stroke="black" points="16034.48,-1102.57 16041.16,-1094.35 16030.81,-1096.61 16034.48,-1102.57"/>
</g>
<!-- ahriman_web_schemas_package_schema&#45;&gt;ahriman_web_schemas_package_status_schema -->
<g id="edge817" class="edge">
<title>ahriman_web_schemas_package_schema&#45;&gt;ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15293.8,-1258.22C15274.2,-1245.39 15250.5,-1229.88 15229.44,-1216.1"/>
<polygon fill="#932424" stroke="black" points="15231.57,-1212.66 15221.29,-1210.11 15227.74,-1218.52 15231.57,-1212.66"/>
</g>
<!-- ahriman_web_schemas_package_status_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge818" class="edge">
<title>ahriman_web_schemas_package_status_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15237.94,-1154.27C15250.7,-1150.22 15264.15,-1146.55 15277,-1144.12 15438.34,-1113.62 15858.73,-1158.51 16015,-1108.12 16021.08,-1106.16 16027.15,-1103.31 16032.88,-1100.08"/>
<polygon fill="#822b2b" stroke="black" points="16034.48,-1102.58 16041.17,-1094.37 16030.81,-1096.62 16034.48,-1102.58"/>
</g>
<!-- ahriman_web_schemas_pgp_key_id_schema -->
<g id="node187" class="node">
<title>ahriman_web_schemas_pgp_key_id_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="16668" cy="-1179.47" rx="74.42" ry="35.36"/>
<text text-anchor="middle" x="16668" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16668" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16668" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="16668" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pgp_key_id_schema</text>
</g>
<!-- ahriman_web_schemas_pgp_key_id_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge819" class="edge">
<title>ahriman_web_schemas_pgp_key_id_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16613.74,-1155C16602.73,-1150.89 16591.11,-1147.01 16580,-1144.12 16414.15,-1101 16210.8,-1083.06 16118.2,-1076.73"/>
<polygon fill="#b83d3d" stroke="black" points="16118.68,-1073.19 16108.47,-1076.01 16118.22,-1080.17 16118.68,-1073.19"/>
</g>
<!-- ahriman_web_schemas_pgp_key_schema -->
<g id="node188" class="node">
<title>ahriman_web_schemas_pgp_key_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="16863" cy="-1179.47" rx="65.41" ry="35.36"/>
<text text-anchor="middle" x="16863" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="16863" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="16863" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="16863" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pgp_key_schema</text>
</g>
<!-- ahriman_web_schemas_pgp_key_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge820" class="edge">
<title>ahriman_web_schemas_pgp_key_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16808.58,-1159.45C16790.46,-1153.74 16770.04,-1147.98 16751,-1144.12 16517.53,-1096.76 16232.35,-1080.47 16118.47,-1075.6"/>
<polygon fill="#b83d3d" stroke="black" points="16118.81,-1072.07 16108.67,-1075.15 16118.52,-1079.06 16118.81,-1072.07"/>
</g>
<!-- ahriman_web_schemas_remote_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge821" class="edge">
<title>ahriman_web_schemas_remote_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15285.75,-1372.03C15189.66,-1330.64 14993.66,-1231.76 15078,-1144.12 15114.12,-1106.58 15965.34,-1123.85 16015,-1108.12 16021.09,-1106.19 16027.16,-1103.36 16032.9,-1100.13"/>
<polygon fill="#ac2b2b" stroke="black" points="16034.5,-1102.64 16041.19,-1094.43 16030.83,-1096.68 16034.5,-1102.64"/>
</g>
<!-- ahriman_web_schemas_remote_schema&#45;&gt;ahriman_web_schemas_package_schema -->
<g id="edge822" class="edge">
<title>ahriman_web_schemas_remote_schema&#45;&gt;ahriman_web_schemas_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15335,-1357.32C15335,-1349.37 15335,-1340.79 15335,-1332.46"/>
<polygon fill="#ac2b2b" stroke="black" points="15338.5,-1332.73 15335,-1322.73 15331.5,-1332.73 15338.5,-1332.73"/>
</g>
<!-- ahriman_web_schemas_search_schema -->
<g id="node190" class="node">
<title>ahriman_web_schemas_search_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#b83d3d" stroke="black" cx="17044" cy="-1179.47" rx="60.1" ry="35.36"/>
<text text-anchor="middle" x="17044" y="-1190.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="17044" y="-1180.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="17044" y="-1169.97" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">schemas.</text>
<text text-anchor="middle" x="17044" y="-1159.47" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">search_schema</text>
</g>
<!-- ahriman_web_schemas_search_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge823" class="edge">
<title>ahriman_web_schemas_search_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16993.74,-1159.71C16976.04,-1153.8 16955.85,-1147.86 16937,-1144.12 16630.49,-1083.35 16253.2,-1074.84 16118.62,-1073.82"/>
<polygon fill="#b83d3d" stroke="black" points="16118.88,-1070.32 16108.85,-1073.75 16118.83,-1077.32 16118.88,-1070.32"/>
</g>
<!-- ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas -->
<g id="edge824" class="edge">
<title>ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15442.23,-1264.57C15431.37,-1259.93 15419.82,-1255.12 15409,-1250.83 15365.47,-1233.59 15345.59,-1245.25 15310,-1214.83 15296.74,-1203.49 15285.96,-1197.18 15291,-1180.47"/>
</g>
<!-- ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_internal_status_schema -->
<g id="edge825" class="edge">
<title>ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_internal_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15538.62,-1266.89C15557.57,-1260.68 15579.53,-1254.42 15600,-1250.83 15933.5,-1192.31 16029.19,-1282.29 16361,-1214.83 16368.86,-1213.23 16376.94,-1211.08 16384.89,-1208.62"/>
<polygon fill="#c11515" stroke="black" points="16385.83,-1211.67 16394.26,-1205.24 16383.66,-1205.02 16385.83,-1211.67"/>
</g>
<!-- ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_logs_schema -->
<g id="edge826" class="edge">
<title>ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_logs_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15456.44,-1256.3C15442.17,-1243.63 15425.29,-1228.65 15410.32,-1215.37"/>
<polygon fill="#c11515" stroke="black" points="15413.03,-1213.21 15403.23,-1209.19 15408.39,-1218.44 15413.03,-1213.21"/>
</g>
<!-- ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_package_status_schema -->
<g id="edge827" class="edge">
<title>ahriman_web_schemas_status_schema&#45;&gt;ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15442.9,-1264.09C15431.91,-1259.42 15420.13,-1254.72 15409,-1250.83 15351.59,-1230.78 15335.17,-1232.54 15277,-1214.83 15268.58,-1212.27 15259.81,-1209.49 15251.11,-1206.65"/>
<polygon fill="#c11515" stroke="black" points="15252.53,-1203.11 15241.93,-1203.31 15250.34,-1209.76 15252.53,-1203.11"/>
</g>
<!-- ahriman_web_views -->
<g id="node192" class="node">
<title>ahriman_web_views</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="14069" cy="-737.78" rx="37.83" ry="27.93"/>
<text text-anchor="middle" x="14069" y="-744.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="14069" y="-733.53" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="14069" y="-723.03" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views</text>
</g>
<!-- ahriman_web_views&#45;&gt;ahriman_web_routes -->
<g id="edge828" class="edge">
<title>ahriman_web_views&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14042.52,-717.41C14034.57,-712.11 14025.65,-706.67 14017,-702.43 13963.9,-676.4 13898.76,-655.99 13855.91,-644.01"/>
<polygon fill="#f91010" stroke="black" points="13857.09,-640.43 13846.52,-641.14 13855.23,-647.17 13857.09,-640.43"/>
</g>
<!-- ahriman_web_views_api -->
<g id="node193" class="node">
<title>ahriman_web_views_api</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="15504" cy="-851.92" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="15504" y="-863.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15504" y="-852.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15504" y="-842.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15504" y="-831.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">api</text>
</g>
<!-- ahriman_web_views_api&#45;&gt;ahriman_web_routes -->
<g id="edge829" class="edge">
<title>ahriman_web_views_api&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15528.55,-824.86C15535.32,-818.92 15543.01,-813.18 15551,-809.14 15684.4,-741.6 16013.87,-805.4 15880,-738.78"/>
<path fill="none" stroke="black" d="M15880,-736.78C15693.73,-644.1 14154.55,-633.42 13858.98,-632.22"/>
<polygon fill="#c24747" stroke="black" points="13859.22,-628.72 13849.2,-632.18 13859.19,-635.72 13859.22,-628.72"/>
</g>
<!-- ahriman_web_views_api_docs&#45;&gt;ahriman_web_routes -->
<g id="edge830" class="edge">
<title>ahriman_web_views_api_docs&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15954.57,-814.67C15938.4,-788.52 15912.75,-755.08 15880,-738.78"/>
</g>
<!-- ahriman_web_views_api_swagger&#45;&gt;ahriman_web_routes -->
<g id="edge831" class="edge">
<title>ahriman_web_views_api_swagger&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12683.72,-839.82C12778.57,-811.66 13039.9,-737.19 13263,-702.43 13480.95,-668.47 13549.19,-737.53 13758,-666.43 13764.04,-664.37 13770.05,-661.44 13775.73,-658.15"/>
<polygon fill="#7a2828" stroke="black" points="13777.33,-660.65 13783.92,-652.35 13773.6,-654.73 13777.33,-660.65"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_api_docs -->
<g id="edge832" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_api_docs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14971.53,-942.25C14978.8,-937.59 14986.86,-933.32 14995,-930.7 15192.31,-867.23 15734.72,-972.08 15927,-894.7 15930.93,-893.11 15934.75,-891.05 15938.41,-888.69"/>
<polygon fill="#950303" stroke="black" points="15940.11,-891.04 15946.11,-882.3 15935.97,-885.4 15940.11,-891.04"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge833" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14905.99,-957.17C14865.28,-948.88 14797.82,-936.29 14739,-930.7 14041.08,-864.31 13862.13,-931.06 13162,-894.7 12990.44,-885.79 12787.35,-866.83 12695.92,-857.84"/>
<polygon fill="#950303" stroke="black" points="12696.36,-854.27 12686.07,-856.77 12695.68,-861.23 12696.36,-854.27"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_index -->
<g id="edge834" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14912.43,-945.01C14884.31,-926.57 14842.44,-899.11 14811.74,-878.98"/>
<polygon fill="#950303" stroke="black" points="14813.88,-875.54 14803.59,-872.98 14810.04,-881.39 14813.88,-875.54"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_add -->
<g id="edge835" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14981.29,-964.73C15198.22,-962.67 16267.97,-949.79 16403,-894.7 16406.92,-893.1 16410.74,-891.02 16414.39,-888.65"/>
<polygon fill="#950303" stroke="black" points="16416.1,-891 16422.08,-882.25 16411.96,-885.36 16416.1,-891"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge836" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14905.95,-957.54C14865.2,-949.58 14797.71,-937.27 14739,-930.7 14455.43,-898.96 14375.48,-961.2 14098,-894.7 14080.75,-890.56 14062.72,-883.43 14047.06,-876.22"/>
<polygon fill="#950303" stroke="black" points="14048.68,-872.64 14038.15,-871.5 14045.67,-878.96 14048.68,-872.64"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge837" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14905.92,-957.76C14865.16,-949.98 14797.65,-937.82 14739,-930.7 14527.07,-904.94 14468.72,-939.57 14260,-894.7 14236.46,-889.64 14211.22,-880.87 14190.4,-872.66"/>
<polygon fill="#950303" stroke="black" points="14191.84,-869.07 14181.26,-868.58 14189.22,-875.56 14191.84,-869.07"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge838" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14981.14,-964.44C15180.54,-961.01 16098.45,-942.74 16215,-894.7 16218.86,-893.1 16222.62,-891.05 16226.22,-888.72"/>
<polygon fill="#950303" stroke="black" points="16227.82,-891.16 16233.81,-882.42 16223.68,-885.51 16227.82,-891.16"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_request -->
<g id="edge839" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14981.18,-964.59C15189.41,-961.87 16183.21,-946.27 16309,-894.7 16312.92,-893.09 16316.74,-891.01 16320.38,-888.63"/>
<polygon fill="#950303" stroke="black" points="16322.1,-890.98 16328.08,-882.23 16317.95,-885.34 16322.1,-890.98"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_search -->
<g id="edge840" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14905.96,-957.43C14865.23,-949.37 14797.75,-936.97 14739,-930.7 14392.6,-893.7 14303.8,-914.5 13956,-894.7 13745.19,-882.69 13494,-864.37 13389.91,-856.61"/>
<polygon fill="#950303" stroke="black" points="13390.36,-853.05 13380.13,-855.8 13389.84,-860.04 13390.36,-853.05"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_service_update -->
<g id="edge841" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14971.52,-942.23C14978.79,-937.57 14986.86,-933.3 14995,-930.7 15212.3,-861.22 15809.21,-979.5 16021,-894.7 16024.94,-893.12 16028.76,-891.06 16032.41,-888.7"/>
<polygon fill="#950303" stroke="black" points="16034.12,-891.06 16040.11,-882.32 16029.98,-885.41 16034.12,-891.06"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge842" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14905.55,-959.06C14833.43,-947.11 14678.13,-919.38 14630,-894.7 14626.28,-892.79 14622.62,-890.52 14619.09,-888.04"/>
<polygon fill="#950303" stroke="black" points="14621.67,-884.83 14611.61,-881.51 14617.4,-890.38 14621.67,-884.83"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_package -->
<g id="edge843" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14905.99,-957.19C14865.27,-948.93 14797.81,-936.35 14739,-930.7 14579.13,-915.32 13449.97,-933.01 13294,-894.7 13279.62,-891.17 13264.84,-884.95 13251.72,-878.37"/>
<polygon fill="#950303" stroke="black" points="13253.53,-874.85 13243.05,-873.31 13250.28,-881.05 13253.53,-874.85"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge844" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14976.4,-949.27C14993.02,-942.2 15013.65,-934.6 15033,-930.7 15150.92,-906.92 16002.62,-937.6 16115,-894.7 16119.16,-893.11 16123.23,-891.02 16127.12,-888.62"/>
<polygon fill="#950303" stroke="black" points="16128.65,-891.13 16134.89,-882.56 16124.67,-885.37 16128.65,-891.13"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_status_status -->
<g id="edge845" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14971.54,-942.27C14978.8,-937.61 14986.87,-933.33 14995,-930.7 15172.32,-873.24 15660.24,-964.67 15833,-894.7 15836.93,-893.11 15840.75,-891.04 15844.4,-888.67"/>
<polygon fill="#950303" stroke="black" points="15846.11,-891.02 15852.1,-882.28 15841.97,-885.38 15846.11,-891.02"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_user_login -->
<g id="edge846" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14905.66,-958.72C14833.98,-946.53 14672.09,-918.87 14536,-894.7 14473.56,-883.61 14401.63,-870.41 14355.3,-861.86"/>
<polygon fill="#950303" stroke="black" points="14356.14,-858.27 14345.67,-859.9 14354.86,-865.16 14356.14,-858.27"/>
</g>
<!-- ahriman_web_views_base&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge847" class="edge">
<title>ahriman_web_views_base&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14906.78,-955.28C14853.4,-940.55 14756.51,-912.5 14725,-894.7 14721.16,-892.53 14717.35,-890.02 14713.65,-887.33"/>
<polygon fill="#950303" stroke="black" points="14716.31,-884.18 14706.27,-880.79 14712.01,-889.7 14716.31,-884.18"/>
</g>
<!-- ahriman_web_views_index&#45;&gt;ahriman_web_routes -->
<g id="edge848" class="edge">
<title>ahriman_web_views_index&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14749.31,-823.43C14730.27,-800.54 14702.23,-767.22 14677,-738.78"/>
</g>
<!-- ahriman_web_views_service -->
<g id="node198" class="node">
<title>ahriman_web_views_service</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="15598" cy="-851.92" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="15598" y="-863.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15598" y="-852.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15598" y="-842.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15598" y="-831.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">service</text>
</g>
<!-- ahriman_web_views_service&#45;&gt;ahriman_web_routes -->
<g id="edge849" class="edge">
<title>ahriman_web_views_service&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15622.79,-825.3C15629.55,-819.35 15637.18,-813.5 15645,-809.14 15740.22,-756.03 15977.61,-787.35 15880,-738.78"/>
</g>
<!-- ahriman_web_views_service_add&#45;&gt;ahriman_web_routes -->
<g id="edge850" class="edge">
<title>ahriman_web_views_service_add&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16422.62,-821.85C16416.61,-816.89 16409.95,-812.32 16403,-809.14 16189.83,-711.32 16089.98,-843.27 15880,-738.78"/>
</g>
<!-- ahriman_web_views_service_pgp&#45;&gt;ahriman_web_routes -->
<g id="edge851" class="edge">
<title>ahriman_web_views_service_pgp&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14016.39,-811.5C14022.12,-786.47 14023.48,-755.72 14003,-738.78"/>
</g>
<!-- ahriman_web_views_service_rebuild&#45;&gt;ahriman_web_routes -->
<g id="edge852" class="edge">
<title>ahriman_web_views_service_rebuild&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14109.86,-834.76C14083.26,-821.2 14047.13,-799.79 14022,-773.14 14010.03,-760.44 14016.45,-749.9 14003,-738.78"/>
</g>
<!-- ahriman_web_views_service_remove&#45;&gt;ahriman_web_routes -->
<g id="edge853" class="edge">
<title>ahriman_web_views_service_remove&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16234.43,-822.25C16228.43,-817.26 16221.82,-812.58 16215,-809.14 16079.14,-740.67 16016.21,-806.56 15880,-738.78"/>
</g>
<!-- ahriman_web_views_service_request&#45;&gt;ahriman_web_routes -->
<g id="edge854" class="edge">
<title>ahriman_web_views_service_request&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16328.55,-822.01C16322.54,-817.04 16315.9,-812.42 16309,-809.14 16134.57,-726.04 16052.98,-824.86 15880,-738.78"/>
</g>
<!-- ahriman_web_views_service_search&#45;&gt;ahriman_web_routes -->
<g id="edge855" class="edge">
<title>ahriman_web_views_service_search&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13348,-809.42C13356.16,-774.89 13373.24,-727.49 13408,-702.43 13471.42,-656.7 13684.37,-692.74 13758,-666.43 13763.94,-664.3 13769.87,-661.37 13775.49,-658.1"/>
<polygon fill="#732626" stroke="black" points="13777,-660.65 13783.6,-652.36 13773.27,-654.73 13777,-660.65"/>
</g>
<!-- ahriman_web_views_service_update&#45;&gt;ahriman_web_routes -->
<g id="edge856" class="edge">
<title>ahriman_web_views_service_update&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16039.39,-823.36C16033.53,-818.34 16027.24,-813.36 16021,-809.14 15962.99,-769.9 15942.7,-769.98 15880,-738.78"/>
</g>
<!-- ahriman_web_views_status -->
<g id="node206" class="node">
<title>ahriman_web_views_status</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="15692" cy="-851.92" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="15692" y="-863.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15692" y="-852.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15692" y="-842.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15692" y="-831.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">status</text>
</g>
<!-- ahriman_web_views_status&#45;&gt;ahriman_web_routes -->
<g id="edge857" class="edge">
<title>ahriman_web_views_status&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15717.84,-825.77C15724.46,-819.95 15731.77,-814.03 15739,-809.14 15797.01,-769.9 15942.7,-769.98 15880,-738.78"/>
</g>
<!-- ahriman_web_views_status_logs&#45;&gt;ahriman_web_routes -->
<g id="edge858" class="edge">
<title>ahriman_web_views_status_logs&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14611.2,-823.11C14641.39,-792.56 14684.08,-746.76 14677,-738.78"/>
<path fill="none" stroke="black" d="M14677,-736.78C14622.27,-675.08 14034.19,-642.62 13858.98,-634.27"/>
<polygon fill="#732626" stroke="black" points="13859.2,-630.73 13849.05,-633.75 13858.87,-637.72 13859.2,-630.73"/>
</g>
<!-- ahriman_web_views_status_package&#45;&gt;ahriman_web_routes -->
<g id="edge859" class="edge">
<title>ahriman_web_views_status_package&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13231.25,-816.98C13256.55,-781.58 13301.39,-727.76 13355,-702.43 13517.58,-625.59 13588.26,-725.8 13758,-666.43 13764.02,-664.32 13770.02,-661.36 13775.7,-658.06"/>
<polygon fill="#732626" stroke="black" points="13777.3,-660.56 13783.89,-652.26 13773.56,-654.64 13777.3,-660.56"/>
</g>
<!-- ahriman_web_views_status_packages&#45;&gt;ahriman_web_routes -->
<g id="edge860" class="edge">
<title>ahriman_web_views_status_packages&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16134.94,-822.53C16128.68,-817.57 16121.87,-812.84 16115,-809.14 16018.98,-757.49 15977.61,-787.35 15880,-738.78"/>
</g>
<!-- ahriman_web_views_status_status&#45;&gt;ahriman_web_routes -->
<g id="edge861" class="edge">
<title>ahriman_web_views_status_status&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15894.57,-811.91C15902,-784.72 15904.92,-751.18 15880,-738.78"/>
</g>
<!-- ahriman_web_views_user -->
<g id="node211" class="node">
<title>ahriman_web_views_user</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#c24747" stroke="black" cx="15786" cy="-851.92" rx="37.83" ry="35.36"/>
<text text-anchor="middle" x="15786" y="-863.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">ahriman.</text>
<text text-anchor="middle" x="15786" y="-852.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">web.</text>
<text text-anchor="middle" x="15786" y="-842.42" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">views.</text>
<text text-anchor="middle" x="15786" y="-831.92" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">user</text>
</g>
<!-- ahriman_web_views_user&#45;&gt;ahriman_web_routes -->
<g id="edge862" class="edge">
<title>ahriman_web_views_user&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15811.53,-825.56C15842.64,-794.03 15889.92,-743.72 15880,-738.78"/>
</g>
<!-- ahriman_web_views_user_login&#45;&gt;ahriman_web_routes -->
<g id="edge863" class="edge">
<title>ahriman_web_views_user_login&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14271.42,-836.53C14248.92,-827.8 14219.06,-816.88 14192,-809.14 14117.75,-787.9 14084.08,-819.08 14022,-773.14 14007.97,-762.76 14016.45,-749.9 14003,-738.78"/>
</g>
<!-- ahriman_web_views_user_logout&#45;&gt;ahriman_web_routes -->
<g id="edge864" class="edge">
<title>ahriman_web_views_user_logout&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14689,-811.01C14693.52,-787.22 14694.05,-758.01 14677,-738.78"/>
</g>
<!-- ahriman_web_web&#45;&gt;ahriman_application_handlers_web -->
<g id="edge865" class="edge">
<title>ahriman_web_web&#45;&gt;ahriman_application_handlers_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13323.77,-512.47C13298.12,-492.9 13266.23,-460.97 13285,-433.5"/>
</g>
<!-- aioauth_client -->
<g id="node215" class="node">
<title>aioauth_client</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#c06640" stroke="black" points="14795,-2301.7 14792,-2305.7 14771,-2305.7 14768,-2301.7 14719,-2301.7 14719,-2265.7 14795,-2265.7 14795,-2301.7"/>
<text text-anchor="middle" x="14757" y="-2279.45" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">aioauth_client</text>
</g>
<!-- aioauth_client&#45;&gt;ahriman_core_auth_oauth -->
<g id="edge866" class="edge">
<title>aioauth_client&#45;&gt;ahriman_core_auth_oauth</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14758.48,-2265.47C14762.33,-2213.77 14769.71,-2056.05 14729,-1934.87"/>
</g>
<!-- aiohttp -->
<g id="node216" class="node">
<title>aiohttp</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#f99806" stroke="black" points="14139,-1624.32 14136,-1628.32 14115,-1628.32 14112,-1624.32 14085,-1624.32 14085,-1588.32 14139,-1588.32 14139,-1624.32"/>
<text text-anchor="middle" x="14112" y="-1602.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp</text>
</g>
<!-- aiohttp&#45;&gt;ahriman_core_log_filtered_access_logger -->
<g id="edge867" class="edge">
<title>aiohttp&#45;&gt;ahriman_core_log_filtered_access_logger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14098.52,-1588C14069.17,-1550.74 13996.52,-1460.93 13927,-1393.9"/>
<path fill="none" stroke="black" d="M13927,-1391.9C13862.99,-1337.13 13825.05,-1361.71 13751,-1321.54 13707.5,-1297.95 13707.16,-1276.73 13665,-1250.83 13631.09,-1229.99 13608.13,-1245.7 13583,-1214.83 13561.25,-1188.11 13554.21,-1149.36 13552.36,-1119.23"/>
<polygon fill="#f99806" stroke="black" points="13555.82,-1119.4 13551.89,-1109.56 13548.83,-1119.7 13555.82,-1119.4"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_apispec -->
<g id="edge868" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14097.92,-1587.82C14091.86,-1581.48 14084.26,-1574.91 14076,-1570.96 13963.98,-1517.45 13912.92,-1584.3 13799,-1534.96 13753.59,-1515.3 13754.01,-1491.94 13713,-1464.25 13685.31,-1445.56 13671.74,-1450.7 13647,-1428.25 13618.87,-1402.73 13629.46,-1380.23 13599,-1357.54 13556.39,-1325.8 13533.69,-1342.82 13485,-1321.54 13426.87,-1296.13 13419.31,-1275.82 13361,-1250.83 13309.82,-1228.9 13294.01,-1231.88 13241,-1214.83 13196.26,-1200.44 13177.48,-1210.1 13141,-1180.47"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_cors -->
<g id="edge869" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_cors</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13699,-850.92C13702.76,-826.5 13702.8,-798.75 13701.87,-776.95"/>
<polygon fill="#f99806" stroke="black" points="13705.33,-776.96 13701.32,-767.15 13698.34,-777.32 13705.33,-776.96"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares -->
<g id="edge870" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_middlewares</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13927,-1391.9C13886.04,-1356.19 13870.24,-1354.45 13827,-1321.54 13787.63,-1291.57 13779.26,-1282.21 13741,-1250.83 13721.46,-1234.81 13707.82,-1237.66 13697,-1214.83 13682.3,-1183.81 13641.35,-1226.78 13699,-852.92"/>
<path fill="none" stroke="black" d="M13699,-850.92C13697.63,-830.43 13605.51,-714.63 13589,-702.43 13546.98,-671.37 13490.03,-653.08 13447.82,-642.98"/>
<polygon fill="#f99806" stroke="black" points="13448.69,-639.35 13438.16,-640.52 13447.12,-646.17 13448.69,-639.35"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge871" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14098.32,-1588.05C14092.21,-1581.57 14084.48,-1574.85 14076,-1570.96 13927.02,-1502.65 13865.44,-1583.81 13709,-1534.96 13554.14,-1486.6 13532.3,-1435.45 13390,-1357.54 13302.32,-1309.53 13285.12,-1287.18 13192,-1250.83 13131.75,-1227.31 13110.02,-1241.28 13051,-1214.83 12999.66,-1191.82 12994.33,-1172.92 12946,-1144.12 12858.1,-1091.75 12834.92,-1080.26 12742,-1037.41 12702.49,-1019.19 12656.84,-1000.92 12622.08,-987.57"/>
<polygon fill="#f99806" stroke="black" points="12623.71,-984.07 12613.12,-983.77 12621.21,-990.61 12623.71,-984.07"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_middlewares_exception_handler -->
<g id="edge872" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_middlewares_exception_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13369,-1071.76C13337.89,-1022.11 13417.38,-859.95 13459.22,-781.74"/>
<polygon fill="#f99806" stroke="black" points="13462.7,-783.64 13464.36,-773.18 13456.54,-780.32 13462.7,-783.64"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_routes -->
<g id="edge873" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_routes</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13711,-1178.47C13711.64,-1142.79 13953.44,-1026.32 13979,-1001.41 13992.34,-988.41 14002.44,-985.67 14003,-967.05"/>
<path fill="none" stroke="black" d="M14003,-965.05C14015.15,-929.47 13966.91,-930.68 13956,-894.7 13944.96,-858.31 13944.96,-845.53 13956,-809.14 13966.91,-773.15 14031.98,-762.74 14003,-738.78"/>
<path fill="none" stroke="black" d="M14003,-736.78C13956.35,-698.91 13893.97,-667.97 13852.92,-649.79"/>
<polygon fill="#f99806" stroke="black" points="13854.53,-646.24 13843.96,-645.45 13851.73,-652.66 13854.53,-646.24"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_api_swagger -->
<g id="edge874" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_api_swagger</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14097.38,-1587.83C14091.36,-1581.65 14083.93,-1575.19 14076,-1570.96 14010.53,-1536.07 13982.99,-1559.58 13913,-1534.96 13846.12,-1511.43 13835,-1492.56 13770,-1464.25 13728.6,-1446.22 13708.95,-1458.02 13675,-1428.25 13648.18,-1404.73 13664.74,-1379.98 13637,-1357.54 13592.38,-1321.45 13562.92,-1349.85 13513,-1321.54 13472.87,-1298.78 13476.64,-1274.43 13437,-1250.83 13393.89,-1225.16 13370.49,-1244.46 13330,-1214.83 13203.7,-1122.41 13255.37,-1012.58 13122,-930.7 13050.98,-887.1 12802.32,-864.22 12695.91,-856.25"/>
<polygon fill="#f99806" stroke="black" points="12696.39,-852.7 12686.16,-855.45 12695.88,-859.68 12696.39,-852.7"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_base -->
<g id="edge875" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14139.26,-1603.71C14391.04,-1588.86 16304.47,-1474.62 16415,-1428.25 16459.07,-1409.76 16453.02,-1378.43 16496,-1357.54 16573.3,-1319.97 16604.96,-1350.16 16686,-1321.54 16748.75,-1299.38 16756.51,-1276.3 16818,-1250.83 16869.05,-1229.68 16894.23,-1249.82 16937,-1214.83 16964.61,-1192.24 16952.01,-1171.4 16975,-1144.12 17007.72,-1105.29 17111.99,-1093 17065,-1073.76"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_add -->
<g id="edge876" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14139.2,-1605.47C14331.06,-1606.36 15500.4,-1608.48 16448,-1534.96 16828.04,-1505.48 16921.58,-1481.69 17299,-1428.25 17643.84,-1379.43 17899.33,-1527.37 18053,-1214.83 18110.03,-1098.84 18204.24,-1024.2 18115,-930.7 18057.76,-870.72 16768.29,-855.79 16499.01,-853.32"/>
<polygon fill="#f99806" stroke="black" points="16499.08,-849.82 16489.05,-853.23 16499.02,-856.82 16499.08,-849.82"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge877" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14003,-965.05C14003.58,-945.79 14003.72,-924.65 14003.66,-905.97"/>
<polygon fill="#f99806" stroke="black" points="14007.15,-905.98 14003.6,-895.99 14000.15,-906.01 14007.15,-905.98"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge878" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13841,-1285.18C13812.92,-1247.4 13803.2,-1222.2 13825,-1180.47"/>
<path fill="none" stroke="black" d="M13825,-1178.47C13833.63,-1161.97 13833.79,-1154.87 13849,-1144.12 13897.95,-1109.5 13930.05,-1142.74 13979,-1108.12 13994.21,-1097.36 13991.57,-1088.47 14003,-1073.76"/>
<path fill="none" stroke="black" d="M14003,-1071.76C14047.64,-1014.35 14092.15,-942.86 14119.13,-897.54"/>
<polygon fill="#f99806" stroke="black" points="14122.53,-899.67 14124.61,-889.28 14116.5,-896.1 14122.53,-899.67"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge879" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16320,-1498.61C16398.88,-1487.21 16417.34,-1477.05 16496,-1464.25 16609.93,-1445.72 17415.96,-1359.42 17525,-1321.54 17666.47,-1272.4 18178.81,-1037.67 18074,-930.7 18005.36,-860.64 16400.31,-930.49 16309,-894.7 16305.05,-893.15 16301.22,-891.11 16297.56,-888.77"/>
<polygon fill="#f99806" stroke="black" points="16299.99,-885.48 16289.85,-882.41 16295.87,-891.13 16299.99,-885.48"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_request -->
<g id="edge880" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14139.31,-1604.96C14378.12,-1601.79 16108.07,-1577.42 16334,-1534.96 16426.66,-1517.55 16441.66,-1483.29 16534,-1464.25 16768.27,-1415.93 16833.8,-1459.13 17071,-1428.25 17317.49,-1396.16 17383.65,-1398.52 17620,-1321.54 17862.07,-1242.7 18013.08,-1242.45 18095,-1001.41 18105.11,-971.65 18116.98,-953.15 18095,-930.7 18029.23,-863.51 16490.52,-929.04 16403,-894.7 16399.05,-893.15 16395.22,-891.11 16391.56,-888.76"/>
<polygon fill="#f99806" stroke="black" points="16394,-885.47 16383.85,-882.4 16389.87,-891.13 16394,-885.47"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_search -->
<g id="edge881" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13927,-1498.61C13856.53,-1446.38 13864.25,-1402.59 13789,-1357.54 13739.76,-1328.06 13714.92,-1349.85 13665,-1321.54 13624.87,-1298.78 13623.88,-1281.03 13589,-1250.83 13494.1,-1168.68 13411.11,-1192 13369,-1073.76"/>
<path fill="none" stroke="black" d="M13369,-1071.76C13353.27,-1046.66 13293.04,-968.02 13293,-967.05"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_service_update -->
<g id="edge882" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14139.39,-1604.99C14309.47,-1602.81 15238.59,-1588.82 15994,-1534.96 16139.32,-1524.6 16175.85,-1521.74 16320,-1500.61"/>
<path fill="none" stroke="black" d="M16320,-1498.61C16508.17,-1471.01 16537.4,-1394.3 16724,-1357.54 16872.03,-1328.38 17269.89,-1394.43 17402,-1321.54 17435.7,-1302.95 17426.61,-1279.76 17452,-1250.83 17498.09,-1198.3 17620.7,-1069.09 17683,-1037.41 17754.88,-1000.85 18053.04,-1046.46 18039,-967.05"/>
<path fill="none" stroke="black" d="M18039,-965.05C18034.64,-946.94 18031.43,-939.46 18015,-930.7 17921.85,-881.01 16213.32,-933.15 16115,-894.7 16111.05,-893.15 16107.22,-891.12 16103.56,-888.77"/>
<polygon fill="#f99806" stroke="black" points="16105.99,-885.48 16095.85,-882.42 16101.86,-891.14 16105.99,-885.48"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge883" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14129,-1498.61C14140.97,-1460.18 14170.59,-1465.43 14186,-1428.25 14234.64,-1310.95 14170.66,-1262.73 14216,-1144.12 14244.12,-1070.57 14274.26,-1064.78 14321,-1001.41 14332.05,-986.42 14332.54,-980.9 14345,-967.05"/>
<path fill="none" stroke="black" d="M14345,-965.05C14357.35,-951.78 14352.83,-942.01 14367,-930.7 14416.57,-891.15 14487.96,-870.71 14534.9,-860.91"/>
<polygon fill="#f99806" stroke="black" points="14535.28,-864.21 14544.4,-858.81 14533.91,-857.34 14535.28,-864.21"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_package -->
<g id="edge884" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14096.22,-1587.89C14090.28,-1582 14083.21,-1575.72 14076,-1570.96 14042.1,-1548.58 14028.65,-1552.47 13992,-1534.96 13962.51,-1520.88 13953.78,-1519.33 13927,-1500.61"/>
<path fill="none" stroke="black" d="M13927,-1498.61C13870.57,-1459.17 13848.97,-1462.06 13789,-1428.25 13737.06,-1398.97 13728.21,-1384.43 13675,-1357.54 13636.55,-1338.11 13621.07,-1345.09 13585,-1321.54 13547.45,-1297.02 13551.16,-1274.4 13513,-1250.83 13471.03,-1224.9 13448.79,-1242.58 13408,-1214.83 13298.5,-1140.32 13243.42,-984.93 13221.23,-904.15"/>
<polygon fill="#f99806" stroke="black" points="13224.41,-903.49 13218.44,-894.74 13217.65,-905.3 13224.41,-903.49"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge885" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16320,-1498.61C16392.26,-1488.03 16570.32,-1446.6 16641,-1428.25 16746.57,-1400.84 16768.65,-1376.85 16876,-1357.54 17123.65,-1313 17202.37,-1401.34 17441,-1321.54 17658.94,-1248.66 17660.41,-1124.69 17873,-1037.41 17948.47,-1006.42 18001.28,-1064.5 18053,-1001.41 18072.92,-977.1 18075,-953.14 18053,-930.7 17981.49,-857.78 16310.66,-930.47 16215,-894.7 16210.83,-893.14 16206.76,-891.07 16202.85,-888.69"/>
<polygon fill="#f99806" stroke="black" points="16205.3,-885.43 16195.08,-882.64 16201.33,-891.2 16205.3,-885.43"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_status_status -->
<g id="edge886" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14139.3,-1605.07C14293.52,-1603.48 15071.11,-1592.82 15703,-1534.96 15745.79,-1531.04 16430.95,-1448.2 16469,-1428.25 16506.81,-1408.43 16496.35,-1377.66 16534,-1357.54 16626.03,-1308.37 16662.97,-1338.04 16766,-1321.54 16837.83,-1310.03 17364.94,-1270.31 17412,-1214.83 17585.89,-1009.86 17465,-1106.7 17079,-1037.41 16991.75,-1021.75 16359.66,-1044.15 16282,-1001.41 16265.68,-992.43 16276.29,-970.58 16258,-967.05"/>
<path fill="none" stroke="black" d="M16258,-965.05C16211.84,-956.22 16203.62,-941.99 16158,-930.7 16057.14,-905.72 16020.98,-939.01 15927,-894.7 15923.22,-892.92 15919.52,-890.73 15915.96,-888.31"/>
<polygon fill="#f99806" stroke="black" points="15918.52,-885.1 15908.43,-881.87 15914.31,-890.69 15918.52,-885.1"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_user_login -->
<g id="edge887" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13825,-1178.47C13867.09,-1097.93 13934.34,-1145.89 14017,-1108.12 14045.65,-1095.03 14055.4,-1094.64 14079,-1073.76"/>
<path fill="none" stroke="black" d="M14079,-1071.76C14092.95,-1059.42 14090.8,-1051.48 14103,-1037.41 14148.45,-984.96 14165.4,-977.11 14217,-930.7 14233.87,-915.53 14252.83,-899.05 14268.99,-885.19"/>
<polygon fill="#f99806" stroke="black" points="14270.83,-887.36 14276.15,-878.2 14266.28,-882.04 14270.83,-887.36"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge888" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14139.39,-1600.87C14251.95,-1580.96 14680.62,-1488.65 14845,-1214.83 14861.18,-1187.89 14865.26,-1168.15 14845,-1144.12 14783.96,-1071.72 14714.96,-1158.85 14635,-1108.12 14619.27,-1098.14 14617.49,-1091.22 14611,-1073.76"/>
</g>
<!-- aiohttp&#45;&gt;ahriman_web_web -->
<g id="edge889" class="edge">
<title>aiohttp&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13927,-1391.9C13913.08,-1379.52 13915.5,-1371.35 13903,-1357.54 13886.5,-1339.32 13876.74,-1340.43 13861,-1321.54 13849.69,-1307.97 13851.54,-1301.37 13841,-1287.18"/>
<path fill="none" stroke="black" d="M13841,-1285.18C13829.89,-1270.24 13831.63,-1262.35 13817,-1250.83 13782.5,-1223.67 13756.26,-1245.66 13725,-1214.83 13713.26,-1203.25 13712.69,-1196.88 13711,-1180.47"/>
<path fill="none" stroke="black" d="M13711,-1178.47C13690.68,-981.05 13816.83,-935.29 13789,-738.78"/>
<path fill="none" stroke="black" d="M13789,-736.78C13782.85,-712.21 13759.56,-652.05 13744,-632.07"/>
</g>
<!-- aiohttp_cors -->
<g id="node218" class="node">
<title>aiohttp_cors</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#9fb83d" stroke="black" points="14177,-1410.9 14174,-1414.9 14153,-1414.9 14150,-1410.9 14107,-1410.9 14107,-1374.9 14177,-1374.9 14177,-1410.9"/>
<text text-anchor="middle" x="14142" y="-1388.65" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp_cors</text>
</g>
<!-- aiohttp&#45;&gt;aiohttp_cors -->
<g id="edge890" class="edge">
<title>aiohttp&#45;&gt;aiohttp_cors</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14129,-1498.61C14136.81,-1473.52 14139.95,-1443.67 14141.2,-1422.27"/>
<polygon fill="#f99806" stroke="black" points="14144.74,-1422.5 14141.72,-1412.34 14137.75,-1422.16 14144.74,-1422.5"/>
</g>
<!-- aiohttp_jinja2 -->
<g id="node219" class="node">
<title>aiohttp_jinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#75c823" stroke="black" points="13942.5,-1304.18 13939.5,-1308.18 13918.5,-1308.18 13915.5,-1304.18 13869.5,-1304.18 13869.5,-1268.18 13942.5,-1268.18 13942.5,-1304.18"/>
<text text-anchor="middle" x="13906" y="-1281.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp_jinja2</text>
</g>
<!-- aiohttp&#45;&gt;aiohttp_jinja2 -->
<g id="edge891" class="edge">
<title>aiohttp&#45;&gt;aiohttp_jinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14113.31,-1587.93C14115.25,-1566.87 14119.69,-1530.5 14129,-1500.61"/>
<path fill="none" stroke="black" d="M14129,-1498.61C14130.92,-1492.45 14083.61,-1398.41 14079,-1393.9"/>
<path fill="none" stroke="black" d="M14079,-1391.9C14034.27,-1348.11 14010.1,-1354.68 13957,-1321.54 13951.55,-1318.14 13945.84,-1314.43 13940.29,-1310.76"/>
<polygon fill="#f99806" stroke="black" points="13942.45,-1307.32 13932.19,-1304.66 13938.55,-1313.14 13942.45,-1307.32"/>
</g>
<!-- aiohttp_session -->
<g id="node221" class="node">
<title>aiohttp_session</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#3db849" stroke="black" points="12949.12,-1410.9 12946.12,-1414.9 12925.12,-1414.9 12922.12,-1410.9 12864.88,-1410.9 12864.88,-1374.9 12949.12,-1374.9 12949.12,-1410.9"/>
<text text-anchor="middle" x="12907" y="-1388.65" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp_session</text>
</g>
<!-- aiohttp&#45;&gt;aiohttp_session -->
<g id="edge892" class="edge">
<title>aiohttp&#45;&gt;aiohttp_session</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14098.4,-1587.86C14092.31,-1581.36 14084.56,-1574.67 14076,-1570.96 13941.81,-1512.89 13562.38,-1563.62 13419,-1534.96 13326.55,-1516.48 13309.59,-1490.38 13219,-1464.25 13129.29,-1438.37 13022.82,-1416.14 12960.31,-1403.92"/>
<polygon fill="#f99806" stroke="black" points="12961.02,-1400.3 12950.54,-1401.83 12959.69,-1407.17 12961.02,-1400.3"/>
</g>
<!-- aiohttp_apispec -->
<g id="node217" class="node">
<title>aiohttp_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#f9e210" stroke="black" points="14557.12,-1304.18 14554.12,-1308.18 14533.12,-1308.18 14530.12,-1304.18 14472.88,-1304.18 14472.88,-1268.18 14557.12,-1268.18 14557.12,-1304.18"/>
<text text-anchor="middle" x="14515" y="-1281.93" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp_apispec</text>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_apispec -->
<g id="edge893" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_apispec</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14472.38,-1276.91C14431.41,-1269.21 14367.67,-1257.89 14312,-1250.83 14123.94,-1226.99 14073.97,-1246.12 13887,-1214.83 13695.77,-1182.83 13649.37,-1164.95 13464,-1108.12 13336.35,-1068.98 13189.01,-1012.32 13117.86,-984.2"/>
<polygon fill="#f9e210" stroke="black" points="13119.51,-980.7 13108.92,-980.27 13116.93,-987.21 13119.51,-980.7"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_add -->
<g id="edge894" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_add</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16001,-1071.76C16017.92,-1067.52 16005.64,-1047.31 16020,-1037.41 16113.14,-973.18 16168.36,-1046.79 16272,-1001.41 16329.92,-976.05 16383.79,-925.88 16416.77,-890.91"/>
<polygon fill="#f9e210" stroke="black" points="16418.64,-893.97 16422.89,-884.26 16413.51,-889.2 16418.64,-893.97"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_pgp -->
<g id="edge895" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_pgp</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14472.68,-1271.9C14423.71,-1255.3 14342,-1223.72 14281,-1180.47"/>
<path fill="none" stroke="black" d="M14281,-1178.47C14236.96,-1147.26 14220.05,-1146.41 14182,-1108.12 14117.22,-1042.94 14059.62,-951.95 14028.18,-898.06"/>
<polygon fill="#f9e210" stroke="black" points="14030.84,-896.67 14022.81,-889.77 14024.78,-900.18 14030.84,-896.67"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_rebuild -->
<g id="edge896" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_rebuild</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14281,-1178.47C14194.1,-1111.79 14162.25,-979.42 14150.94,-905.66"/>
<polygon fill="#f9e210" stroke="black" points="14154.26,-905.18 14149.35,-895.79 14147.33,-906.19 14154.26,-905.18"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_remove -->
<g id="edge897" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_remove</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14557.38,-1278.96C14620.89,-1269 14744.05,-1247.26 14845,-1214.83 14919.8,-1190.8 14931.55,-1166 15007,-1144.12 15406.51,-1028.24 15529.67,-1107.07 15932,-1001.41 16062.01,-967.26 16099.96,-964.23 16215,-894.7 16218.43,-892.63 16221.83,-890.29 16225.16,-887.81"/>
<polygon fill="#f9e210" stroke="black" points="16227.08,-889.96 16232.72,-880.99 16222.72,-884.48 16227.08,-889.96"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_request -->
<g id="edge898" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_request</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14557.44,-1283.65C14635.57,-1279.66 14806.39,-1265.36 14940,-1214.83 14995.41,-1193.87 14996.7,-1162.56 15053,-1144.12 15153.37,-1111.23 15898.11,-1097.61 16001,-1073.76"/>
<path fill="none" stroke="black" d="M16001,-1071.76C16018,-1067.85 16007.38,-1049.46 16020,-1037.41 16123.62,-938.5 16190.18,-974.72 16309,-894.7 16312.32,-892.46 16315.65,-890.01 16318.93,-887.45"/>
<polygon fill="#f9e210" stroke="black" points="16320.89,-889.54 16326.4,-880.49 16316.45,-884.13 16320.89,-889.54"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_search -->
<g id="edge899" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_search</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14472.45,-1274.59C14422.71,-1261.87 14338.13,-1239.18 14267,-1214.83 14067.51,-1146.53 14023.35,-1114.26 13827,-1037.41 13666.05,-974.42 13473.92,-902.42 13387.34,-870.15"/>
<polygon fill="#f9e210" stroke="black" points="13388.66,-866.53 13378.07,-866.32 13386.22,-873.09 13388.66,-866.53"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_service_update -->
<g id="edge900" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_service_update</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14557.53,-1278.58C14611.37,-1269.2 14706.11,-1249.2 14781,-1214.83 14805.5,-1203.58 14807.63,-1193.92 14831,-1180.47"/>
<path fill="none" stroke="black" d="M14831,-1178.47C14922.67,-1125.72 14926.92,-1086.31 14990,-1001.41 15011.94,-971.88 15001.27,-949.31 15033,-930.7 15127.76,-875.12 15919.05,-935.6 16021,-894.7 16024.93,-893.12 16028.76,-891.06 16032.41,-888.7"/>
<polygon fill="#f9e210" stroke="black" points="16034.12,-891.05 16040.11,-882.32 16029.98,-885.41 16034.12,-891.05"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_status_logs -->
<g id="edge901" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_status_logs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14505.1,-1267.91C14490.56,-1240.05 14467.48,-1184.24 14490,-1144.12 14505.04,-1117.33 14531.76,-1133.55 14549,-1108.12 14584.68,-1055.48 14558.4,-1028.95 14573,-967.05"/>
<path fill="none" stroke="black" d="M14573,-965.05C14578.84,-946.25 14581.64,-924.89 14582.88,-905.88"/>
<polygon fill="#f9e210" stroke="black" points="14586.42,-906.17 14583.44,-896.01 14579.43,-905.81 14586.42,-906.17"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_status_package -->
<g id="edge902" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_status_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14472.65,-1277.83C14431.61,-1270.74 14367.58,-1259.81 14312,-1250.83 14208.12,-1234.05 14179.42,-1242.85 14078,-1214.83 13876.35,-1159.12 13836.98,-1113.24 13642,-1037.41 13599.14,-1020.74 13587.73,-1018.41 13545,-1001.41 13432.37,-956.59 13404.21,-945.17 13294,-894.7 13280.66,-888.59 13266.29,-881.66 13253.23,-875.23"/>
<polygon fill="#f9e210" stroke="black" points="13255.05,-871.73 13244.53,-870.43 13251.94,-878 13255.05,-871.73"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_status_packages -->
<g id="edge903" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_status_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14831,-1178.47C15344.4,-899.21 15589.22,-1149.88 16115,-894.7 16118.84,-892.83 16122.63,-890.61 16126.31,-888.18"/>
<polygon fill="#f9e210" stroke="black" points="16128.12,-890.47 16134.18,-881.77 16124.02,-884.79 16128.12,-890.47"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_status_status -->
<g id="edge904" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_status_status</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14557.39,-1280.41C14604.29,-1273.24 14679.95,-1255.82 14731,-1214.83 14830.66,-1134.8 14872.16,-1094.78 14877,-967.05"/>
<path fill="none" stroke="black" d="M14877,-965.05C14877.59,-947.61 14881.14,-939.85 14896,-930.7 14984.71,-876.06 15736.34,-933.59 15833,-894.7 15836.93,-893.12 15840.75,-891.05 15844.41,-888.69"/>
<polygon fill="#f9e210" stroke="black" points="15846.11,-891.04 15852.11,-882.31 15841.97,-885.4 15846.11,-891.04"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_user_login -->
<g id="edge905" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_user_login</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14495.92,-1267.89C14448.97,-1223.56 14329.97,-1100.03 14307,-967.05"/>
</g>
<!-- aiohttp_apispec&#45;&gt;ahriman_web_views_user_logout -->
<g id="edge906" class="edge">
<title>aiohttp_apispec&#45;&gt;ahriman_web_views_user_logout</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14573,-965.05C14578.79,-946.42 14612.22,-912.21 14639.64,-886.46"/>
<polygon fill="#f9e210" stroke="black" points="14641.61,-889.48 14646.55,-880.11 14636.84,-884.35 14641.61,-889.48"/>
</g>
<!-- aiohttp_cors&#45;&gt;ahriman_web_cors -->
<g id="edge907" class="edge">
<title>aiohttp_cors&#45;&gt;ahriman_web_cors</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14119.85,-1374.53C14111.7,-1368.65 14102.21,-1362.35 14093,-1357.54 14051.88,-1336.04 14030.84,-1351.01 13995,-1321.54 13966.59,-1298.18 13980.59,-1273.97 13952,-1250.83 13914.3,-1220.32 13882.75,-1249.65 13849,-1214.83 13786.36,-1150.22 13726.62,-877.05 13706.31,-776.31"/>
<polygon fill="#9fb83d" stroke="black" points="13709.59,-775.84 13704.2,-766.72 13702.72,-777.22 13709.59,-775.84"/>
</g>
<!-- aiohttp_cors&#45;&gt;ahriman_web_views_base -->
<g id="edge908" class="edge">
<title>aiohttp_cors&#45;&gt;ahriman_web_views_base</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14177.4,-1390.76C14316.18,-1386.32 14836.54,-1369.77 15265,-1357.54 15340.44,-1355.39 16552.39,-1348.18 16623,-1321.54 16692.3,-1295.4 16704.17,-1272.21 16751,-1214.83 16773.56,-1187.19 16760.89,-1166.1 16789,-1144.12 16888.72,-1066.14 17182.15,-1121.72 17065,-1073.76"/>
<path fill="none" stroke="black" d="M17065,-1071.76C16965.9,-1031.2 15300.01,-978.05 14991.82,-968.54"/>
<polygon fill="#9fb83d" stroke="black" points="14992.13,-965.02 14982.03,-968.21 14991.91,-972.02 14992.13,-965.02"/>
</g>
<!-- aiohttp_jinja2&#45;&gt;ahriman_web_middlewares_exception_handler -->
<g id="edge909" class="edge">
<title>aiohttp_jinja2&#45;&gt;ahriman_web_middlewares_exception_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13882.17,-1267.84C13873.79,-1262.09 13864.17,-1255.88 13855,-1250.83 13820.13,-1231.63 13802.96,-1241.03 13773,-1214.83 13754.09,-1198.29 13574.98,-895.24 13508.06,-781.46"/>
<polygon fill="#75c823" stroke="black" points="13510.58,-779.86 13502.5,-773.01 13504.55,-783.41 13510.58,-779.86"/>
</g>
<!-- aiohttp_jinja2&#45;&gt;ahriman_web_views_api_docs -->
<g id="edge910" class="edge">
<title>aiohttp_jinja2&#45;&gt;ahriman_web_views_api_docs</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13942.96,-1280.89C14001.34,-1274.15 14118.5,-1260.83 14218,-1250.83 14305.92,-1241.99 14534.05,-1252.46 14614,-1214.83 14774.98,-1139.06 14732.97,-1001.95 14896,-930.7 15106.06,-838.89 15714.17,-979.9 15927,-894.7 15930.94,-893.12 15934.76,-891.06 15938.41,-888.7"/>
<polygon fill="#75c823" stroke="black" points="15940.12,-891.06 15946.11,-882.33 15935.98,-885.41 15940.12,-891.06"/>
</g>
<!-- aiohttp_jinja2&#45;&gt;ahriman_web_views_index -->
<g id="edge911" class="edge">
<title>aiohttp_jinja2&#45;&gt;ahriman_web_views_index</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13942.97,-1280.97C14001.36,-1274.35 14118.54,-1261.2 14218,-1250.83 14299.29,-1242.36 14517.42,-1262.22 14584,-1214.83 14585.76,-1213.58 14647.95,-1075.65 14649,-1073.76"/>
</g>
<!-- aiohttp_jinja2&#45;&gt;ahriman_web_web -->
<g id="edge912" class="edge">
<title>aiohttp_jinja2&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13883.58,-1267.78C13875,-1261.75 13864.9,-1255.37 13855,-1250.83 13800.13,-1225.63 13781.15,-1234.33 13724,-1214.83 13605.78,-1174.49 13545.91,-1202.43 13464,-1108.12 13374.1,-1004.6 13431.75,-939.08 13388,-809.14 13360.73,-728.14 13283.79,-712.39 13313,-632.07"/>
</g>
<!-- aiohttp_security -->
<g id="node220" class="node">
<title>aiohttp_security</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#60c247" stroke="black" points="14066.5,-1624.32 14063.5,-1628.32 14042.5,-1628.32 14039.5,-1624.32 13981.5,-1624.32 13981.5,-1588.32 14066.5,-1588.32 14066.5,-1624.32"/>
<text text-anchor="middle" x="14024" y="-1602.07" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">aiohttp_security</text>
</g>
<!-- aiohttp_security&#45;&gt;ahriman_core_auth_helpers -->
<g id="edge913" class="edge">
<title>aiohttp_security&#45;&gt;ahriman_core_auth_helpers</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14023.14,-1587.97C14021.93,-1541.88 14025.66,-1415.88 14098,-1357.54 14179.19,-1292.06 14495.13,-1398.07 14566,-1321.54 14591.25,-1294.27 14577.41,-1251.12 14561.35,-1219.72"/>
<polygon fill="#60c247" stroke="black" points="14564.15,-1218.53 14556.34,-1211.38 14557.98,-1221.85 14564.15,-1218.53"/>
</g>
<!-- aiohttp_security&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge914" class="edge">
<title>aiohttp_security&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13981.27,-1602.91C13904.66,-1597.54 13739.73,-1581.18 13609,-1534.96 13517.69,-1502.68 13498.94,-1482.93 13419,-1428.25 13378.16,-1400.31 13376.5,-1381.13 13333,-1357.54 13286.3,-1332.21 13265.33,-1347.56 13219,-1321.54 13177.34,-1298.14 13179.96,-1273.7 13138,-1250.83 13087.24,-1223.16 13067.13,-1235.15 13013,-1214.83 12908.25,-1175.51 12882.86,-1162.35 12785,-1108.12 12722.79,-1073.64 12654.45,-1028.08 12611.18,-998.19"/>
<polygon fill="#60c247" stroke="black" points="12613.54,-994.88 12603.33,-992.06 12609.56,-1000.63 12613.54,-994.88"/>
</g>
<!-- aiohttp_session&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge915" class="edge">
<title>aiohttp_session&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M12876.49,-1374.49C12797.61,-1329.25 12591.64,-1209.46 12571,-1180.47"/>
</g>
<!-- boto3 -->
<g id="node222" class="node">
<title>boto3</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#40c073" stroke="black" points="6885,-2735.97 6882,-2739.97 6861,-2739.97 6858,-2735.97 6831,-2735.97 6831,-2699.97 6885,-2699.97 6885,-2735.97"/>
<text text-anchor="middle" x="6858" y="-2713.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">boto3</text>
</g>
<!-- boto3&#45;&gt;ahriman_core_upload_s3 -->
<g id="edge916" class="edge">
<title>boto3&#45;&gt;ahriman_core_upload_s3</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6840.83,-2699.79C6833.91,-2693.64 6825.54,-2687.13 6817,-2682.62 6764.74,-2655.02 6737.18,-2680.84 6689,-2646.62 6673.81,-2635.83 6680.26,-2622.94 6665,-2612.26"/>
</g>
<!-- cerberus -->
<g id="node223" class="node">
<title>cerberus</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#40c099" stroke="black" points="538.12,-2735.97 535.12,-2739.97 514.12,-2739.97 511.12,-2735.97 483.88,-2735.97 483.88,-2699.97 538.12,-2699.97 538.12,-2735.97"/>
<text text-anchor="middle" x="511" y="-2713.72" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cerberus</text>
</g>
<!-- cerberus&#45;&gt;ahriman_core_configuration_validator -->
<g id="edge917" class="edge">
<title>cerberus&#45;&gt;ahriman_core_configuration_validator</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M500.97,-2699.73C493.53,-2685.89 484.01,-2665.69 480,-2646.62 456.01,-2532.65 495.49,-2396.57 519.93,-2328.31"/>
<polygon fill="#40c099" stroke="black" points="523.42,-2329.94 523.56,-2319.34 516.85,-2327.54 523.42,-2329.94"/>
</g>
<!-- cryptography -->
<g id="node224" class="node">
<title>cryptography</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#19e6e6" stroke="black" points="13988.5,-4696.99 13985.5,-4700.99 13964.5,-4700.99 13961.5,-4696.99 13915.5,-4696.99 13915.5,-4660.99 13988.5,-4660.99 13988.5,-4696.99"/>
<text text-anchor="middle" x="13952" y="-4674.74" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cryptography</text>
</g>
<!-- cryptography&#45;&gt;ahriman_web_middlewares_auth_handler -->
<g id="edge918" class="edge">
<title>cryptography&#45;&gt;ahriman_web_middlewares_auth_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13965.49,-4660.62C13994.76,-4620.78 14059.41,-4519.63 14033,-4434.19"/>
<path fill="none" stroke="black" d="M14033,-4432.19C13993.5,-4304.41 13919,-4287.44 13919,-4153.69 13919,-4153.69 13919,-4153.69 13919,-3590.68 13919,-3467.92 13881,-3439.86 13881,-3317.1 13881,-3317.1 13881,-3317.1 13881,-3208.39 13881,-3044.61 13824.02,-2627.5 13745,-2484.04 13734.02,-2464.1 13458.91,-2222.95 13445,-2204.92 13423.2,-2176.68 13434.48,-2156.97 13407,-2134.21 13366.08,-2100.32 13332.62,-2133.62 13293,-2098.21 13261.98,-2070.49 13277.8,-2047.46 13255,-2012.65 13243.11,-1994.5 13234.32,-1994.52 13222,-1976.65 13197.84,-1941.62 13200.85,-1927.62 13179,-1891.09 13119.47,-1791.6 13099.27,-1769.89 13029,-1677.67 12991.74,-1628.78 12988.14,-1610.41 12941,-1570.96 12915.97,-1550.02 12902.9,-1554.82 12877,-1534.96 12771.64,-1454.18 12752.37,-1424.05 12668,-1321.54 12619.65,-1262.79 12616.44,-1241.51 12571,-1180.47"/>
</g>
<!-- cryptography&#45;&gt;aiohttp_session -->
<g id="edge919" class="edge">
<title>cryptography&#45;&gt;aiohttp_session</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14033,-4432.19C14010.78,-4355.7 14033,-4332.63 14033,-4252.98 14033,-4252.98 14033,-4252.98 14033,-3682.55 14033,-3412.08 13943.4,-2725.23 13821,-2484.04 13796.54,-2435.85 13528.7,-2163.08 13483,-2134.21 13441.65,-2108.09 13416.52,-2129.59 13379,-2098.21 13345.55,-2070.24 13355.12,-2048.98 13331,-2012.65 13319.79,-1995.77 13313.15,-1994.2 13303,-1976.65 13231.16,-1852.41 13264.13,-1794.67 13181,-1677.67 13160.23,-1648.45 13090.77,-1589.37 13060,-1570.96 13020.54,-1547.36 12995.88,-1567.11 12963,-1534.96 12931.45,-1504.12 12917.22,-1453.28 12911.14,-1421.79"/>
<polygon fill="#19e6e6" stroke="black" points="12914.45,-1421.37 12909.26,-1412.14 12907.55,-1422.59 12914.45,-1421.37"/>
</g>
<!-- requests -->
<g id="node230" class="node">
<title>requests</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#c006ef" stroke="black" points="9616,-4615.05 9613,-4619.05 9592,-4619.05 9589,-4615.05 9562,-4615.05 9562,-4579.05 9616,-4579.05 9616,-4615.05"/>
<text text-anchor="middle" x="9589" y="-4592.8" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">requests</text>
</g>
<!-- cryptography&#45;&gt;requests -->
<g id="edge920" class="edge">
<title>cryptography&#45;&gt;requests</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13915.18,-4674.78C13844.86,-4668.82 13686.55,-4656.17 13553,-4651.05 13335.21,-4642.71 9843.56,-4658.59 9630,-4615.05 9628.87,-4614.82 9627.73,-4614.56 9626.58,-4614.27"/>
<polygon fill="#19e6e6" stroke="black" points="9627.92,-4610.71 9617.33,-4611.07 9625.83,-4617.39 9627.92,-4610.71"/>
</g>
<!-- inflection -->
<g id="node225" class="node">
<title>inflection</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#5398b6" stroke="black" points="5972.5,-4451.19 5969.5,-4455.19 5948.5,-4455.19 5945.5,-4451.19 5917.5,-4451.19 5917.5,-4415.19 5972.5,-4415.19 5972.5,-4451.19"/>
<text text-anchor="middle" x="5945" y="-4428.94" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">inflection</text>
</g>
<!-- inflection&#45;&gt;ahriman_models_aur_package -->
<g id="edge921" class="edge">
<title>inflection&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M5945.37,-4414.74C5946.8,-4376.77 5953.72,-4284.6 5987,-4216.62 5992.53,-4205.33 6000.61,-4194.48 6008.89,-4185.06"/>
<polygon fill="#5398b6" stroke="black" points="6010.95,-4187.9 6015.15,-4178.17 6005.8,-4183.15 6010.95,-4187.9"/>
</g>
<!-- jinja2 -->
<g id="node226" class="node">
<title>jinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#3b76ce" stroke="black" points="13133,-2629.26 13130,-2633.26 13109,-2633.26 13106,-2629.26 13079,-2629.26 13079,-2593.26 13133,-2593.26 13133,-2629.26"/>
<text text-anchor="middle" x="13106" y="-2607.01" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">jinja2</text>
</g>
<!-- jinja2&#45;&gt;ahriman_core_report_jinja_template -->
<g id="edge922" class="edge">
<title>jinja2&#45;&gt;ahriman_core_report_jinja_template</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13078.77,-2594.81C12995.48,-2548.5 12735.43,-2411.09 12500,-2362.48 12294.3,-2320.02 10819.5,-2341.56 10610,-2326.48 10154.34,-2293.7 9609.73,-2210 9427.69,-2180.8"/>
<polygon fill="#3b76ce" stroke="black" points="9428.42,-2177.21 9417.99,-2179.08 9427.31,-2184.12 9428.42,-2177.21"/>
</g>
<!-- jinja2&#45;&gt;ahriman_web_web -->
<g id="edge923" class="edge">
<title>jinja2&#45;&gt;ahriman_web_web</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13090,-2592.77C13077.76,-2578.96 13060.86,-2558.92 13048,-2539.91 13035.41,-2521.3 12965.71,-2379.47 12951,-2362.48 12933.54,-2342.33 12920.41,-2346.68 12903,-2326.48 12871.28,-2289.69 12828.56,-2172.76 12799,-2134.21 12784.84,-2115.75 12774.43,-2117.21 12761,-2098.21 12736.99,-2064.23 12747.01,-2046.63 12723,-2012.65 12709.57,-1993.65 12698.43,-1995.65 12685,-1976.65 12660.99,-1942.67 12671.01,-1925.07 12647,-1891.09 12633.57,-1872.09 12623.13,-1873.58 12609,-1855.09 12587.33,-1826.75 12596.86,-1808.96 12571,-1784.38 12543.91,-1758.63 12522.09,-1774.13 12495,-1748.38 12469.14,-1723.8 12486.67,-1697.49 12457,-1677.67 12323.65,-1588.62 12243.72,-1708.6 12098,-1641.67 11970.9,-1583.29 11816.53,-1503.03 11904,-1393.9"/>
</g>
<!-- jinja2&#45;&gt;aiohttp_jinja2 -->
<g id="edge924" class="edge">
<title>jinja2&#45;&gt;aiohttp_jinja2</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M13124.01,-2592.82C13178.95,-2539.64 13349.48,-2375.04 13493,-2240.92 13637.14,-2106.23 14068.47,-1822.21 14148,-1641.67 14156.83,-1621.63 14148.2,-1474.46 14143,-1464.25 14131.37,-1441.43 14114.51,-1447.83 14098,-1428.25 14086.75,-1414.91 14091.47,-1406.1 14079,-1393.9"/>
</g>
<!-- marshmallow -->
<g id="node227" class="node">
<title>marshmallow</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#061def" stroke="black" points="16520.25,-1837.74 16517.25,-1841.74 16496.25,-1841.74 16493.25,-1837.74 16445.75,-1837.74 16445.75,-1801.74 16520.25,-1801.74 16520.25,-1837.74"/>
<text text-anchor="middle" x="16483" y="-1815.49" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">marshmallow</text>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_aur_package_schema -->
<g id="edge925" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_aur_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16505.02,-1801.45C16521.59,-1787.9 16544.38,-1768.11 16562,-1748.38 16579.71,-1728.56 16815.29,-1371.35 16838,-1357.54 16936.13,-1297.88 17307.15,-1393.74 17350,-1287.18"/>
<path fill="none" stroke="black" d="M17350,-1285.18C17358.62,-1263.81 17309.09,-1232.81 17264.85,-1210.09"/>
<polygon fill="#061def" stroke="black" points="17266.72,-1206.62 17256.22,-1205.23 17263.57,-1212.86 17266.72,-1206.62"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_auth_schema -->
<g id="edge926" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_auth_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M17350,-1285.18C17357.5,-1266.58 17358.53,-1244.56 17357.28,-1225.52"/>
<polygon fill="#061def" stroke="black" points="17360.69,-1225.36 17356.31,-1215.71 17353.72,-1225.98 17360.69,-1225.36"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_counters_schema -->
<g id="edge927" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_counters_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16548,-1391.9C16543.98,-1372.8 16543.33,-1351.31 16543.93,-1332.79"/>
<polygon fill="#061def" stroke="black" points="16547.47,-1333.13 16544.43,-1322.98 16540.48,-1332.81 16547.47,-1333.13"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_error_schema -->
<g id="edge928" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_error_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16548,-1605.32C16546.98,-1558.79 16571.5,-1540.78 16548,-1500.61"/>
<path fill="none" stroke="black" d="M16548,-1498.61C16535.47,-1477.19 16526.95,-1473.68 16504,-1464.25 16376.93,-1412.04 16332.28,-1452.17 16197,-1428.25 15995.02,-1392.53 15947.13,-1370.73 15748,-1321.54 15688.31,-1306.8 15660.62,-1327.27 15614,-1287.18"/>
<path fill="none" stroke="black" d="M15614,-1285.18C15599.18,-1273.9 15603.02,-1264.15 15590,-1250.83 15575.5,-1235.99 15557.6,-1221.97 15541.21,-1210.41"/>
<polygon fill="#061def" stroke="black" points="15543.5,-1207.05 15533.29,-1204.25 15539.53,-1212.81 15543.5,-1207.05"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_internal_status_schema -->
<g id="edge929" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_internal_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16454,-1285.18C16439.86,-1269.3 16438.64,-1246.07 16441.49,-1225.52"/>
<polygon fill="#061def" stroke="black" points="16445.1,-1226.22 16443.37,-1215.76 16438.2,-1225.01 16445.1,-1226.22"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_log_schema -->
<g id="edge930" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_log_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15614,-1285.18C15597.26,-1270.79 15596.4,-1246.48 15600.13,-1224.9"/>
<polygon fill="#061def" stroke="black" points="15603.73,-1225.77 15602.36,-1215.26 15596.88,-1224.33 15603.73,-1225.77"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_login_schema -->
<g id="edge931" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_login_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16548,-1498.61C16504.73,-1424.09 16490.31,-1399.41 16415,-1357.54 16277.47,-1281.07 16210.83,-1353.23 16068,-1287.18"/>
<path fill="none" stroke="black" d="M16068,-1285.18C15970.02,-1239.35 15934.79,-1256.58 15835,-1214.83 15830.55,-1212.97 15826,-1210.88 15821.49,-1208.68"/>
<polygon fill="#061def" stroke="black" points="15823.22,-1205.13 15812.72,-1203.73 15820.06,-1211.38 15823.22,-1205.13"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_logs_schema -->
<g id="edge932" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_logs_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15576,-1391.9C15518.89,-1364.68 15598.34,-1298.72 15557,-1250.83 15519.22,-1207.07 15485.32,-1237.17 15432,-1214.83 15427.66,-1213.01 15423.23,-1210.96 15418.85,-1208.78"/>
<polygon fill="#061def" stroke="black" points="15420.86,-1205.36 15410.37,-1203.86 15417.63,-1211.57 15420.86,-1205.36"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_oauth2_schema -->
<g id="edge933" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_oauth2_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16068,-1285.18C16025.54,-1265.55 15981.03,-1236.52 15949.11,-1214"/>
<polygon fill="#061def" stroke="black" points="15951.63,-1210.79 15941.45,-1207.84 15947.57,-1216.49 15951.63,-1210.79"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_package_name_schema -->
<g id="edge934" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_package_name_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16068,-1285.18C16046.8,-1275.38 16046.88,-1249.04 16052.22,-1225.23"/>
<polygon fill="#061def" stroke="black" points="16055.78,-1226.45 16054.88,-1215.89 16049,-1224.7 16055.78,-1226.45"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_package_names_schema -->
<g id="edge935" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_package_names_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16548,-1498.61C16524.63,-1458.36 16557.58,-1439.44 16548,-1393.9"/>
<path fill="none" stroke="black" d="M16548,-1391.9C16538.59,-1347.17 16501.07,-1357.61 16473,-1321.54 16462.28,-1307.77 16465.6,-1300.22 16454,-1287.18"/>
<path fill="none" stroke="black" d="M16454,-1285.18C16422.93,-1250.28 16377.36,-1224.74 16338.41,-1207.62"/>
<polygon fill="#061def" stroke="black" points="16340.24,-1204.17 16329.66,-1203.45 16337.48,-1210.6 16340.24,-1204.17"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_package_properties_schema -->
<g id="edge936" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_package_properties_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16548,-1498.61C16531.82,-1469.46 16455.73,-1439.59 16393.12,-1419.25"/>
<polygon fill="#061def" stroke="black" points="16394.4,-1415.66 16383.81,-1415.94 16392.26,-1422.32 16394.4,-1415.66"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_package_schema -->
<g id="edge937" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_package_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16495.53,-1801.27C16509.65,-1781.02 16532.63,-1746.29 16548,-1714.03"/>
<path fill="none" stroke="black" d="M16548,-1712.03C16568.02,-1670.01 16548,-1653.86 16548,-1607.32"/>
<path fill="none" stroke="black" d="M16548,-1605.32C16548,-1528.47 16515.12,-1501.69 16448,-1464.25 16392.97,-1433.55 15944.77,-1433.77 15882,-1428.25 15745.67,-1416.27 15699.47,-1452.92 15576,-1393.9"/>
<path fill="none" stroke="black" d="M15576,-1391.9C15547.56,-1378.34 15542.53,-1370.89 15514,-1357.54 15473.86,-1338.76 15462.25,-1337.76 15421,-1321.54 15413.21,-1318.48 15405.04,-1315.24 15396.96,-1312.03"/>
<polygon fill="#061def" stroke="black" points="15398.39,-1308.43 15387.81,-1307.99 15395.8,-1314.94 15398.39,-1308.43"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_package_status_schema -->
<g id="edge938" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_package_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16480.22,-1801.36C16469.42,-1736.11 16428.01,-1507.26 16372,-1464.25 16297.2,-1406.81 15612.08,-1461.94 15524,-1428.25 15477.78,-1410.57 15482.68,-1378.81 15438,-1357.54 15365.52,-1323.03 15325.72,-1369.04 15261,-1321.54 15246.93,-1311.22 15253.66,-1300.17 15242,-1287.18"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_pgp_key_id_schema -->
<g id="edge939" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_pgp_key_id_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16548,-1498.61C16527.26,-1461.24 16608.16,-1361.61 16623,-1321.54 16634.8,-1289.69 16646.4,-1253.14 16654.87,-1225.23"/>
<polygon fill="#061def" stroke="black" points="16658.43,-1226.57 16657.96,-1215.98 16651.72,-1224.55 16658.43,-1226.57"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_pgp_key_schema -->
<g id="edge940" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_pgp_key_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16548,-1605.32C16550.58,-1513.31 16742.33,-1304.84 16825.36,-1218.76"/>
<polygon fill="#061def" stroke="black" points="16827.37,-1221.68 16831.81,-1212.06 16822.34,-1216.81 16827.37,-1221.68"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_remote_schema -->
<g id="edge941" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_remote_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16447.64,-1801.35C16330.68,-1744.52 15944.56,-1562.28 15607,-1464.25 15521.53,-1439.43 15494.89,-1454.99 15410,-1428.25 15403.55,-1426.22 15396.92,-1423.77 15390.4,-1421.12"/>
<polygon fill="#061def" stroke="black" points="15391.87,-1417.51 15381.3,-1416.83 15389.13,-1423.96 15391.87,-1417.51"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_search_schema -->
<g id="edge942" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_search_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M16548,-1712.03C16631.14,-1537.52 16663.98,-1494.89 16800,-1357.54 16859.41,-1297.55 16940.83,-1242.85 16992.94,-1210.6"/>
<polygon fill="#061def" stroke="black" points="16994.3,-1213.26 17000.99,-1205.04 16990.64,-1207.29 16994.3,-1213.26"/>
</g>
<!-- marshmallow&#45;&gt;ahriman_web_schemas_status_schema -->
<g id="edge943" class="edge">
<title>marshmallow&#45;&gt;ahriman_web_schemas_status_schema</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M15576,-1391.9C15559.2,-1383.86 15563.57,-1372.14 15552,-1357.54 15543.48,-1346.79 15533.81,-1335.56 15524.64,-1325.3"/>
<polygon fill="#061def" stroke="black" points="15527.72,-1323.39 15518.42,-1318.31 15522.53,-1328.08 15527.72,-1323.39"/>
</g>
<!-- passlib -->
<g id="node228" class="node">
<title>passlib</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#583bce" stroke="black" points="14267,-3227.39 14264,-3231.39 14243,-3231.39 14240,-3227.39 14213,-3227.39 14213,-3191.39 14267,-3191.39 14267,-3227.39"/>
<text text-anchor="middle" x="14240" y="-3205.14" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">passlib</text>
</g>
<!-- passlib&#45;&gt;ahriman_models_user -->
<g id="edge944" class="edge">
<title>passlib&#45;&gt;ahriman_models_user</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M14240.67,-3191.09C14242.41,-3146.17 14247.12,-3025.03 14249.53,-2962.88"/>
<polygon fill="#583bce" stroke="black" points="14253.06,-2963.12 14249.95,-2952.99 14246.07,-2962.85 14253.06,-2963.12"/>
</g>
<!-- pyalpm -->
<g id="node229" class="node">
<title>pyalpm</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#852fdb" stroke="black" points="6245,-4451.19 6242,-4455.19 6221,-4455.19 6218,-4451.19 6191,-4451.19 6191,-4415.19 6245,-4415.19 6245,-4451.19"/>
<text text-anchor="middle" x="6218" y="-4428.94" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">pyalpm</text>
</g>
<!-- pyalpm&#45;&gt;ahriman_core_alpm_pacman -->
<g id="edge945" class="edge">
<title>pyalpm&#45;&gt;ahriman_core_alpm_pacman</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6235,-4250.98C6236.1,-4248.79 6295.7,-4214.78 6464,-4124.76 6706.5,-3995.05 6754.96,-3934.44 7013,-3839.34 7079.77,-3814.73 7101.37,-3825.46 7169,-3803.34 7267.37,-3771.16 7290.93,-3758.77 7383,-3711.48 7593.64,-3603.27 7655.23,-3585.24 7839,-3435.89 8029.48,-3281.09 8067.54,-3194.48 8105,-2951.9 8112.93,-2900.52 8073.88,-2526.41 8104,-2484.04 8131.37,-2445.55 8160.69,-2466.91 8204,-2448.04 8216.93,-2442.41 8230.68,-2435.63 8243.11,-2429.19"/>
<polygon fill="#852fdb" stroke="black" points="8244.53,-2431.87 8251.76,-2424.12 8241.28,-2425.68 8244.53,-2431.87"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_aur_package -->
<g id="edge946" class="edge">
<title>pyalpm&#45;&gt;ahriman_models_aur_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6221.69,-4414.74C6224.66,-4398.55 6228.02,-4373.78 6226,-4352.26"/>
<path fill="none" stroke="black" d="M6226,-4350.26C6218.57,-4270.96 6139.51,-4210.14 6087.47,-4178.33"/>
<polygon fill="#852fdb" stroke="black" points="6089.47,-4174.85 6079.09,-4172.73 6085.88,-4180.86 6089.47,-4174.85"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_package -->
<g id="edge947" class="edge">
<title>pyalpm&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6226,-4350.26C6223.59,-4306.91 6216.52,-4292.27 6235,-4252.98"/>
<path fill="none" stroke="black" d="M6235,-4250.98C6279.7,-4155.94 6251.28,-4106.71 6326,-4032.9 6417.36,-3942.65 6501.23,-4013.7 6594,-3924.9 6608.74,-3910.79 6603.78,-3901.31 6613,-3883.12"/>
<path fill="none" stroke="black" d="M6613,-3881.12C6628.35,-3837.18 6626.57,-3820.92 6613,-3776.41"/>
</g>
<!-- pyalpm&#45;&gt;ahriman_models_package_description -->
<g id="edge948" class="edge">
<title>pyalpm&#45;&gt;ahriman_models_package_description</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6245.09,-4431.6C6517.42,-4425.48 8756.96,-4372.79 9039,-4287.33 9151.41,-4253.27 9341.09,-4244.83 9267,-4153.69"/>
<path fill="none" stroke="black" d="M9267,-4151.69C9256.4,-4136.34 9250.08,-4116.68 9246.33,-4099.66"/>
<polygon fill="#852fdb" stroke="black" points="9249.58,-4099.07 9244.22,-4089.94 9242.71,-4100.42 9249.58,-4099.07"/>
</g>
<!-- requests&#45;&gt;ahriman_application_application_application_packages -->
<g id="edge949" class="edge">
<title>requests&#45;&gt;ahriman_application_application_application_packages</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6463,-4350.26C6461.13,-4138.62 6687.69,-4210.25 6861,-4088.76 7087.27,-3930.14 7182.16,-3881.94 7269,-3619.62 7370.61,-3312.68 7353.77,-3177.11 7194,-2896.04 7134.07,-2790.61 7118.82,-2758.22 7024,-2682.62 6938.4,-2614.37 6900.68,-2623.31 6802,-2575.91 6768.67,-2559.9 6746.69,-2571.2 6727,-2539.91 6685,-2473.16 6716.58,-2440.65 6727,-2362.48 6734.4,-2306.99 6739.74,-2293.11 6760,-2240.92 6793.38,-2154.95 6855,-2148.66 6855,-2056.43 6855,-2056.43 6855,-2056.43 6855,-1932.87 6855,-1829.91 6913.26,-1815.45 6931,-1714.03"/>
<path fill="none" stroke="black" d="M6931,-1712.03C6946.32,-1554.86 6934.21,-1514.08 6955,-1357.54 6959.2,-1325.94 6990.19,-1311 6969,-1287.18"/>
<path fill="none" stroke="black" d="M6969,-1285.18C6826.08,-1139.62 6017.95,-1380.7 6057,-1180.47"/>
</g>
<!-- requests&#45;&gt;ahriman_core_alpm_remote_aur -->
<g id="edge950" class="edge">
<title>requests&#45;&gt;ahriman_core_alpm_remote_aur</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9561.7,-4595.81C9331.33,-4593.65 7709.16,-4577.38 7222,-4543.05 7049.44,-4530.9 6563.88,-4580.53 6449,-4451.19 6435.5,-4435.99 6460.96,-4362.79 6463,-4352.26"/>
<path fill="none" stroke="black" d="M6463,-4350.26C6454.37,-4256.99 6387,-4247.36 6387,-4153.69 6387,-4153.69 6387,-4153.69 6387,-4059.83 6387,-4018.1 6384.19,-3970.92 6381.54,-3935.81"/>
<polygon fill="#c006ef" stroke="black" points="6384.96,-3935.55 6380.7,-3925.85 6377.98,-3936.09 6384.96,-3935.55"/>
</g>
<!-- requests&#45;&gt;ahriman_core_alpm_remote_official -->
<g id="edge951" class="edge">
<title>requests&#45;&gt;ahriman_core_alpm_remote_official</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9561.76,-4595.66C9299.76,-4591.74 7236,-4556.91 7236,-4434.19 7236,-4434.19 7236,-4434.19 7236,-4059.83 7236,-3884.74 7461.87,-3962.42 7535,-3803.34 7562.42,-3743.68 7540.69,-3721.02 7535,-3655.62 7506.45,-3327.18 7407,-3254.65 7407,-2924.97 7407,-2924.97 7407,-2924.97 7407,-2823.68 7407,-2743.07 7361.4,-2725.27 7293,-2682.62 7231.89,-2644.51 7192.3,-2690.25 7135,-2646.62 7106.62,-2625 7126.02,-2596.65 7097,-2575.91 6993.24,-2501.73 6893.79,-2614.82 6817,-2512.97"/>
<path fill="none" stroke="black" d="M6817,-2510.97C6797.18,-2484.63 6799.03,-2395.71 6802.67,-2337.5"/>
<polygon fill="#c006ef" stroke="black" points="6806.22,-2337.86 6803.39,-2327.65 6799.24,-2337.4 6806.22,-2337.86"/>
</g>
<!-- requests&#45;&gt;ahriman_core_report_telegram -->
<g id="edge952" class="edge">
<title>requests&#45;&gt;ahriman_core_report_telegram</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9598.55,-4578.6C9610.77,-4556.68 9632.99,-4518.19 9655,-4487.19 9721.92,-4392.93 10317,-3800.15 10317,-3684.55 10317,-3684.55 10317,-3684.55 10317,-3498.82 10317,-3319.07 10407.37,-3257.34 10331,-3094.61 10308.18,-3045.97 10001.62,-2817.7 9956,-2789.33 9924.6,-2769.8 9900.69,-2784.62 9881,-2753.33 9839,-2686.59 9872.4,-2654.29 9881,-2575.91 9882.79,-2559.61 9887.21,-2556.2 9889,-2539.91 9891.71,-2515.23 9897.82,-2507.25 9889,-2484.04 9876.16,-2450.27 9806.02,-2388.55 9781,-2362.48 9667.9,-2244.65 9646.61,-2189.72 9493,-2134.21 9357.15,-2085.13 9308.66,-2138.68 9170,-2098.21 9155.14,-2093.88 9139.71,-2087.08 9126.15,-2080.22"/>
<polygon fill="#c006ef" stroke="black" points="9128.11,-2076.77 9117.63,-2075.24 9124.87,-2082.98 9128.11,-2076.77"/>
</g>
<!-- requests&#45;&gt;ahriman_core_sign_gpg -->
<g id="edge953" class="edge">
<title>requests&#45;&gt;ahriman_core_sign_gpg</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9419,-4432.19C9389.39,-4416.54 9568.71,-4209.88 9585,-4180.62 9718.56,-3940.66 10044.07,-3326.84 10103,-3058.61 10119.11,-2985.27 10106.71,-2952.32 10057,-2896.04 9981.32,-2810.35 9896.94,-2854.12 9843,-2753.33 9805.8,-2683.8 9824.62,-2652.59 9843,-2575.91 9850.31,-2545.39 9894.62,-2537.47 9875,-2512.97"/>
<path fill="none" stroke="black" d="M9875,-2510.97C9839.86,-2470.12 9784.65,-2440.73 9745.87,-2423.67"/>
<polygon fill="#c006ef" stroke="black" points="9747.46,-2420.12 9736.89,-2419.39 9744.71,-2426.55 9747.46,-2420.12"/>
</g>
<!-- requests&#45;&gt;ahriman_core_status_web_client -->
<g id="edge954" class="edge">
<title>requests&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9616.44,-4584.71C9646.45,-4572.16 9692.48,-4552.48 9709,-4543.05 9925.47,-4419.51 9950.6,-4343.73 10165,-4216.62 10358.51,-4101.89 10420.4,-4098.72 10621,-3996.9 11247.71,-3678.79 11481.85,-3708.94 12016,-3252.17 12112.25,-3169.87 12242.25,-3138.2 12187,-3024.25"/>
</g>
<!-- requests&#45;&gt;ahriman_core_upload_github -->
<g id="edge955" class="edge">
<title>requests&#45;&gt;ahriman_core_upload_github</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9419,-4432.19C9339.24,-4390.95 9408.33,-4106.58 9357,-4032.9 9300.59,-3951.92 9235.67,-3991.66 9163,-3924.9 9104.41,-3871.07 9063,-3855.97 9063,-3776.41 9063,-3776.41 9063,-3776.41 9063,-3682.55 9063,-3454.7 8828.78,-3514.85 8678,-3344.03 8602.11,-3258.06 8578.7,-3235.78 8533,-3130.61 8425.71,-2883.71 8438.93,-2806.13 8399,-2539.91 8390.17,-2481 8399.57,-2464.88 8389,-2406.26"/>
</g>
<!-- requests&#45;&gt;ahriman_core_upload_http_upload -->
<g id="edge956" class="edge">
<title>requests&#45;&gt;ahriman_core_upload_http_upload</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9419,-4432.19C9248.67,-4344.2 9273.43,-4241.83 9158,-4088.76 8817.17,-3636.8 8688.01,-3551.15 8409,-3058.61 8343.01,-2942.12 8336.96,-2907.48 8274,-2789.33 8214.11,-2676.95 8180.9,-2657.89 8133,-2539.91 8104.13,-2468.78 8084.34,-2381.42 8074.12,-2329.55"/>
<polygon fill="#c006ef" stroke="black" points="8077.43,-2329.19 8072.09,-2320.04 8070.55,-2330.52 8077.43,-2329.19"/>
</g>
<!-- requests&#45;&gt;ahriman_core_util -->
<g id="edge957" class="edge">
<title>requests&#45;&gt;ahriman_core_util</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9567.93,-4578.71C9534.29,-4550.45 9467.31,-4491.81 9419,-4434.19"/>
<path fill="none" stroke="black" d="M9419,-4432.19C9329.96,-4385.12 7763.69,-4357.82 7464.99,-4353.02"/>
<polygon fill="#c006ef" stroke="black" points="7465.16,-4349.51 7455.1,-4352.85 7465.05,-4356.51 7465.16,-4349.51"/>
</g>
<!-- requests_unixsocket -->
<g id="node231" class="node">
<title>requests_unixsocket</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#b34ca8" stroke="black" points="10502.62,-3996.9 10499.62,-4000.9 10478.62,-4000.9 10475.62,-3996.9 10397.38,-3996.9 10397.38,-3960.9 10502.62,-3960.9 10502.62,-3996.9"/>
<text text-anchor="middle" x="10450" y="-3974.65" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">requests_unixsocket</text>
</g>
<!-- requests&#45;&gt;requests_unixsocket -->
<g id="edge958" class="edge">
<title>requests&#45;&gt;requests_unixsocket</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M9611.82,-4578.69C9647.1,-4551.76 9716.88,-4498.12 9775,-4451.19 9950.86,-4309.19 9978.43,-4252.37 10165,-4124.76 10234.92,-4076.94 10256.19,-4070.7 10332,-4032.9 10353.68,-4022.09 10378.03,-4010.98 10398.96,-4001.75"/>
<polygon fill="#c006ef" stroke="black" points="10400.18,-4004.59 10407.94,-3997.37 10397.37,-3998.18 10400.18,-4004.59"/>
</g>
<!-- requests_unixsocket&#45;&gt;ahriman_core_status_web_client -->
<g id="edge959" class="edge">
<title>requests_unixsocket&#45;&gt;ahriman_core_status_web_client</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M10478.15,-3960.44C10585.02,-3894.32 10976.37,-3653.9 11308,-3471.89 11500.17,-3366.43 12187.49,-3243.46 12187,-3024.25"/>
<path fill="none" stroke="black" d="M12187,-3022.25C12166.21,-2969.62 12171.64,-2565.38 12193,-2512.97"/>
</g>
<!-- srcinfo -->
<g id="node232" class="node">
<title>srcinfo</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#b6538e" stroke="black" points="6695,-3793.41 6692,-3797.41 6671,-3797.41 6668,-3793.41 6641,-3793.41 6641,-3757.41 6695,-3757.41 6695,-3793.41"/>
<text text-anchor="middle" x="6668" y="-3771.16" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">srcinfo</text>
</g>
<!-- srcinfo&#45;&gt;ahriman_models_package -->
<g id="edge960" class="edge">
<title>srcinfo&#45;&gt;ahriman_models_package</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M6675.58,-3757.09C6682.52,-3738.92 6690.89,-3709.58 6685,-3684.55"/>
<path fill="none" stroke="black" d="M6685,-3682.55C6675.07,-3640.34 6733.72,-3634.7 6723,-3592.68"/>
<path fill="none" stroke="black" d="M6723,-3590.68C6718.49,-3573.02 6712.59,-3553.69 6707.38,-3537.49"/>
<polygon fill="#b6538e" stroke="black" points="6710.5,-3536.77 6704.07,-3528.35 6703.84,-3538.95 6710.5,-3536.77"/>
</g>
<!-- systemd -->
<g id="node233" class="node">
<title>systemd</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="#ce3b67" stroke="black" points="11251,-3130.61 11248,-3134.61 11227,-3134.61 11224,-3130.61 11197,-3130.61 11197,-3094.61 11251,-3094.61 11251,-3130.61"/>
<text text-anchor="middle" x="11224" y="-3108.36" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">systemd</text>
</g>
<!-- systemd&#45;&gt;ahriman_core_log_journal_handler -->
<g id="edge961" class="edge">
<title>systemd&#45;&gt;ahriman_core_log_journal_handler</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11313,-2823.68C11322.48,-2795.92 11343.82,-2771.25 11363.87,-2752.84"/>
<polygon fill="#ce3b67" stroke="black" points="11365.89,-2755.85 11371.06,-2746.6 11361.25,-2750.61 11365.89,-2755.85"/>
</g>
<!-- systemd&#45;&gt;ahriman_core_log_log -->
<g id="edge962" class="edge">
<title>systemd&#45;&gt;ahriman_core_log_log</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M11229.56,-3094.44C11232.9,-3084.07 11237.23,-3070.59 11241,-3058.61 11273.55,-2955.26 11278.93,-2928.54 11313,-2825.68"/>
<path fill="none" stroke="black" d="M11313,-2823.68C11319.79,-2803.8 11316.97,-2780.88 11311.76,-2761.56"/>
<polygon fill="#ce3b67" stroke="black" points="11314.88,-2760.81 11308.66,-2752.24 11308.18,-2762.83 11314.88,-2760.81"/>
</g>
</g>
</svg>