input: Write a function named pluck_node which takes an array of non-negative integers representing a branch in a tree. The function should extract the node with the smallest even value and return it. If there are multiple nodes with the same smallest even value, return the node with the smallest index.
  
  The function should output a list [smallest_value, its index]. If the array is empty or contains no even values, return an empty list.
  
  Example 1:
      Input: [4,2,3]
      Output: [2, 1]
      Explanation: 2 is the smallest even value, and it has the smallest index.
  
  Example 2:
      Input: [1,2,3]
      Output: [2, 1]
      Explanation: 2 is the smallest even value, and it has the smallest index.
  
  Example 3:
      Input: []
      Output: []
  
  Example 4:
      Input: [5, 0, 3, 0, 4, 2]
      Output: [0, 1]
      Explanation: 0 is the smallest value, but there are two zeros, so we select the first zero, which has the smallest index.
  
  Constraints:
      * 1 <= nodes.length <= 10000
      * 0 <= node.value
output: def pluck_node(nodes):
      min_even = float('inf')
      min_index = -1
      for index, value in enumerate(nodes):
          if value % 2 == 0 and (value < min_even or (value == min_even and index < min_index)):
              min_even = value
              min_index = index
      return [min_even, min_index] if min_index != -1 else []