code: def update_mapping(mapping: Dict[ops.Qid, LogicalIndex],
                     operations: ops.OP_TREE
                     ) -> None:
      
      for op in ops.flatten_op_tree(operations):
          if (isinstance(op, ops.GateOperation) and
              isinstance(op.gate, PermutationGate)):
              op.gate.update_mapping(mapping, op.qubits)
docs: Updates a mapping (in place) from qubits to logical indices according to
      a set of permutation gates. Any gates other than permutation gates are
      ignored.
  
      Args:
          mapping: The mapping to update.
          operations: The operations to update according to.