Index: node_modules/redux/src/utils/actionTypes.ts
===================================================================
--- node_modules/redux/src/utils/actionTypes.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
+++ node_modules/redux/src/utils/actionTypes.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
@@ -0,0 +1,17 @@
+/**
+ * These are private action types reserved by Redux.
+ * For any unknown actions, you must return the current state.
+ * If the current state is undefined, you must return the initial state.
+ * Do not reference these action types directly in your code.
+ */
+
+const randomString = () =>
+  Math.random().toString(36).substring(7).split('').join('.')
+
+const ActionTypes = {
+  INIT: `@@redux/INIT${/* #__PURE__ */ randomString()}`,
+  REPLACE: `@@redux/REPLACE${/* #__PURE__ */ randomString()}`,
+  PROBE_UNKNOWN_ACTION: () => `@@redux/PROBE_UNKNOWN_ACTION${randomString()}`
+}
+
+export default ActionTypes
Index: node_modules/redux/src/utils/formatProdErrorMessage.ts
===================================================================
--- node_modules/redux/src/utils/formatProdErrorMessage.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
+++ node_modules/redux/src/utils/formatProdErrorMessage.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
@@ -0,0 +1,13 @@
+/**
+ * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js
+ *
+ * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes
+ * during build.
+ * @param {number} code
+ */
+export function formatProdErrorMessage(code: number) {
+  return (
+    `Minified Redux error #${code}; visit https://redux.js.org/Errors?code=${code} for the full message or ` +
+    'use the non-minified dev environment for full errors. '
+  )
+}
Index: node_modules/redux/src/utils/isAction.ts
===================================================================
--- node_modules/redux/src/utils/isAction.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
+++ node_modules/redux/src/utils/isAction.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
@@ -0,0 +1,10 @@
+import { Action } from '../types/actions'
+import isPlainObject from './isPlainObject'
+
+export default function isAction(action: unknown): action is Action<string> {
+  return (
+    isPlainObject(action) &&
+    'type' in action &&
+    typeof (action as Record<'type', unknown>).type === 'string'
+  )
+}
Index: node_modules/redux/src/utils/isPlainObject.ts
===================================================================
--- node_modules/redux/src/utils/isPlainObject.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
+++ node_modules/redux/src/utils/isPlainObject.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
@@ -0,0 +1,16 @@
+/**
+ * @param obj The object to inspect.
+ * @returns True if the argument appears to be a plain object.
+ */
+export default function isPlainObject(obj: any): obj is object {
+  if (typeof obj !== 'object' || obj === null) return false
+
+  let proto = obj
+  while (Object.getPrototypeOf(proto) !== null) {
+    proto = Object.getPrototypeOf(proto)
+  }
+
+  return (
+    Object.getPrototypeOf(obj) === proto || Object.getPrototypeOf(obj) === null
+  )
+}
Index: node_modules/redux/src/utils/kindOf.ts
===================================================================
--- node_modules/redux/src/utils/kindOf.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
+++ node_modules/redux/src/utils/kindOf.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
@@ -0,0 +1,70 @@
+// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of
+export function miniKindOf(val: any): string {
+  if (val === void 0) return 'undefined'
+  if (val === null) return 'null'
+
+  const type = typeof val
+  switch (type) {
+    case 'boolean':
+    case 'string':
+    case 'number':
+    case 'symbol':
+    case 'function': {
+      return type
+    }
+  }
+
+  if (Array.isArray(val)) return 'array'
+  if (isDate(val)) return 'date'
+  if (isError(val)) return 'error'
+
+  const constructorName = ctorName(val)
+  switch (constructorName) {
+    case 'Symbol':
+    case 'Promise':
+    case 'WeakMap':
+    case 'WeakSet':
+    case 'Map':
+    case 'Set':
+      return constructorName
+  }
+
+  // other
+  return Object.prototype.toString
+    .call(val)
+    .slice(8, -1)
+    .toLowerCase()
+    .replace(/\s/g, '')
+}
+
+function ctorName(val: any): string | null {
+  return typeof val.constructor === 'function' ? val.constructor.name : null
+}
+
+function isError(val: any) {
+  return (
+    val instanceof Error ||
+    (typeof val.message === 'string' &&
+      val.constructor &&
+      typeof val.constructor.stackTraceLimit === 'number')
+  )
+}
+
+function isDate(val: any) {
+  if (val instanceof Date) return true
+  return (
+    typeof val.toDateString === 'function' &&
+    typeof val.getDate === 'function' &&
+    typeof val.setDate === 'function'
+  )
+}
+
+export function kindOf(val: any) {
+  let typeOfVal: string = typeof val
+
+  if (process.env.NODE_ENV !== 'production') {
+    typeOfVal = miniKindOf(val)
+  }
+
+  return typeOfVal
+}
Index: node_modules/redux/src/utils/symbol-observable.ts
===================================================================
--- node_modules/redux/src/utils/symbol-observable.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
+++ node_modules/redux/src/utils/symbol-observable.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
@@ -0,0 +1,10 @@
+declare global {
+  interface SymbolConstructor {
+    readonly observable: symbol
+  }
+}
+
+const $$observable = /* #__PURE__ */ (() =>
+  (typeof Symbol === 'function' && Symbol.observable) || '@@observable')()
+
+export default $$observable
Index: node_modules/redux/src/utils/warning.ts
===================================================================
--- node_modules/redux/src/utils/warning.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
+++ node_modules/redux/src/utils/warning.ts	(revision a762898ecd37a452c782821d4c2c4955c6ed2521)
@@ -0,0 +1,18 @@
+/**
+ * Prints a warning in the console if it exists.
+ *
+ * @param message The warning message.
+ */
+export default function warning(message: string): void {
+  /* eslint-disable no-console */
+  if (typeof console !== 'undefined' && typeof console.error === 'function') {
+    console.error(message)
+  }
+  /* eslint-enable no-console */
+  try {
+    // This error was thrown as a convenience so that if you enable
+    // "break on all exceptions" in your console,
+    // it would pause the execution at this line.
+    throw new Error(message)
+  } catch (e) {} // eslint-disable-line no-empty
+}
