Index: externals/Harpy/Tools/sign.eagle
==================================================================
--- externals/Harpy/Tools/sign.eagle
+++ externals/Harpy/Tools/sign.eagle
@@ -46,10 +46,11 @@
     .eeagle -
     .etcl -
     .tcl -
     .tk -
     .test -
+    .ruleSet -
     .eagle {
       return true
     }
     .xml {
       set uri [object invoke Eagle._Constants.Xml ScriptNamespaceUri]

Index: externals/Harpy/Tools/sign.eagle.asc
==================================================================
--- externals/Harpy/Tools/sign.eagle.asc
+++ externals/Harpy/Tools/sign.eagle.asc
@@ -1,18 +1,17 @@
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2
 Comment: Eagle Package Repository
 
-iQIcBAABCAAGBQJncIf5AAoJEFAslq9JXcLZ920P/0K4L4SlVADY/6lpESENnCFA
-Sol78r3DJ4M9e0PmL9QuxTiHXb/WMpsW8An4MlYdiEuzLR3jSIVVYparDWD1tRUF
-G+qu30Jbl7krtfXQ1fVZlo4nUIZ9w8+v26wzNymxF9dNgjOGxraFA7jKqnj9HB8t
-TwNhqveGrLOMZXL+AKs4djhqjYn7nWqKC0cVOpabnxc50ZAs8VJUZ/DKRQAu0+9h
-96BVDKnu7rJ2CV5MXCAPP1YTBnFcThszG0/lda2TgEURTysyLRcGQcxfO7zPZtmh
-kYYQ7HbbkQCVFLRbi0agN5Lp0x7PZ5FrnUrlpuRvwRbDiIuEd6pGKGNKeZe096ur
-qYrLQ1f8qxFU0LIKPG0XAV6s1JvBV37bqQsw/NmTF/8n3oDRGCyTWzbiQ6PYXVOi
-q0R7aIpC2QsYm/t2qWbCzDYgqIXdjUsPwoQsermpkWi33yleyDT4bO6nalfEOOAw
-M/5mufxnY8fsgjiLOSbIXhoRcQx5cxib8rv2HPpakjbMqRwh+XSVQwvOCTy9/xlX
-QUgwqwbevRj1FseDG2YJ6/rMbI+83ncYUWaLjO36BFXECeKAO9Y9Et4OAvFECeyZ
-g1lAmneIISMpp3d0Dq23HRE48YAMOnPyq3+QnXtb/9fqZ1RXRnqFNPxkoakGnm9z
-XaDh5GH69302+gIt7HzN
-=10UY
+iQIzBAABCAAdFiEEw8dROIPu3TrtH+QlUCyWr0ldwtkFAmd3juoACgkQUCyWr0ld
+wtnJUBAAuM2RutdzFdJ9Kn8kPLmMEzrTN1D6Seukzob0tXktzdXkYiokRtNOeZj9
+F7Rg2xh+fOkKl8wFoWmcsdRaGf2Xop+L3kFpP0vwJhcI5VVgQjan+WYBcoiPy5Pz
+pqbhHoHoayX9E3rrFDN8kjgS6y5P2hhX/VZxNJuCUq6/UmnCLT/U6KdXTar0//T2
+xppuJk2rbrlS8oWh4GqodLMzALY4KOmYhbTr+ltfFl17GSyxFbuoV2t1Vddrkbhw
+OozF8r//0fKae7usuxKN13SKyZVcH6g62tQBYZlMy8DiQhdQraUVhQCUk+ijI+9V
+Eh+N+3UMMfZhDfhANFHncGR6buyCYh5aS/BGO01fmLole21mRQFktDVHP1uFMaVk
+7VdlHiSboXTb6OwzoQw6YnQe7ONvWohJnp2STttgbL3q2Ezs6FXka13R3ZkkiPZr
+phDmUGpg/64ZdSupbIS8q2u6eDZOLAR02XqFU7HJvb1rku6eopuLw3SBBnn7PDsi
+DMn3KusT4sox6xVUWfPitTHEAxeMpWxIbauDhDV7vICVEbsdJBMIbkWEFe1R8+PB
+6AJhGnb+aKZJyb90Cz5FIr9eE5uwPYdv1Qa1S65dBYzZD76rIbdODsD1jFLSZbJ8
+g5xRA53rzNl93fFAjqK3WNZnLyf0O30unWNuQk6KsNp5FfPqRwk=
+=NjBw
 -----END PGP SIGNATURE-----

Index: externals/Harpy/Tools/sign.eagle.harpy
==================================================================
--- externals/Harpy/Tools/sign.eagle.harpy
+++ externals/Harpy/Tools/sign.eagle.harpy
@@ -19,50 +19,50 @@
 <Certificate xmlns="https://eagle.to/2011/harpy"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <Protocol>None</Protocol>
   <Vendor>Mistachkin Systems</Vendor>
-  <Id>c388ceab-e3d3-45f1-bc0a-951ba190a4d6</Id>
+  <Id>3905bd6f-9d69-4378-bfb5-1b47601a845a</Id>
   <HashAlgorithm>SHA512</HashAlgorithm>
   <EntityType>Script</EntityType>
-  <TimeStamp>2024-12-28T22:15:58.9542356Z</TimeStamp>
+  <TimeStamp>2025-01-03T07:15:28.3044792Z</TimeStamp>
   <Duration>-1.00:00:00</Duration>
   <Key>0x9559f6017247e3e2</Key>
   <Signature>
-    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
+    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
   </Signature>
 </Certificate>

Index: externals/Harpy/Tools/sign.eagle.harpy.asc
==================================================================
--- externals/Harpy/Tools/sign.eagle.harpy.asc
+++ externals/Harpy/Tools/sign.eagle.harpy.asc
@@ -1,18 +1,17 @@
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2
 Comment: Eagle Package Repository
 
-iQIcBAABCAAGBQJncIf8AAoJEFAslq9JXcLZaEkQAMIToQKvHYunUDBNqmf8okMn
-rb8GzcR+1y9rXIj6jtMYhGLC09AW8rEI3FU6RaWxNgMkkMagP99PIyRbvGnbNcJp
-CDHuAZyzd9xne1kgn6zJDLrNkkrn6VviJ69eVufcwwYj725iPgUe+FkRU8FLx7U6
-b9Wpm/G7nHE476caXMzMR4Xsw2IJhTkrH5Z5MaQwlShfU9hKENsihrzUNe4PohRa
-KekGkcphWczTXLWgcza4K0JWLLRGc3/eT19Qh7wygVMM1Ld9Eag9vCTXQzyM+9JT
-k6FksbvJdQn/1auNjl9y6pRkc+YhH7xJIlLnuz/RudF9ff1OzUFBDSiSJpsTJtVT
-gcTzgYqAyjxW94j+usD2ua5z4CJu/96HWEJRY8avnHzzSf7aMr8ossBh2mdqIXvF
-J20/XzTNkeo7yQBmeu60w93VmgZiajidqLlcIAb6HSwtPrX+ejyyoQj5uagVpagW
-HqrbknF4azpiyw17aWunCI8kiyKI0CE7zJJblGBOvqPnnpmyPh+INZE9ORJp9bKm
-OhEGm7y1lncLChhV8roDeb5DiZWFvWgpQvTFrM3LxjAMb+vAoaM5UD/McrI82yO1
-0G1Js5ZKTRcODo3DG5RsId07zOH2uf3EqNz+GnhpND50V0m/uHnLLDf6zVSIFj9R
-CrtxTVYSPoe+aCnG0Zx7
-=sNZM
+iQIzBAABCAAdFiEEw8dROIPu3TrtH+QlUCyWr0ldwtkFAmd3juwACgkQUCyWr0ld
+wtmOBRAAgKuX8HluLRGWjxwepf7n8WUhRkd6K7LgpX4nozXofQgHFcKBdc0MFS5+
+C9E4QBeomRz0M97ntML17y3rEiEvTXq4ka1Me9YnSPa1KlCXNDw1EI7/01hQdqNC
+Rw/QMGRpPJqOrwRoc88kZ6h2QAJyAUDyf5pNFCpXpxadCW0Xk+EQU/QgbWAIbrwv
+ewlJTclgQwGuvtsswf8B21b6mVtIDXhA8H4oyL4eb5X5Qp0jeYcGlCBLwn+QqR0P
+7DhegF0d0qGxR80zQ19PkqiD+EUggBh/HvYhkv0jvOa/mLBHvH1U2I5GBvsnb1mL
+UlR9fOp75SSpJxiaT9189FcsuTHaTSy5J9GTUBOTRZxVJ60yKrMlC8IZY+n/0cqR
+2bgHhgjh1inAjCVG4jHPea7RGkJC+I41uLV0Axkl631jLJXDGm/XfWFpb3Y2XImG
+nXpTtb2dC5ekXY59pXfSvP4Ywvzya27gvY+XvjWnlNl7ojQlJkAvnWRi6WE7FtVB
+kmjeg0OT97vVTDo4FCy0S9xZvOeZ3KTdfatmHXUpjw4i7QN/qCvDOEdW//h43Ymp
+GDSByMxU5rO2EKNg6RrW9g3rzQ4HPn1ssTnxkSEZmTShCvmRVAJzACFMAdseqssF
+CCxufO28mAnIxQylk/a6z7wVRwRQgyKmFkKH+AU7cQp7Ixj7/Js=
+=Sdvx
 -----END PGP SIGNATURE-----