diff --git a/__tests__/actionUtils.test.ts b/__tests__/actionUtils.test.ts
index ae4089f..19425f5 100644
--- a/__tests__/actionUtils.test.ts
+++ b/__tests__/actionUtils.test.ts
@@ -216,7 +216,10 @@ test("getInputAsArray handles empty lines correctly", () => {
 });
 
 test("getInputAsArray sorts files correctly", () => {
-    testUtils.setInput("foo", "bar\n!baz\nwaldo\nqux\nquux\ncorge\ngrault\ngarply");
+    testUtils.setInput(
+        "foo",
+        "bar\n!baz\nwaldo\nqux\nquux\ncorge\ngrault\ngarply"
+    );
     expect(actionUtils.getInputAsArray("foo")).toEqual([
         "!baz",
         "bar",
diff --git a/dist/restore/index.js b/dist/restore/index.js
index b4b9aa8..9b10374 100644
--- a/dist/restore/index.js
+++ b/dist/restore/index.js
@@ -37662,8 +37662,9 @@ function getInputAsArray(name, options) {
     return core
         .getInput(name, options)
         .split("\n")
-        .map(s => s.trim())
-        .filter(x => x !== "");
+        .map(s => s.replace(/^\!\s+/, '!').trim())
+        .filter(x => x !== "")
+        .sort();
 }
 exports.getInputAsArray = getInputAsArray;
 function getInputAsInt(name, options) {
diff --git a/dist/save/index.js b/dist/save/index.js
index 80b8752..858d68c 100644
--- a/dist/save/index.js
+++ b/dist/save/index.js
@@ -37662,8 +37662,9 @@ function getInputAsArray(name, options) {
     return core
         .getInput(name, options)
         .split("\n")
-        .map(s => s.trim())
-        .filter(x => x !== "");
+        .map(s => s.replace(/^\!\s+/, '!').trim())
+        .filter(x => x !== "")
+        .sort();
 }
 exports.getInputAsArray = getInputAsArray;
 function getInputAsInt(name, options) {